Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / GeomAPI / GeomAPI_Curve.h
1 // File:        GeomAPI_Curve.hxx
2 // Created:     04 Sep 2014
3 // Author:      Mikhail PONIKAROV
4
5 #ifndef GeomAPI_Curve_H_
6 #define GeomAPI_Curve_H_
7
8 #include <GeomAPI_Shape.h>
9 #include <memory>
10
11 /**\class GeomAPI_Curve
12  * \ingroup DataModel
13  * \brief Interface to the generic curve object
14  */
15
16 class GEOMAPI_EXPORT GeomAPI_Curve : public GeomAPI_Interface
17 {
18  public:
19   /// Creation of empty (null) shape
20   GeomAPI_Curve();
21
22   /// Creates a curve from the shape (edge)
23   GeomAPI_Curve(const std::shared_ptr<GeomAPI_Shape>& theShape);
24
25   /// Returns true if curve is not initialized
26   bool isNull() const;
27
28   /// Returns whether the curve is linear
29   virtual bool isLine() const;
30
31   /// Returns whether the curve is circular
32   virtual bool isCircle() const;
33
34 };
35
36 #endif