Salome HOME
Bug #487: dump/load script - problem with obstacle.
[modules/hydro.git] / src / HYDROData / HYDROData_River.h
1
2 #ifndef HYDROData_River_HeaderFile
3 #define HYDROData_River_HeaderFile
4
5 #include "HYDROData_NaturalObject.h"
6
7 DEFINE_STANDARD_HANDLE(HYDROData_River, HYDROData_NaturalObject)
8
9 /**\class HYDROData_River
10  * \brief 
11  *
12  */
13 class HYDROData_River : public HYDROData_NaturalObject
14 {
15 protected:
16   /**
17    * Enumeration of tags corresponding to the persistent object parameters.
18    */
19   enum DataTag
20   {
21     DataTag_First = HYDROData_NaturalObject::DataTag_First + 100, ///< first tag, to reserve
22   };
23
24 public:
25   DEFINE_STANDARD_RTTI(HYDROData_River);
26
27   /**
28    * Returns the kind of this object. Must be redefined in all objects of known type.
29    */
30   HYDRODATA_EXPORT virtual const ObjectKind GetKind() const {return KIND_RIVER;}
31
32   /**
33    * Dump object to Python script representation.
34    */
35   HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const;
36
37   /**
38    * Update the immersible zone object.
39    * Call this method whenever you made changes for object data.
40    */
41   HYDRODATA_EXPORT virtual void Update();
42
43   HYDRODATA_EXPORT virtual void UpdateLocalCS( double theDx, double theDy );
44
45   /**
46    * Checks that object has 2D presentation. Reimlemented to retun true.
47    */
48   HYDRODATA_EXPORT virtual bool IsHas2dPrs() const;
49
50   /**
51    * Returns the top shape of the object.
52    */
53   HYDRODATA_EXPORT virtual TopoDS_Shape GetTopShape() const;
54
55   /**
56    * Returns the 3d shape of the object.
57    */
58   HYDRODATA_EXPORT virtual TopoDS_Shape GetShape3D() const;
59
60 protected:
61
62   friend class HYDROData_Iterator;
63
64   /**
65    * Creates new object in the internal data structure. Use higher level objects 
66    * to create objects with real content.
67    */
68   HYDRODATA_EXPORT HYDROData_River();
69
70   /**
71    * Destructs properties of the object and object itself, removes it from the document.
72    */
73   virtual HYDRODATA_EXPORT ~HYDROData_River();
74 };
75
76 #endif