Salome HOME
Merge remote-tracking branch 'remotes/origin/BR_PlaneGCS' into CodeCleanup
[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_Face : public GeomAPI_Shape
19 {
20 public:
21   /// Creation of empty (null) shape
22   GEOMAPI_EXPORT 
23   GeomAPI_Face();
24
25   /// Creation of face by the face-shape
26   GEOMAPI_EXPORT 
27   GeomAPI_Face(const std::shared_ptr<GeomAPI_Shape>& theShape);
28
29   /// Returns true if the current face is geometrically equal to the given face
30   GEOMAPI_EXPORT 
31   virtual bool isEqual(const std::shared_ptr<GeomAPI_Shape> theFace) const;
32
33   /// Returns true if the face is a planar face
34   GEOMAPI_EXPORT 
35   bool isPlanar() const;
36
37   /// Returns true if the face is a cylindrical face
38   GEOMAPI_EXPORT 
39   bool isCylindrical() const;
40
41   /// Returns the base plane of the face (if it is planar) with location in the center of the face
42   GEOMAPI_EXPORT 
43   std::shared_ptr<GeomAPI_Pln> getPlane() const;
44 };
45
46 #endif
47