1 // Name : ConstructionAPI_Point.h
5 // 29/03/16 - Sergey POKHODENKO - Creation of the file
7 #ifndef SRC_CONSTRUCTIONAPI_CONSTRUCTIONAPI_POINT_H_
8 #define SRC_CONSTRUCTIONAPI_CONSTRUCTIONAPI_POINT_H_
10 //--------------------------------------------------------------------------------------
11 #include "ConstructionAPI.h"
13 #include <ModelHighAPI_Interface.h>
14 //--------------------------------------------------------------------------------------
15 class ModelAPI_AttributeDouble;
16 class ModelAPI_Document;
17 class ModelHighAPI_Double;
18 //--------------------------------------------------------------------------------------
19 /**\class ConstructionAPI_Point
21 * \brief Interface for Point feature
23 class ConstructionAPI_Point : public ModelHighAPI_Interface
26 /// Constructor without values
27 explicit ConstructionAPI_Point(const std::shared_ptr<ModelAPI_Feature> & theFeature);
28 /// Constructor with values
29 ConstructionAPI_Point(const std::shared_ptr<ModelAPI_Feature> & theFeature,
30 const ModelHighAPI_Double & theX,
31 const ModelHighAPI_Double & theY,
32 const ModelHighAPI_Double & theZ);
34 virtual ~ConstructionAPI_Point();
37 void setPoint(const ModelHighAPI_Double & theX,
38 const ModelHighAPI_Double & theY,
39 const ModelHighAPI_Double & theZ);
42 std::shared_ptr<ModelAPI_AttributeDouble> x() const;
44 std::shared_ptr<ModelAPI_AttributeDouble> y() const;
46 std::shared_ptr<ModelAPI_AttributeDouble> z() const;
49 std::shared_ptr<ModelAPI_AttributeDouble> myX, myY, myZ;
54 //! Pointer on point object
55 typedef std::shared_ptr<ConstructionAPI_Point> PointPtr;
57 /**\ingroup CPPHighAPI
58 * \brief Create Point feature
60 PointPtr addPoint(const std::shared_ptr<ModelAPI_Document> & thePart,
61 const ModelHighAPI_Double & theX,
62 const ModelHighAPI_Double & theY,
63 const ModelHighAPI_Double & theZ);
65 //--------------------------------------------------------------------------------------
66 //--------------------------------------------------------------------------------------
67 #endif /* SRC_CONSTRUCTIONAPI_CONSTRUCTIONAPI_POINT_H_ */