2 #ifndef HYDROData_HYDROData_Calculation
3 #define HYDROData_HYDROData_Calculation
5 #include <HYDROData_Object.h>
12 class Handle(HYDROData_Polyline);
13 class Handle(HYDROData_Zone);
14 class Handle(HYDROData_Region);
16 DEFINE_STANDARD_HANDLE(HYDROData_Calculation, HYDROData_Object)
19 /**\class HYDROData_Calculation
20 * \brief Class that stores/retreives information about the Calculation case.
22 * Calculation case is defined by selection of Geometry objects with or without
\93Zone of water
\94.
24 class HYDROData_Calculation : public HYDROData_Object
30 * Enumeration of tags corresponding to the persistent object parameters.
34 DataTag_First = HYDROData_Object::DataTag_First + 100, ///< first tag, to reserve
35 DataTag_BoundaryPolyline, ///< reference boundary polyline
36 DataTag_Zone, ///< reference zones
37 DataTag_Region ///< reference regions
42 DEFINE_STANDARD_RTTI(HYDROData_Calculation);
45 * Returns the kind of this object. Must be redefined in all objects of known type.
47 HYDRODATA_EXPORT virtual const ObjectKind GetKind() const { return KIND_CALCULATION; }
51 * Dump Calculation object to Python script representation.
53 HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const;
56 // Public methods to work with Calculation
59 * Sets boundary polyline for calculation case.
61 HYDRODATA_EXPORT virtual void SetBoundaryPolyline( const Handle(HYDROData_Polyline)& thePolyline );
64 * Returns boundary polyline of calculation case.
66 HYDRODATA_EXPORT virtual Handle(HYDROData_Polyline) GetBoundaryPolyline() const;
69 * Removes boundary polyline of calculation case.
71 HYDRODATA_EXPORT virtual void RemoveBoundaryPolyline();
75 * Returns number of refrence zones for calculation case.
77 HYDRODATA_EXPORT virtual int NbZones() const;
80 * Add new one refrence zone for calculation case.
82 HYDRODATA_EXPORT virtual void AddZone( const Handle(HYDROData_Zone)& theZone );
85 * Replace the refrence zone for calculation case.
87 HYDRODATA_EXPORT virtual void SetZone( const int theIndex,
88 const Handle(HYDROData_Zone)& theZone );
91 * Sets the refrence zones for calculation case.
93 HYDRODATA_EXPORT virtual void SetZones( const HYDROData_SequenceOfObjects& theZones );
96 * Returns refrence zone of calculation case by index.
98 HYDRODATA_EXPORT virtual Handle(HYDROData_Zone) GetZone( const int theIndex ) const;
101 * Returns all refrence zone of calculation case.
103 HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetZones() const;
106 * Removes all refrence zone of calculation case.
108 HYDRODATA_EXPORT virtual void RemoveZones();
112 * Returns number of regions for calculation case.
114 HYDRODATA_EXPORT virtual int NbRegions() const;
117 * Add new one region for calculation case.
119 HYDRODATA_EXPORT virtual void AddRegion( const Handle(HYDROData_Region)& theRegion );
122 * Replace the region for calculation case.
124 HYDRODATA_EXPORT virtual void SetRegion( const int theIndex,
125 const Handle(HYDROData_Region)& theRegion );
128 * Sets the refrence region for calculation case.
130 HYDRODATA_EXPORT virtual void SetRegions( const HYDROData_SequenceOfObjects& theRegions );
133 * Returns region of calculation case by index.
135 HYDRODATA_EXPORT virtual Handle(HYDROData_Region) GetRegion( const int theIndex ) const;
138 * Returns all regions of calculation case.
140 HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetRegions() const;
143 * Removes all regions of calculation case.
145 HYDRODATA_EXPORT virtual void RemoveRegions();
149 friend class HYDROData_Iterator;
152 * Creates new object in the internal data structure. Use higher level objects
153 * to create objects with real content.
155 HYDROData_Calculation();
158 * Destructs properties of the object and object itself, removes it from the document.
160 ~HYDROData_Calculation();