#include "SketcherPrs.h"
+#include <ModelAPI_Feature.h>
+
#include <GeomAPI_Ax3.h>
#include <GeomAPI_AISObject.h>
-class SketchPlugin_Constraint;
+#define GET_CONSTRAINT_PRS(NAME) \
+ static AISObjectPtr NAME(ModelAPI_Feature* theConstraint, \
+ const std::shared_ptr<GeomAPI_Ax3>& thePlane);
+
/**
* Class which creates constraints presentations
/// Creates coincedent constraint presentation
/// \param theConstraint the constraint
/// \param thePlane the current sketch plane
- static AISObjectPtr coincidentConstraint(SketchPlugin_Constraint* theConstraint,
- const std::shared_ptr<GeomAPI_Ax3>& thePlane);
+ GET_CONSTRAINT_PRS(coincidentConstraint)
- /// Creates coincedent parallel presentation
+ /// Creates parallel constraint presentation
/// \param theConstraint the constraint
/// \param thePlane the current sketch plane
- static AISObjectPtr parallelConstraint(SketchPlugin_Constraint* theConstraint,
- const std::shared_ptr<GeomAPI_Ax3>& thePlane);
+ GET_CONSTRAINT_PRS(parallelConstraint)
/// Creates coincedent perpendicular presentation
/// \param theConstraint the constraint
/// \param thePlane the current sketch plane
- static AISObjectPtr perpendicularConstraint(SketchPlugin_Constraint* theConstraint,
- const std::shared_ptr<GeomAPI_Ax3>& thePlane);
+ GET_CONSTRAINT_PRS(perpendicularConstraint)
- /// Creates coincedent perpendicular presentation
+ /// Creates rigid constraint presentation
+ /// \param theConstraint the constraint
+ /// \param thePlane the current sketch plane
+ GET_CONSTRAINT_PRS(rigidConstraint)
+
+ /// Creates horizontal constraint presentation
+ /// \param theConstraint the constraint
+ /// \param thePlane the current sketch plane
+ GET_CONSTRAINT_PRS(horisontalConstraint)
+
+ /// Creates vertical constraint presentation
+ /// \param theConstraint the constraint
+ /// \param thePlane the current sketch plane
+ GET_CONSTRAINT_PRS(verticalConstraint)
+
+ /// Creates equal constraint presentation
+ /// \param theConstraint the constraint
+ /// \param thePlane the current sketch plane
+ GET_CONSTRAINT_PRS(equalConstraint)
+
+ /// Creates tangent constraiont presentation
+ /// \param theConstraint the constraint
+ /// \param thePlane the current sketch plane
+ GET_CONSTRAINT_PRS(tangentConstraint)
+
+ /// Creates radius dimension presentation
+ /// \param theConstraint the constraint
+ /// \param thePlane the current sketch plane
+ GET_CONSTRAINT_PRS(radiusConstraint)
+
+ /// Creates length dimension presentation
+ /// \param theConstraint the constraint
+ /// \param thePlane the current sketch plane
+ GET_CONSTRAINT_PRS(lengthDimensionConstraint)
+
+ /// Creates mirror constraint presentation
+ /// \param theConstraint the constraint
+ /// \param thePlane the current sketch plane
+ GET_CONSTRAINT_PRS(mirrorConstraint)
+
+ /// Creates translate constraint presentation
+ /// \param theConstraint the constraint
+ /// \param thePlane the current sketch plane
+ GET_CONSTRAINT_PRS(translateConstraint)
+
+ /// Creates rotate constraint presentation
/// \param theConstraint the constraint
/// \param thePlane the current sketch plane
- static AISObjectPtr rigidConstraint(SketchPlugin_Constraint* theConstraint,
- const std::shared_ptr<GeomAPI_Ax3>& thePlane);
+ GET_CONSTRAINT_PRS(rotateConstraint)
};
#endif