void MeshFillHole::startEditing(MeshGui::ViewProviderMesh* vp) { this->myMesh = static_cast<Mesh::Feature*>(vp->getObject()); Gui::View3DInventor* view = static_cast<Gui::View3DInventor*>(parent()); Gui::View3DInventorViewer* viewer = view->getViewer(); viewer->setEditing(true); //viewer->setRedirectToSceneGraph(true); viewer->addEventCallback(SoEvent::getClassTypeId(), MeshFillHole::fileHoleCallback, this); myConnection = App::GetApplication().signalChangedObject.connect( boost::bind(&MeshFillHole::slotChangedObject, this, _1, _2)); myBoundariesRoot->removeAllChildren(); myBoundariesRoot->addChild(viewer->getHeadlight()); myBoundariesRoot->addChild(viewer->getCamera()); myBoundariesRoot->addChild(myBoundariesGroup); myBoundaryRoot->removeAllChildren(); myBoundaryRoot->addChild(viewer->getHeadlight()); myBoundaryRoot->addChild(viewer->getCamera()); createPolygons(); static_cast<SoGroup*>(viewer->getSceneGraph())->addChild(myBridgeRoot); }