Salome HOME
Update classes documentation
[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 <ModelAPI_Feature.h>
13
14 #include <GeomAPI_Ax3.h>
15 #include <GeomAPI_AISObject.h>
16
17 #define GET_CONSTRAINT_PRS(NAME) \
18   static AISObjectPtr NAME(ModelAPI_Feature* theConstraint, \
19                            const std::shared_ptr<GeomAPI_Ax3>& thePlane, \
20                            AISObjectPtr thePrevious);
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   /// \param thePrevious the previous presentation
32   GET_CONSTRAINT_PRS(coincidentConstraint)
33
34   /// Creates collinear constraint presentation
35   /// \param theConstraint the constraint
36   /// \param thePlane the current sketch plane
37   /// \param thePrevious the previous presentation
38   GET_CONSTRAINT_PRS(collinearConstraint)
39
40   /// Creates parallel constraint presentation
41   /// \param theConstraint the constraint
42   /// \param thePlane the current sketch plane
43   /// \param thePrevious the previous presentation
44   GET_CONSTRAINT_PRS(parallelConstraint)
45
46   /// Creates coincedent perpendicular presentation
47   /// \param theConstraint the constraint
48   /// \param thePlane the current sketch plane
49   /// \param thePrevious the previous presentation
50   GET_CONSTRAINT_PRS(perpendicularConstraint)
51
52   /// Creates rigid constraint presentation
53   /// \param theConstraint the constraint
54   /// \param thePlane the current sketch plane
55   /// \param thePrevious the previous presentation
56   GET_CONSTRAINT_PRS(rigidConstraint)
57
58   /// Creates horizontal constraint presentation
59   /// \param theConstraint the constraint
60   /// \param thePlane the current sketch plane
61   /// \param thePrevious the previous presentation
62   GET_CONSTRAINT_PRS(horisontalConstraint)
63
64   /// Creates vertical constraint presentation
65   /// \param theConstraint the constraint
66   /// \param thePlane the current sketch plane
67   /// \param thePrevious the previous presentation
68   GET_CONSTRAINT_PRS(verticalConstraint)
69
70   /// Creates equal constraint presentation
71   /// \param theConstraint the constraint
72   /// \param thePlane the current sketch plane
73   /// \param thePrevious the previous presentation
74   GET_CONSTRAINT_PRS(equalConstraint)
75
76   /// Creates tangent constraiont presentation
77   /// \param theConstraint the constraint
78   /// \param thePlane the current sketch plane
79   /// \param thePrevious the previous presentation
80   GET_CONSTRAINT_PRS(tangentConstraint)
81
82   /// Creates radius dimension presentation
83   /// \param theConstraint the constraint
84   /// \param thePlane the current sketch plane
85   /// \param thePrevious the previous presentation
86   GET_CONSTRAINT_PRS(radiusConstraint)
87
88   /// Creates length dimension presentation
89   /// \param theConstraint the constraint
90   /// \param thePlane the current sketch plane
91   /// \param thePrevious the previous presentation
92   GET_CONSTRAINT_PRS(lengthDimensionConstraint)
93
94   /// Creates middle constraint presentation
95   /// \param theConstraint the constraint
96   /// \param thePlane the current sketch plane
97   /// \param thePrevious the previous presentation
98   GET_CONSTRAINT_PRS(middleConstraint)
99
100   /// Creates mirror constraint presentation
101   /// \param theConstraint the constraint
102   /// \param thePlane the current sketch plane
103   /// \param thePrevious the previous presentation
104   GET_CONSTRAINT_PRS(mirrorConstraint)
105
106   /// Creates translate constraint presentation
107   /// \param theConstraint the constraint
108   /// \param thePlane the current sketch plane
109   /// \param thePrevious the previous presentation
110   GET_CONSTRAINT_PRS(translateConstraint)
111
112   /// Creates rotate constraint presentation
113   /// \param theConstraint the constraint
114   /// \param thePlane the current sketch plane
115   /// \param thePrevious the previous presentation
116   GET_CONSTRAINT_PRS(rotateConstraint)
117
118   /// Creates angle constraint presentation
119   /// \param theConstraint the constraint
120   /// \param thePlane the current sketch plane
121   /// \param thePrevious the previous presentation
122   GET_CONSTRAINT_PRS(angleConstraint)
123 };
124
125 #endif