Salome HOME
Implementation of a task "Show centers of external circular objects in current sketcher"
[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 class GeomAPI_Vertex: public GeomAPI_Shape
18 {
19 public:
20   /// Creation of empty (null) shape.
21   GEOMAPI_EXPORT
22   GeomAPI_Vertex();
23
24    /// Creation of vertex by the vertex-shape.
25   GEOMAPI_EXPORT
26   GeomAPI_Vertex(const std::shared_ptr<GeomAPI_Shape>& theShape);
27
28    /// Creation of vertex by 3d coordinates.
29   GEOMAPI_EXPORT
30   GeomAPI_Vertex(double theX, double theY, double theZ);
31
32   /// Returns the first vertex coordinates of the edge.
33   GEOMAPI_EXPORT
34   std::shared_ptr<GeomAPI_Pnt> point();
35
36   /// Returns true if the current edge is geometrically equal to the given edge.
37   GEOMAPI_EXPORT
38   bool isEqual(const std::shared_ptr<GeomAPI_Shape> theVert) const;
39 };
40
41 //! Pointer on the object
42 typedef std::shared_ptr<GeomAPI_Vertex> GeomVertexPtr;
43
44 #endif
45