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 //--------------------------------------------------------------------------------------
22 class ConstructionAPI_Point : public ModelHighAPI_Interface
25 ConstructionAPI_Point(const std::shared_ptr<ModelAPI_Feature> & theFeature);
26 ConstructionAPI_Point(const std::shared_ptr<ModelAPI_Feature> & theFeature,
27 const ModelHighAPI_Double & theX,
28 const ModelHighAPI_Double & theY,
29 const ModelHighAPI_Double & theZ);
30 virtual ~ConstructionAPI_Point();
32 void setPoint(const ModelHighAPI_Double & theX,
33 const ModelHighAPI_Double & theY,
34 const ModelHighAPI_Double & theZ);
36 std::shared_ptr<ModelAPI_AttributeDouble> x() const;
37 std::shared_ptr<ModelAPI_AttributeDouble> y() const;
38 std::shared_ptr<ModelAPI_AttributeDouble> z() const;
41 std::shared_ptr<ModelAPI_AttributeDouble> myX, myY, myZ;
46 //! Pointer on point object
47 typedef std::shared_ptr<ConstructionAPI_Point> PointPtr;
49 PointPtr addPoint(std::shared_ptr<ModelAPI_Document> thePart,
50 const ModelHighAPI_Double & theX,
51 const ModelHighAPI_Double & theY,
52 const ModelHighAPI_Double & theZ);
54 //--------------------------------------------------------------------------------------
55 //--------------------------------------------------------------------------------------
56 #endif /* SRC_CONSTRUCTIONAPI_CONSTRUCTIONAPI_POINT_H_ */