1 // File: GeomAPI_Circ2d.h
2 // Created: 29 May 2014
3 // Author: Artem ZHIDKOV
5 #ifndef GeomAPI_Circ2d_H_
6 #define GeomAPI_Circ2d_H_
8 #include <GeomAPI_Interface.h>
9 #include <boost/shared_ptr.hpp>
14 /**\class GeomAPI_Circ2d
19 class GEOMAPI_EXPORT GeomAPI_Circ2d : public GeomAPI_Interface
22 /// Creation of circle defined by center point and circle radius
23 GeomAPI_Circ2d(const boost::shared_ptr<GeomAPI_Pnt2d>& theCenter,
24 const boost::shared_ptr<GeomAPI_Pnt2d>& theCirclePoint);
26 /// Creation of circle defined by center point, direction and circle radius
27 GeomAPI_Circ2d(const boost::shared_ptr<GeomAPI_Pnt2d>& theCenter,
28 const boost::shared_ptr<GeomAPI_Dir2d>& theDir, double theRadius);
30 /// Return center of the circle
31 const boost::shared_ptr<GeomAPI_Pnt2d> center() const;
33 /// Return radius of the circle
34 double radius() const;
36 /// Project point on line
37 const boost::shared_ptr<GeomAPI_Pnt2d> project(
38 const boost::shared_ptr<GeomAPI_Pnt2d>& thePoint) const;