1 // Name : SketchAPI_Mirror.h
5 // 16/06/16 - Sergey POKHODENKO - Creation of the file
7 #ifndef SRC_SKETCHAPI_SKETCHAPI_MIRROR_H_
8 #define SRC_SKETCHAPI_SKETCHAPI_MIRROR_H_
10 //--------------------------------------------------------------------------------------
11 #include "SketchAPI.h"
15 #include <SketchPlugin_ConstraintMirror.h>
17 #include <ModelHighAPI_Interface.h>
18 #include <ModelHighAPI_Macro.h>
19 //--------------------------------------------------------------------------------------
20 class ModelAPI_Object;
21 class ModelHighAPI_RefAttr;
22 //--------------------------------------------------------------------------------------
23 /**\class SketchAPI_Mirror
25 * \brief Interface for Mirror feature
27 class SketchAPI_Mirror : public ModelHighAPI_Interface
30 /// Constructor without values
32 explicit SketchAPI_Mirror(const std::shared_ptr<ModelAPI_Feature> & theFeature);
33 /// Constructor with values
35 SketchAPI_Mirror(const std::shared_ptr<ModelAPI_Feature> & theFeature,
36 const ModelHighAPI_RefAttr & theMirrorLine,
37 const std::list<std::shared_ptr<ModelAPI_Object> > & theObjects);
40 virtual ~SketchAPI_Mirror();
42 INTERFACE_4(SketchPlugin_ConstraintMirror::ID(),
43 mirrorLine, SketchPlugin_ConstraintMirror::ENTITY_A(), ModelAPI_AttributeRefAttr, /** Mirror line */,
44 mirrorList, SketchPlugin_ConstraintMirror::MIRROR_LIST_ID(), ModelAPI_AttributeRefList, /** Mirror list */,
45 referenceObjects, SketchPlugin_ConstraintMirror::ENTITY_B(), ModelAPI_AttributeRefList, /** Reference objects */,
46 mirroredObjects, SketchPlugin_ConstraintMirror::ENTITY_C(), ModelAPI_AttributeRefList, /** Mirrored objects */
49 /// List of mirrored objects
51 std::list<std::shared_ptr<ModelHighAPI_Interface> > mirrored() const;
53 /// Dump wrapped feature
54 virtual void dump(ModelHighAPI_Dumper& theDumper) const;
57 //! Pointer on Mirror object
58 typedef std::shared_ptr<SketchAPI_Mirror> MirrorPtr;
60 //--------------------------------------------------------------------------------------
61 //--------------------------------------------------------------------------------------
62 #endif /* SRC_SKETCHAPI_SKETCHAPI_MIRROR_H_ */