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"
13 #include "SketchAPI_SketchEntity.h"
17 #include <SketchPlugin_ConstraintMirror.h>
19 #include <ModelHighAPI_Interface.h>
20 #include <ModelHighAPI_Macro.h>
21 //--------------------------------------------------------------------------------------
22 class ModelAPI_Object;
23 class ModelHighAPI_RefAttr;
24 //--------------------------------------------------------------------------------------
25 /**\class SketchAPI_Mirror
27 * \brief Interface for Mirror feature
29 class SketchAPI_Mirror : public ModelHighAPI_Interface
32 /// Constructor without values
34 explicit SketchAPI_Mirror(const std::shared_ptr<ModelAPI_Feature> & theFeature);
35 /// Constructor with values
37 SketchAPI_Mirror(const std::shared_ptr<ModelAPI_Feature> & theFeature,
38 const ModelHighAPI_RefAttr & theMirrorLine,
39 const std::list<std::shared_ptr<ModelAPI_Object> > & theObjects);
42 virtual ~SketchAPI_Mirror();
44 INTERFACE_4(SketchPlugin_ConstraintMirror::ID(),
45 mirrorLine, SketchPlugin_ConstraintMirror::ENTITY_A(),
46 ModelAPI_AttributeRefAttr, /** Mirror line */,
47 mirrorList, SketchPlugin_ConstraintMirror::MIRROR_LIST_ID(),
48 ModelAPI_AttributeRefList, /** Mirror list */,
49 referenceObjects, SketchPlugin_ConstraintMirror::ENTITY_B(),
50 ModelAPI_AttributeRefList, /** Reference objects */,
51 mirroredObjects, SketchPlugin_ConstraintMirror::ENTITY_C(),
52 ModelAPI_AttributeRefList, /** Mirrored objects */
55 /// List of mirrored objects
57 std::list<std::shared_ptr<SketchAPI_SketchEntity> > mirrored() const;
59 /// Dump wrapped feature
60 virtual void dump(ModelHighAPI_Dumper& theDumper) const;
63 //! Pointer on Mirror object
64 typedef std::shared_ptr<SketchAPI_Mirror> MirrorPtr;
66 //--------------------------------------------------------------------------------------
67 //--------------------------------------------------------------------------------------
68 #endif /* SRC_SKETCHAPI_SKETCHAPI_MIRROR_H_ */