diff --git a/src/Gui/View3DInventorViewer.cpp b/src/Gui/View3DInventorViewer.cpp index 6e17e1d72..6a0b733c5 100644 --- a/src/Gui/View3DInventorViewer.cpp +++ b/src/Gui/View3DInventorViewer.cpp @@ -104,6 +104,7 @@ #include "SoFCVectorizeU3DAction.h" #include "SoFCVectorizeSVGAction.h" #include "SoFCDB.h" +#include "Application.h" #include "MainWindow.h" #include "NavigationStyle.h" #include "ViewProvider.h" @@ -1447,6 +1448,7 @@ void View3DInventorViewer::viewAll(float factor) void View3DInventorViewer::viewSelection() { +#if 0 // Search for all SoFCSelection nodes SoSearchAction searchAction; searchAction.setType(SoFCSelection::getClassTypeId()); @@ -1472,6 +1474,18 @@ void View3DInventorViewer::viewSelection() root->addChild(select); } } +#else + SoGroup* root = new SoGroup(); + root->ref(); + + std::vector selection = Selection().getObjectsOfType(App::DocumentObject::getClassTypeId()); + for (std::vector::iterator it = selection.begin(); it != selection.end(); ++it) { + ViewProvider* vp = Application::Instance->getViewProvider(*it); + if (vp) { + root->addChild(vp->getRoot()); + } + } +#endif SoCamera* cam = this->getCamera(); if (cam) cam->viewAll(root, this->getViewportRegion());