Salome HOME
Dump to Python script correction.
[modules/hydro.git] / src / HYDROData / HYDROData_ImmersibleZone.h
1
2 #ifndef HYDROData_ImmersibleZone_HeaderFile
3 #define HYDROData_ImmersibleZone_HeaderFile
4
5 #include <HYDROData_NaturalObject.h>
6
7 DEFINE_STANDARD_HANDLE(HYDROData_ImmersibleZone, HYDROData_NaturalObject)
8
9 class Handle(HYDROData_Bathymetry);
10 class Handle(HYDROData_Polyline);
11
12 /**\class HYDROData_ImmersibleZone
13  * \brief 
14  *
15  */
16 class HYDROData_ImmersibleZone : public HYDROData_NaturalObject
17 {
18 protected:
19   /**
20    * Enumeration of tags corresponding to the persistent object parameters.
21    */
22   enum DataTag
23   {
24     DataTag_First = HYDROData_NaturalObject::DataTag_First + 100, ///< first tag, to reserve
25     DataTag_FillingColor, ///< filling color of immersible zone
26     DataTag_BorderColor,  ///< border color of immersible zone
27     DataTag_Polyline,     ///< reference polyline
28     DataTag_Bathymetry,   ///< reference bathymetry
29 };
30
31 public:
32   DEFINE_STANDARD_RTTI(HYDROData_ImmersibleZone);
33
34   /**
35    * Returns the kind of this object. Must be redefined in all objects of known type.
36    */
37   HYDRODATA_EXPORT virtual const ObjectKind GetKind() const {return KIND_IMMERSIBLE_ZONE;}
38
39   /**
40    * Dump object to Python script representation.
41    */
42   HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const;
43
44   /**
45    * Returns the top shape of the object.
46    */
47   HYDRODATA_EXPORT virtual TopoDS_Shape GetTopShape() const;
48
49   /**
50    * Returns the 3d shape of the object.
51    */
52   HYDRODATA_EXPORT virtual TopoDS_Shape GetShape3D() const;
53
54
55   /**
56    * Returns default filling color for new zone.
57    */
58   HYDRODATA_EXPORT static QColor DefaultFillingColor();
59
60   /**
61    * Sets filling color for zone.
62    */
63   HYDRODATA_EXPORT virtual void SetFillingColor( const QColor& theColor );
64
65   /**
66    * Returns filling color of zone.
67    */
68   HYDRODATA_EXPORT virtual QColor GetFillingColor() const;
69
70
71   /**
72    * Returns default border color for new zone.
73    */
74   HYDRODATA_EXPORT static QColor DefaultBorderColor();
75
76   /**
77    * Sets border color for zone.
78    */
79   HYDRODATA_EXPORT virtual void SetBorderColor( const QColor& theColor );
80
81   /**
82    * Returns border color of zone.
83    */
84   HYDRODATA_EXPORT virtual QColor GetBorderColor() const;
85
86
87   /**
88    * Sets reference polyline object for zone.
89    */
90   HYDRODATA_EXPORT virtual void SetPolyline( const Handle(HYDROData_Polyline)& thePolyline );
91
92   /**
93    * Returns reference polyline object of zone.
94    */
95   HYDRODATA_EXPORT virtual Handle(HYDROData_Polyline) GetPolyline() const;
96
97   /**
98    * Remove reference polyline object of zone.
99    */
100   HYDRODATA_EXPORT virtual void RemovePolyline();
101
102
103   /**
104    * Set reference bathymetry object for zone.
105    */
106   HYDRODATA_EXPORT virtual void SetBathymetry( const Handle(HYDROData_Bathymetry)& theBathymetry );
107
108   /**
109    * Returns reference bathymetry object of zone.
110    */
111   HYDRODATA_EXPORT virtual Handle(HYDROData_Bathymetry) GetBathymetry() const;
112
113   /**
114    * Clear the bathymetry object for zone.
115    */
116   HYDRODATA_EXPORT virtual void RemoveBathymetry();
117
118 protected:
119
120   friend class HYDROData_Iterator;
121
122   /**
123    * Creates new object in the internal data structure. Use higher level objects 
124    * to create objects with real content.
125    */
126   HYDRODATA_EXPORT HYDROData_ImmersibleZone();
127
128   /**
129    * Destructs properties of the object and object itself, removes it from the document.
130    */
131   virtual HYDRODATA_EXPORT ~HYDROData_ImmersibleZone();
132 };
133
134 #endif