]> SALOME platform Git repositories - modules/shaper.git/blob - src/PartSet/PartSet_Presentation.h
Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / PartSet / PartSet_Presentation.h
1 // File:        PartSet_Presentation.h
2 // Created:     02 Jun 2014
3 // Author:      Natalia ERMOLAEVA
4
5 #ifndef PartSet_Presentation_H
6 #define PartSet_Presentation_H
7
8 #include "PartSet.h"
9
10 #include <TopoDS_Shape.hxx>
11
12 #include <boost/shared_ptr.hpp>
13
14 class ModelAPI_Feature;
15 class Handle_AIS_InteractiveObject;
16
17 /*!
18  \class PartSet_Presentation
19  * \brief The operation for the sketch feature creation
20 */
21 class PARTSET_EXPORT PartSet_Presentation
22 {
23 public:
24   /// Creates AIS presentation for the given feature
25   /// \param theFeature a feature
26   /// \return the presentation
27   static Handle_AIS_InteractiveObject createPresentation(
28                                               boost::shared_ptr<ModelAPI_Feature> theFeature,
29                                               boost::shared_ptr<ModelAPI_Feature> theSketch,
30                                               const TopoDS_Shape& theShape,
31                                               Handle_AIS_InteractiveObject thePrevPrs);
32 protected:
33   static Handle_AIS_InteractiveObject createFeature(
34                                               boost::shared_ptr<ModelAPI_Feature> theFeature,
35                                               const TopoDS_Shape& theShape,
36                                               Handle_AIS_InteractiveObject thePrevPrs);
37
38   static Handle_AIS_InteractiveObject createSketchConstraintLength(
39                                               boost::shared_ptr<ModelAPI_Feature> theFeature,
40                                               boost::shared_ptr<ModelAPI_Feature> theSketch,
41                                               Handle_AIS_InteractiveObject thePrevPrs);
42 };
43
44 #endif