+ HYDRODATA_EXPORT virtual bool CanRemove();
+
+ /**
+ * Returns the list of all reference objects of this object.
+ */
+ HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetAllReferenceObjects() const;
+
+
+ /**
+ * Add new one reference zone for region.
+ * The label of theZone is changed in case if old parent is not this region.
+ */
+ HYDRODATA_EXPORT virtual bool AddZone( const Handle(HYDROData_Zone)& theZone );
+
+ /**
+ * Returns all reference zone of region.
+ */
+ HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetZones() const;
+
+ /**
+ * Removes reference zone from region.
+ */
+ HYDRODATA_EXPORT virtual void RemoveZone( const Handle(HYDROData_Zone)& theZone );
+
+ /**
+ * Removes all reference zones from region.
+ */
+ HYDRODATA_EXPORT virtual void RemoveZones();
+
+ /**
+ * \brief Returns the shape of the region.
+ * Shape of the region could be:
+ * - a face which is the union of the region zones faces
+ * - a shell if the zones faces can't be united into one face
+ * \return shape as TopoDS_Shape
+ */
+ HYDRODATA_EXPORT virtual TopoDS_Shape GetShape() const;