fixes #0002633 - body disappear if dragged out of Part container

This commit is contained in:
Sergo
2016-12-03 23:16:42 -05:00
committed by wmayer
parent 12137b0f59
commit 6fdecb93de
2 changed files with 28 additions and 0 deletions

View File

@@ -62,6 +62,7 @@
#include "View3DInventorViewer.h"
#include "BitmapFactory.h"
#include "ViewProviderDocumentObject.h"
#include "ViewProviderDocumentObjectGroup.h"
#include "Selection.h"
#include "WaitCursor.h"
#include "Thumbnail.h"
@@ -1476,5 +1477,22 @@ void Document::handleChildren3D(ViewProvider* viewProvider)
}
}
}
} else if (viewProvider && viewProvider->isDerivedFrom(ViewProviderDocumentObjectGroup::getClassTypeId())) {
ViewProviderDocumentObject* vp = static_cast<ViewProviderDocumentObject *>(viewProvider);
auto* ext = vp->getObject()->getExtensionByType<App::GroupExtension>();
std::vector<App::DocumentObject*> children = ext->getObjects();
for (auto& child : children) {
ViewProvider* ChildViewProvider = getViewProvider(child);
if (ChildViewProvider) {
for (BaseView* view : d->baseViews) {
View3DInventor *activeView = dynamic_cast<View3DInventor *>(view);
if (activeView && !activeView->getViewer()->hasViewProvider(ChildViewProvider)) {
activeView->getViewer()->addViewProvider(ChildViewProvider);
}
}
}
}
}
}