1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2 // Name : SketchAPI_Mirror.h
6 // 16/06/16 - Sergey POKHODENKO - Creation of the file
8 #ifndef SRC_SKETCHAPI_SKETCHAPI_MIRROR_H_
9 #define SRC_SKETCHAPI_SKETCHAPI_MIRROR_H_
11 //--------------------------------------------------------------------------------------
12 #include "SketchAPI.h"
16 #include <SketchPlugin_ConstraintMirror.h>
18 #include <ModelHighAPI_Interface.h>
19 #include <ModelHighAPI_Macro.h>
20 //--------------------------------------------------------------------------------------
21 class ModelAPI_Object;
22 class ModelHighAPI_RefAttr;
23 //--------------------------------------------------------------------------------------
24 /**\class SketchAPI_Mirror
26 * \brief Interface for Mirror feature
28 class SketchAPI_Mirror : public ModelHighAPI_Interface
31 /// Constructor without values
33 explicit SketchAPI_Mirror(const std::shared_ptr<ModelAPI_Feature> & theFeature);
34 /// Constructor with values
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);
41 virtual ~SketchAPI_Mirror();
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 */
54 /// List of mirrored objects
56 std::list<std::shared_ptr<ModelHighAPI_Interface> > mirrored() const;
58 /// Dump wrapped feature
59 virtual void dump(ModelHighAPI_Dumper& theDumper) const;
62 //! Pointer on Mirror object
63 typedef std::shared_ptr<SketchAPI_Mirror> MirrorPtr;
65 //--------------------------------------------------------------------------------------
66 //--------------------------------------------------------------------------------------
67 #endif /* SRC_SKETCHAPI_SKETCHAPI_MIRROR_H_ */