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