fixes #0002633 - body disappear if dragged out of Part container
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user