Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / GeomAPI / GeomAPI_Shape.h
1 // File:        GeomAPI_Shape.hxx
2 // Created:     23 Apr 2014
3 // Author:      Mikhail PONIKAROV
4
5 #ifndef GeomAPI_Shape_H_
6 #define GeomAPI_Shape_H_
7
8 #include <GeomAPI_Interface.h>
9 #include <boost/shared_ptr.hpp>
10
11 /**\class GeomAPI_Shape
12  * \ingroup DataModel
13  * \brief Interface to the topological shape object
14  */
15 class GEOMAPI_EXPORT GeomAPI_Shape : public GeomAPI_Interface
16 {
17  public:
18   /// Creation of empty (null) shape
19   GeomAPI_Shape();
20
21   bool isNull() const;
22
23   /// Returns whether the shapes are equal
24   virtual bool isEqual(const boost::shared_ptr<GeomAPI_Shape> theShape) const;
25
26   /// Returns whether the shape is a vertex
27   virtual bool isVertex() const;
28
29   /// Returns whether the shape is an edge
30   virtual bool isEdge() const;
31
32 };
33
34 //! Pointer on attribute object
35 typedef boost::shared_ptr<GeomAPI_Shape> GeomShapePtr;
36
37 #endif