#include <ModelAPI_Session.h>
#include <ModelAPI_ShapeValidator.h>
#include <ModelAPI_ResultBody.h>
-#include <ModelAPI_ResultCompSolid.h>
#include <GeomDataAPI_Point2D.h>
#include <GeomDataAPI_Point.h>
#include <SketchPlugin_Arc.h>
#include <SketchPlugin_Circle.h>
#include <SketchPlugin_Point.h>
+#include <SketchPlugin_ConstraintAngle.h>
#include <SketchPlugin_ConstraintLength.h>
#include <SketchPlugin_ConstraintDistance.h>
#include <SketchPlugin_ConstraintParallel.h>
#include <QDebug>
#endif
-//#define DEBUG_COMPOSOLID
-
-
/*!Create and return new instance of XGUI_Module*/
extern "C" PARTSET_EXPORT ModuleBase_IModule* createModule(ModuleBase_IWorkshop* theWshop)
{
aFactory->registerValidator("PartSet_HVDirSelection", new PartSet_HVDirSelection);
aFactory->registerValidator("PartSet_TangentSelection", new PartSet_TangentSelection);
aFactory->registerValidator("PartSet_FilletSelection", new PartSet_FilletSelection);
+ aFactory->registerValidator("PartSet_AngleSelection", new PartSet_AngleSelection);
aFactory->registerValidator("PartSet_DifferentObjects", new PartSet_DifferentObjectsValidator);
aFactory->registerValidator("PartSet_DifferentShapes", new ModelAPI_ShapeValidator);
bool PartSet_Module::canDisplayObject(const ObjectPtr& theObject) const
{
-#ifdef DEBUG_COMPOSOLID
- ResultCompSolidPtr aCompSolid = std::dynamic_pointer_cast<ModelAPI_ResultCompSolid>
- (theObject);
- if (aCompSolid.get() && aCompSolid->numberOfSubs() > 0)
- return false;
-#endif
-
// the sketch manager put the restriction to the objects display
return mySketchMgr->canDisplayObject(theObject);
}
std::string aId = aFeature->getKind();
if ((aId == SketchPlugin_ConstraintRadius::ID()) ||
(aId == SketchPlugin_ConstraintLength::ID()) ||
- (aId == SketchPlugin_ConstraintDistance::ID())) {
+ (aId == SketchPlugin_ConstraintDistance::ID()) ||
+ (aId == SketchPlugin_ConstraintAngle::ID())) {
editFeature(aFeature);
}
}
}
}
+void PartSet_Module::onBeforeObjectErase(ObjectPtr theObject, AISObjectPtr theAIS)
+{
+ // it should be recomputed in order to disappear in the viewer if the corresponded object
+ // is erased
+ if (myCustomPrs->isActive())
+ myCustomPrs->customize(theObject);
+}
+
void PartSet_Module::onViewTransformed(int theTrsfType)
{
// Set length of arrows constant in pixel size