1 // Name : SketchAPI_Projection.h
5 // 16/06/16 - Sergey POKHODENKO - Creation of the file
7 #ifndef SRC_SKETCHAPI_SKETCHAPI_PROJECTION_H_
8 #define SRC_SKETCHAPI_SKETCHAPI_PROJECTION_H_
10 //--------------------------------------------------------------------------------------
11 #include "SketchAPI.h"
13 #include <SketchPlugin_Projection.h>
15 #include "SketchAPI_SketchEntity.h"
16 //--------------------------------------------------------------------------------------
17 class ModelHighAPI_Selection;
18 //--------------------------------------------------------------------------------------
19 /**\class SketchAPI_Projection
21 * \brief Interface for Projection feature
23 class SketchAPI_Projection : public SketchAPI_SketchEntity
26 /// Constructor without values
28 explicit SketchAPI_Projection(const std::shared_ptr<ModelAPI_Feature> & theFeature);
29 /// Constructor with values
31 SketchAPI_Projection(const std::shared_ptr<ModelAPI_Feature> & theFeature,
32 const ModelHighAPI_Selection & theExternalFeature);
33 /// Constructor with values
35 SketchAPI_Projection(const std::shared_ptr<ModelAPI_Feature> & theFeature,
36 const std::string & theExternalName);
39 virtual ~SketchAPI_Projection();
41 INTERFACE_3(SketchPlugin_Projection::ID(),
42 externalFeature, SketchPlugin_Projection::EXTERNAL_FEATURE_ID(), ModelAPI_AttributeSelection, /** External feature */,
43 projectedFeature, SketchPlugin_Projection::PROJECTED_FEATURE_ID(), ModelAPI_AttributeRefAttr, /** Projected feature */,
44 external, SketchPlugin_Projection::EXTERNAL_ID(), ModelAPI_AttributeSelection, /** External */
47 /// Set external feature
49 void setExternalFeature(const ModelHighAPI_Selection & theExternalLine);
51 /// Set by external name
53 void setByExternalName(const std::string & theExternalName);
55 /// Returns created feature
57 std::shared_ptr<ModelHighAPI_Interface> createdFeature() const;
59 /// Dump wrapped feature
61 virtual void dump(ModelHighAPI_Dumper& theDumper) const;
64 //! Pointer on Projection object
65 typedef std::shared_ptr<SketchAPI_Projection> ProjectionPtr;
67 //--------------------------------------------------------------------------------------
68 //--------------------------------------------------------------------------------------
69 #endif /* SRC_SKETCHAPI_SKETCHAPI_PROJECTION_H_ */