Salome HOME
Move color tags to the base geometrical object class.
[modules/hydro.git] / src / HYDROData / HYDROData_CalculationCase.h
index 79d3aae3921929a349964c9c6e8971b3ae50155d..2b471335d3fb53c54cc81095c3e9a4df4cbda543 100644 (file)
@@ -5,9 +5,12 @@
 
 #include <HYDROData_Entity.h>
 
+class TopoDS_Shell;
+
 class Handle(HYDROData_Object);
 class Handle(HYDROData_Region);
 class Handle(HYDROData_Zone);
+class Handle(HYDROData_Polyline);
 
 DEFINE_STANDARD_HANDLE(HYDROData_CalculationCase, HYDROData_Entity)
 
@@ -29,7 +32,8 @@ protected:
     DataTag_First = HYDROData_Entity::DataTag_First + 100, ///< first tag, to reserve
     DataTag_GeometryObject,   ///< reference geometry objects
     DataTag_ChildRegion,      ///< child regions
-    DataTag_Region            ///< reference regions
+    DataTag_Region,           ///< reference regions
+    DataTag_Polyline          ///< reference boundary polyline
   };
 
 public:
@@ -77,6 +81,22 @@ public:
   HYDRODATA_EXPORT virtual void RemoveGeometryObjects();
 
 
+  /**
+   * Sets reference boundary polyline object for calculation case.
+   */
+  HYDRODATA_EXPORT virtual void SetBoundaryPolyline( const Handle(HYDROData_Polyline)& thePolyline );
+
+  /**
+   * Returns reference boundary polyline object of calculation case.
+   */
+  HYDRODATA_EXPORT virtual Handle(HYDROData_Polyline) GetBoundaryPolyline() const;
+
+  /**
+   * Remove reference boundary polyline object from calculation case.
+   */
+  HYDRODATA_EXPORT virtual void RemoveBoundaryPolyline();
+
+
   /**
    * Add new one child region for calculation case.
    * The new region is added into the list of reference regions.
@@ -97,6 +117,11 @@ public:
    */
   HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetRegions() const;
 
+  /**
+   * Updates names of regions to correct order.
+   */
+  HYDRODATA_EXPORT virtual void UpdateRegionsOrder();
+
   /**
    * Removes reference region from calculation case.
    */
@@ -107,6 +132,12 @@ public:
    */
   HYDRODATA_EXPORT virtual void RemoveRegions();
 
+  /**
+   * Returns shell containing faces which correspond to regions.
+   * \return shell as TopoDS_Shell
+   */
+  HYDRODATA_EXPORT virtual TopoDS_Shell GetShell();
+
 private:
 
   /**
@@ -124,12 +155,12 @@ protected:
    * Creates new object in the internal data structure. Use higher level objects 
    * to create objects with real content.
    */
-  HYDROData_CalculationCase();
+  HYDRODATA_EXPORT HYDROData_CalculationCase();
 
   /**
    * Destructs properties of the object and object itself, removes it from the document.
    */
-  ~HYDROData_CalculationCase();
+  HYDRODATA_EXPORT ~HYDROData_CalculationCase();
 };
 
 #endif