#include <ModuleBase_FilterMulti.h>
#include <ModuleBase_FilterCustom.h>
#include <ModuleBase_FilterNoConsructionSubShapes.h>
-#include <ModuleBase_ValidatorLinearEdge.h>
-#include <ModuleBase_ValidatorLinearEdgeOrVertex.h>
-#include <ModuleBase_ValidatorFace.h>
-#include <ModuleBase_ValidatorNoConstructionSubShapes.h>
+#include <GeomValidators_Edge.h>
+#include <GeomValidators_EdgeOrVertex.h>
+#include <GeomValidators_Face.h>
+#include <GeomValidators_ConstructionComposite.h>
#include <PartSet_FilterSketchEntity.h>
#include <TopoDS.hxx>
#include <TopoDS_Shape.hxx>
#include <BRep_Tool.hxx>
+#include <AIS_Dimension.hxx>
#include <QObject>
#include <QMouseEvent>
PartSet_Module::PartSet_Module(ModuleBase_IWorkshop* theWshop)
: ModuleBase_IModule(theWshop),
- myRestartingMode(RM_None)
+ myRestartingMode(RM_None), myVisualLayerId(0)
{
//myWorkshop = dynamic_cast<XGUI_Workshop*>(theWshop);
mySketchMgr = new PartSet_SketcherMgr(this);
aFactory->registerValidator("PartSet_RigidValidator", new PartSet_RigidValidator);
aFactory->registerValidator("PartSet_DifferentObjects", new PartSet_DifferentObjectsValidator);
aFactory->registerValidator("PartSet_DifferentShapes", new ModelAPI_ShapeValidator);
- aFactory->registerValidator("PartSet_SketchValidator", new PartSet_SketchValidator);
- aFactory->registerValidator("ModuleBase_ValidatorLinearEdge", new ModuleBase_ValidatorLinearEdge);
- aFactory->registerValidator("ModuleBase_ValidatorLinearEdgeOrVertex",
- new ModuleBase_ValidatorLinearEdgeOrVertex);
- aFactory->registerValidator("ModuleBase_ValidatorFace", new ModuleBase_ValidatorFace);
+ aFactory->registerValidator("GeomValidators_Edge", new GeomValidators_Edge);
+ aFactory->registerValidator("GeomValidators_EdgeOrVertex",
+ new GeomValidators_EdgeOrVertex);
+ aFactory->registerValidator("GeomValidators_Face", new GeomValidators_Face);
- aFactory->registerValidator("ModuleBase_ValidatorNoConstructionSubShapes",
- new ModuleBase_ValidatorNoConstructionSubShapes);
+ aFactory->registerValidator("GeomValidators_ConstructionComposite",
+ new GeomValidators_ConstructionComposite);
+
+ aFactory->registerValidator("PartSet_SketchEntityValidator",
+ new PartSet_SketchEntityValidator);
+
+ aFactory->registerValidator("PartSet_SameTypeAttr",
+ new PartSet_SameTypeAttrValidator);
}
void PartSet_Module::registerFilters()
XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(workshop());
ModuleBase_FilterFactory* aFactory = aConnector->selectionFilters();
- aFactory->registerFilter("EdgeFilter", new ModuleBase_FilterLinearEdge);
- aFactory->registerFilter("FaceFilter", new ModuleBase_FilterFace);
- aFactory->registerFilter("MultiFilter", new ModuleBase_FilterMulti);
- Handle(SelectMgr_Filter) aSelectFilter = new ModuleBase_FilterNoConsructionSubShapes(workshop());
- aFactory->registerFilter("NoConstructionSubShapesFilter",
- new ModuleBase_FilterCustom(aSelectFilter));
- aSelectFilter = new PartSet_FilterSketchEntity(workshop());
- aFactory->registerFilter("SketchEntityFilter", new ModuleBase_FilterCustom(aSelectFilter));
+ //aFactory->registerFilter("EdgeFilter", new ModuleBase_FilterLinearEdge);
+ //aFactory->registerFilter("FaceFilter", new ModuleBase_FilterFace);
+ //aFactory->registerFilter("MultiFilter", new ModuleBase_FilterMulti);
+ //Handle(SelectMgr_Filter) aSelectFilter = new ModuleBase_FilterNoConsructionSubShapes(workshop());
+ //aFactory->registerFilter("NoConstructionSubShapesFilter",
+ // new ModuleBase_FilterCustom(aSelectFilter));
+ //Handle(SelectMgr_Filter) aSelectFilter = new PartSet_FilterSketchEntity(workshop());
+ //aFactory->registerFilter("SketchEntityFilter", new ModuleBase_FilterCustom(aSelectFilter));
}
void PartSet_Module::registerProperties()
void PartSet_Module::operationStarted(ModuleBase_Operation* theOperation)
{
if (PartSet_SketcherMgr::isSketchOperation(theOperation)) {
+ Handle(V3d_Viewer) aViewer = myWorkshop->viewer()->AISContext()->CurrentViewer();
+ aViewer->AddZLayer(myVisualLayerId);
mySketchMgr->startSketch(theOperation);
}
else if (PartSet_SketcherMgr::isNestedSketchOperation(theOperation)) {
{
if (PartSet_SketcherMgr::isSketchOperation(theOperation)) {
mySketchMgr->stopSketch(theOperation);
+ Handle(V3d_Viewer) aViewer = myWorkshop->viewer()->AISContext()->CurrentViewer();
+ aViewer->RemoveZLayer(myVisualLayerId);
+ myVisualLayerId = 0;
}
else if (PartSet_SketcherMgr::isNestedSketchOperation(theOperation)) {
mySketchMgr->stopNestedSketch(theOperation);
return true;
}
+
+
+void PartSet_Module::onObjectDisplayed(ObjectPtr theObject, AISObjectPtr theAIS)
+{
+ Handle(AIS_InteractiveObject) anAIS = theAIS->impl<Handle(AIS_InteractiveObject)>();
+ if (!anAIS.IsNull()) {
+ Handle(AIS_Dimension) aDim = Handle(AIS_Dimension)::DownCast(anAIS);
+ if (!aDim.IsNull()) {
+ Handle(AIS_InteractiveContext) aCtx = anAIS->GetContext();
+ aCtx->SetZLayer(aDim, myVisualLayerId);
+ }
+ }
+}
+