Salome HOME
Issue #1860: fix end lines with spaces
[modules/shaper.git] / src / SketchAPI / SketchAPI_Mirror.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2 // Name   : SketchAPI_Mirror.h
3 // Purpose:
4 //
5 // History:
6 // 16/06/16 - Sergey POKHODENKO - Creation of the file
7
8 #ifndef SRC_SKETCHAPI_SKETCHAPI_MIRROR_H_
9 #define SRC_SKETCHAPI_SKETCHAPI_MIRROR_H_
10
11 //--------------------------------------------------------------------------------------
12 #include "SketchAPI.h"
13
14 #include <list>
15
16 #include <SketchPlugin_ConstraintMirror.h>
17
18 #include <ModelHighAPI_Interface.h>
19 #include <ModelHighAPI_Macro.h>
20 //--------------------------------------------------------------------------------------
21 class ModelAPI_Object;
22 class ModelHighAPI_RefAttr;
23 //--------------------------------------------------------------------------------------
24 /**\class SketchAPI_Mirror
25  * \ingroup CPPHighAPI
26  * \brief Interface for Mirror feature
27  */
28 class SketchAPI_Mirror : public ModelHighAPI_Interface
29 {
30 public:
31   /// Constructor without values
32   SKETCHAPI_EXPORT
33   explicit SketchAPI_Mirror(const std::shared_ptr<ModelAPI_Feature> & theFeature);
34   /// Constructor with values
35   SKETCHAPI_EXPORT
36   SketchAPI_Mirror(const std::shared_ptr<ModelAPI_Feature> & theFeature,
37                    const ModelHighAPI_RefAttr & theMirrorLine,
38                    const std::list<std::shared_ptr<ModelAPI_Object> > & theObjects);
39   /// Destructor
40   SKETCHAPI_EXPORT
41   virtual ~SketchAPI_Mirror();
42
43   INTERFACE_4(SketchPlugin_ConstraintMirror::ID(),
44               mirrorLine, SketchPlugin_ConstraintMirror::ENTITY_A(),
45               ModelAPI_AttributeRefAttr, /** Mirror line */,
46               mirrorList, SketchPlugin_ConstraintMirror::MIRROR_LIST_ID(),
47               ModelAPI_AttributeRefList, /** Mirror list */,
48               referenceObjects, SketchPlugin_ConstraintMirror::ENTITY_B(),
49               ModelAPI_AttributeRefList, /** Reference objects */,
50               mirroredObjects, SketchPlugin_ConstraintMirror::ENTITY_C(),
51               ModelAPI_AttributeRefList, /** Mirrored objects */
52   )
53
54   /// List of mirrored objects
55   SKETCHAPI_EXPORT
56   std::list<std::shared_ptr<ModelHighAPI_Interface> > mirrored() const;
57
58   /// Dump wrapped feature
59   virtual void dump(ModelHighAPI_Dumper& theDumper) const;
60 };
61
62 //! Pointer on Mirror object
63 typedef std::shared_ptr<SketchAPI_Mirror> MirrorPtr;
64
65 //--------------------------------------------------------------------------------------
66 //--------------------------------------------------------------------------------------
67 #endif /* SRC_SKETCHAPI_SKETCHAPI_MIRROR_H_ */