Salome HOME
23cd0d6232fa9be8dc418b896def1d46ff685df4
[modules/hydro.git] / src / HYDROData / HYDROData_Region.h
1
2 #ifndef HYDROData_Region_HeaderFile
3 #define HYDROData_Region_HeaderFile
4
5 #include <HYDROData_Domain.h>
6
7
8 DEFINE_STANDARD_HANDLE(HYDROData_Region, HYDROData_Domain)
9
10
11 /**\class HYDROData_Domain
12  * \brief Class that stores/retreives information about the 2d surface.
13  */
14 class HYDROData_Region : public HYDROData_Domain
15 {
16
17 protected:
18   /**
19    * Enumeration of tags corresponding to the persistent object parameters.
20    */
21   enum DataTag
22   {
23     DataTag_First = HYDROData_Domain::DataTag_First + 100, ///< first tag, to reserve
24     DataTag_Face
25   };
26
27 public:
28   DEFINE_STANDARD_RTTI(HYDROData_Region);
29
30   /**
31    * Returns the kind of this object. Must be redefined in all objects of known type.
32    */
33   HYDRODATA_EXPORT virtual const ObjectKind GetKind() const { return KIND_REGION; }
34
35   /**
36    * Sets the shape of the object.
37    */
38   HYDRODATA_EXPORT void SetFace( const TopoDS_Face& theFace );
39
40   /**
41    * Returns the shape of the the object (redefined method).
42    */
43   HYDRODATA_EXPORT virtual TopoDS_Face Face() const;
44
45 protected:
46
47   friend class HYDROData_Iterator;
48
49   /**
50    * Creates new object in the internal data structure. Use higher level objects 
51    * to create objects with real content.
52    */
53   HYDROData_Region();
54
55   /**
56    * Destructs properties of the object and object itself, removes it from the document.
57    */
58   ~HYDROData_Region();
59
60   /**
61    * Returns id for creation of object in python scripting.
62    */
63   virtual QString getPythonKindId() const;
64 };
65
66 #endif