Salome HOME
Merge branch 'master' of salome:modules/shaper
[modules/shaper.git] / src / GeomAPI / GeomAPI_Vertex.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        GeomAPI_Vertex.hxx
4 // Created:     16 Dec 2014
5 // Author:      Vitaly Smetannikov
6
7 #ifndef GeomAPI_Vertex_H_
8 #define GeomAPI_Vertex_H_
9
10 #include <GeomAPI_Shape.h>
11
12 class GeomAPI_Pnt;
13
14 /**\class GeomAPI_Vertex
15 * \ingroup DataModel
16  * \brief Interface to the vertex object
17  */
18
19 class GeomAPI_Vertex : public GeomAPI_Shape
20 {
21 public:
22    /// Creation of empty (null) shape
23   GEOMAPI_EXPORT 
24    GeomAPI_Vertex();
25
26    /// Creation of vertex by the vertex-shape
27   GEOMAPI_EXPORT 
28    GeomAPI_Vertex(const std::shared_ptr<GeomAPI_Shape>& theShape);
29
30    /// Creation of vertex by 3d coordinates
31   GEOMAPI_EXPORT 
32    GeomAPI_Vertex(double theX, double theY, double theZ);
33
34   /// Returns the first vertex coordinates of the edge 
35   GEOMAPI_EXPORT 
36   std::shared_ptr<GeomAPI_Pnt> point();
37
38   /// Returns true if the current edge is geometrically equal to the given edge
39   GEOMAPI_EXPORT 
40   bool isEqual(const std::shared_ptr<GeomAPI_Shape> theVert) const;
41 };
42
43 #endif
44