Salome HOME
Merge branch 'Dev_1.1.0' of newgeom:newgeom into Dev_1.1.0
[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 /**
18 * Class which creates constraints presentations
19 */
20 class SKETCHERPRS_EXPORT SketcherPrs_Factory
21 {
22 public:
23   /// Creates coincedent constraint presentation
24   /// \param theConstraint the constraint
25   /// \param thePlane the current sketch plane
26   static AISObjectPtr coincidentConstraint(SketchPlugin_Constraint* theConstraint, 
27                                            const std::shared_ptr<GeomAPI_Ax3>& thePlane);
28
29   /// Creates coincedent parallel presentation
30   /// \param theConstraint the constraint
31   /// \param thePlane the current sketch plane
32   static AISObjectPtr parallelConstraint(SketchPlugin_Constraint* theConstraint, 
33                                          const std::shared_ptr<GeomAPI_Ax3>& thePlane);
34
35   /// Creates coincedent perpendicular presentation
36   /// \param theConstraint the constraint
37   /// \param thePlane the current sketch plane
38   static AISObjectPtr perpendicularConstraint(SketchPlugin_Constraint* theConstraint, 
39                                          const std::shared_ptr<GeomAPI_Ax3>& thePlane);
40 };
41
42 #endif