Salome HOME
Union of validator and filter functionalities.
[modules/shaper.git] / src / SketcherPrs / SketcherPrs_Factory.h
index 6e61853e93a30171cd83449902d387853e2d6697..1d3f7335d66145c103603ffdf02b106e94f293f4 100644 (file)
 
 class SketchPlugin_Constraint;
 
+#define GET_CONSTRAINT_PRS(NAME) \
+  static AISObjectPtr NAME(SketchPlugin_Constraint* theConstraint, \
+                           const std::shared_ptr<GeomAPI_Ax3>& thePlane); \
+
+
 /**
 * Class which creates constraints presentations
 */
@@ -23,26 +28,42 @@ public:
   /// 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
   /// \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
+  GET_CONSTRAINT_PRS(perpendicularConstraint)
+
+  /// Creates coincedent perpendicular presentation
+  /// \param theConstraint the constraint
+  /// \param thePlane the current sketch plane
+  GET_CONSTRAINT_PRS(rigidConstraint)
+
+  /// Creates coincedent perpendicular presentation
+  /// \param theConstraint the constraint
+  /// \param thePlane the current sketch plane
+  GET_CONSTRAINT_PRS(horisontalConstraint)
+
+  /// Creates coincedent perpendicular presentation
+  /// \param theConstraint the constraint
+  /// \param thePlane the current sketch plane
+  GET_CONSTRAINT_PRS(verticalConstraint)
 
   /// 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(equalConstraint)
 
   /// Creates coincedent perpendicular 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(tangentConstraint)
 };
 
 #endif