ModuleBase_Operation* anOperation = myWorkshop->operationMgr()->currentOperation();
PartSet_OperationSketchBase* aPreviewOp = dynamic_cast<PartSet_OperationSketchBase*>(anOperation);
- if (aPreviewOp)
+ if (aPreviewOp) {
visualizePreview(true);
+ connect(aPreviewOp, SIGNAL(viewerProjectionChange(double, double, double)),
+ this, SLOT(onViewerProjectionChange(double, double, double)));
+ }
}
void PartSet_Module::onOperationStopped(ModuleBase_Operation* theOperation)
if (aPreviewOp) {
XGUI_Viewer* aViewer = myWorkshop->mainWindow()->viewer();
if (aViewer) {
- AIS_ListOfInteractive aList;
- aViewer->getSelectedObjects(aList);
- aPreviewOp->setSelectedObjects(aList);
+ NCollection_List<TopoDS_Shape> aList;
+ aViewer->getSelectedShapes(aList);
+ aPreviewOp->setSelectedShapes(aList);
}
}
}
+void PartSet_Module::onViewerProjectionChange(double theX, double theY, double theZ)
+{
+ XGUI_Viewer* aViewer = myWorkshop->mainWindow()->viewer();
+ if (aViewer) {
+ aViewer->setViewProjection(theX, theY, theZ);
+ }
+}
+
void PartSet_Module::visualizePreview(bool isDisplay)
{
ModuleBase_Operation* anOperation = myWorkshop->operationMgr()->currentOperation();
}
else {
myWorkshop->displayer()->GlobalSelection(false);
- myWorkshop->displayer()->Erase(anOperation->feature(), aPreviewOp->preview());
+ myWorkshop->displayer()->Erase(anOperation->feature());
}
}