Salome HOME
Make symbols of constraints with fixed distance
[modules/shaper.git] / src / SketcherPrs / SketcherPrs_Factory.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        SketcherPrs_Factory.h
4 // Created:     13 February 2015
5 // Author:      Vitaly SMETANNIKOV
6
7 #ifndef SketcherPrs_Factory_H_
8 #define SketcherPrs_Factory_H_
9
10 #include "SketcherPrs.h"
11
12 #include <GeomAPI_Ax3.h>
13 #include <GeomAPI_AISObject.h>
14
15 class SketchPlugin_Constraint;
16
17 #define GET_CONSTRAINT_PRS(NAME) \
18   static AISObjectPtr NAME(SketchPlugin_Constraint* theConstraint, \
19                            const std::shared_ptr<GeomAPI_Ax3>& thePlane);
20
21
22 /**
23 * Class which creates constraints presentations
24 */
25 class SKETCHERPRS_EXPORT SketcherPrs_Factory
26 {
27 public:
28   /// Creates coincedent constraint presentation
29   /// \param theConstraint the constraint
30   /// \param thePlane the current sketch plane
31   GET_CONSTRAINT_PRS(coincidentConstraint)
32
33   /// Creates coincedent parallel presentation
34   /// \param theConstraint the constraint
35   /// \param thePlane the current sketch plane
36   GET_CONSTRAINT_PRS(parallelConstraint)
37
38   /// Creates coincedent perpendicular presentation
39   /// \param theConstraint the constraint
40   /// \param thePlane the current sketch plane
41   GET_CONSTRAINT_PRS(perpendicularConstraint)
42
43   /// Creates coincedent perpendicular presentation
44   /// \param theConstraint the constraint
45   /// \param thePlane the current sketch plane
46   GET_CONSTRAINT_PRS(rigidConstraint)
47
48   /// Creates coincedent perpendicular presentation
49   /// \param theConstraint the constraint
50   /// \param thePlane the current sketch plane
51   GET_CONSTRAINT_PRS(horisontalConstraint)
52
53   /// Creates coincedent perpendicular presentation
54   /// \param theConstraint the constraint
55   /// \param thePlane the current sketch plane
56   GET_CONSTRAINT_PRS(verticalConstraint)
57
58   /// Creates coincedent perpendicular presentation
59   /// \param theConstraint the constraint
60   /// \param thePlane the current sketch plane
61   GET_CONSTRAINT_PRS(equalConstraint)
62
63   /// Creates coincedent perpendicular presentation
64   /// \param theConstraint the constraint
65   /// \param thePlane the current sketch plane
66   GET_CONSTRAINT_PRS(tangentConstraint)
67 };
68
69 #endif