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