Salome HOME
Define guards are corrected according to the code style
[modules/shaper.git] / src / GeomAPI / GeomAPI_Circ.h
1 // File:        GeomAPI_Circ.h
2 // Created:     24 Jun 2014
3 // Author:      Artem ZHIDKOV
4
5 #ifndef GeomAPI_Circ_H_
6 #define GeomAPI_Circ_H_
7
8 #include <GeomAPI_Interface.h>
9 #include <boost/shared_ptr.hpp>
10
11 class GeomAPI_Pnt;
12 class GeomAPI_Dir;
13
14 /**\class GeomAPI_Circ
15  * \ingroup DataModel
16  * \brief Circle in 3D
17  */
18
19 class GEOMAPI_EXPORT GeomAPI_Circ: public GeomAPI_Interface
20 {
21 public:
22   /// Creation of circle defined by center point, direction and circle radius
23   GeomAPI_Circ(const boost::shared_ptr<GeomAPI_Pnt>& theCenter,
24                const boost::shared_ptr<GeomAPI_Dir>& theDir,
25                double theRadius);
26
27   /// Return center of the circle
28   const boost::shared_ptr<GeomAPI_Pnt> center() const;
29
30   /// Return radius of the circle
31   double radius() const;
32
33   /// Project point on circle
34   const boost::shared_ptr<GeomAPI_Pnt> project(const boost::shared_ptr<GeomAPI_Pnt>& thePoint) const;
35 };
36
37 #endif
38