1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: GeomAPI_Curve.hxx
4 // Created: 04 Sep 2014
5 // Author: Mikhail PONIKAROV
7 #ifndef GeomAPI_Curve_H_
8 #define GeomAPI_Curve_H_
10 #include <GeomAPI_Shape.h>
15 /**\class GeomAPI_Curve
17 * \brief Interface to the generic curve object
20 class GeomAPI_Curve : public GeomAPI_Interface
23 /// Creation of empty (null) shape
27 /// Creates a curve from the shape (edge)
29 GeomAPI_Curve(const std::shared_ptr<GeomAPI_Shape>& theShape);
31 /// Returns true if curve is not initialized
35 /// Returns whether the curve is linear
37 virtual bool isLine() const;
39 /// Returns whether the curve is circular
41 virtual bool isCircle() const;
43 /// Returns start parameter of the curve
45 double startParam() const { return myStart; }
47 /// Returns end parameter of the curve
49 double endParam() const { return myEnd; }
51 /// Returns point on the curve by parameter
52 /// \param theParam parameter on the curve
54 std::shared_ptr<GeomAPI_Pnt> getPoint(double theParam);