Salome HOME
Merge remote-tracking branch 'origin/Dev_0.6'
[modules/shaper.git] / src / GeomAPI / GeomAPI_Face.h
1 // File:        GeomAPI_Face.h
2 // Created:     2 Dec 2014
3 // Author:      Artem ZHIDKOV
4
5 #ifndef GeomAPI_Face_H_
6 #define GeomAPI_Face_H_
7
8 #include <GeomAPI_Shape.h>
9
10 class GeomAPI_Pln;
11
12 /**\class GeomAPI_Face
13 * \ingroup DataModel
14  * \brief Interface to the face object
15  */
16 class GEOMAPI_EXPORT GeomAPI_Face : public GeomAPI_Shape
17 {
18 public:
19   /// Creation of empty (null) shape
20   GeomAPI_Face();
21
22   /// Creation of face by the face-shape
23   GeomAPI_Face(const std::shared_ptr<GeomAPI_Shape>& theShape);
24
25   /// Returns true if the current face is geometrically equal to the given face
26   virtual bool isEqual(const std::shared_ptr<GeomAPI_Shape> theFace) const;
27
28   /// Returns true if the face is a planar face
29   bool isPlanar() const;
30
31   /// Returns the base plane of the face (if it is planar) with location in the center of the face
32   std::shared_ptr<GeomAPI_Pln> getPlane() const;
33 };
34
35 #endif
36