Salome HOME
Calculation object first implementation (Feature #10).
[modules/hydro.git] / src / HYDROData / HYDROData_Calculation.h
1
2 #ifndef HYDROData_HYDROData_Calculation
3 #define HYDROData_HYDROData_Calculation
4
5 #include <HYDROData_Object.h>
6
7 class gp_XY;
8 class gp_XYZ;
9 class QPointF;
10 class QFile;
11
12 DEFINE_STANDARD_HANDLE(HYDROData_Calculation, HYDROData_Object)
13
14
15 /**\class HYDROData_Calculation
16  * \brief Class that stores/retreives information about the Calculation case.
17  *
18  * Calculation case is defined by selection of Geometry objects with or without \93Zone of water\94
19  */
20 class HYDROData_Calculation : public HYDROData_Object
21 {
22
23 protected:
24
25   /**
26    * Enumeration of tags corresponding to the persistent object parameters.
27    */
28   enum DataTag
29   {
30     DataTag_First = HYDROData_Object::DataTag_First + 100, ///< first tag, to reserve
31   };
32
33 public:
34
35   DEFINE_STANDARD_RTTI(HYDROData_Calculation);
36
37   /**
38    * Returns the kind of this object. Must be redefined in all objects of known type.
39    */
40   HYDRODATA_EXPORT virtual const ObjectKind GetKind() const { return KIND_CALCULATION; }
41
42
43   /**
44    * Dump Calculation object to Python script representation.
45    */
46   HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const;
47
48 public:      
49   // Public methods to work with Calculation
50
51
52 protected:
53
54   friend class HYDROData_Iterator;
55
56   /**
57    * Creates new object in the internal data structure. Use higher level objects 
58    * to create objects with real content.
59    */
60   HYDROData_Calculation();
61
62   /**
63    * Destructs properties of the object and object itself, removes it from the document.
64    */
65   ~HYDROData_Calculation();
66 };
67
68 #endif