class TopoDS_Shape;
class Handle(HYDROData_Bathymetry);
class Handle(HYDROData_DummyObject3D);
+class Handle(HYDROData_ShapesGroup);
/**\class HYDROData_Object
* \brief The base class for all geometrical objects in the HYDRO module.
DataTag_Bathymetry, ///< reference bathymetry
DataTag_FillingColor, ///< filling color of geometrical object
DataTag_BorderColor, ///< border color of geometrical object
- DataTag_Object3D ///< child 3D object
+ DataTag_Object3D, ///< child 3D object
+ DataTag_EdgesGroup, ///< child group objects
};
public:
DEFINE_STANDARD_RTTI(HYDROData_Object);
+ /**
+ * Updates the name of this object.
+ * Reimplemented to update the names child groups.
+ */
+ HYDRODATA_EXPORT virtual void SetName( const QString& theName );
+
/**
* Update the geometry object.
* Call this method whenever you made changes for object data.
/**
* Returns reference object which represent the 3D shape of object.
- * Base implementation returns NULL pointer.
*/
HYDRODATA_EXPORT virtual Handle(HYDROData_DummyObject3D) GetObject3D() const;
+ /**
+ * Returns sequence of object groups.
+ */
+ HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetGroups() const;
+
/**
* Set reference bathymetry object for geometry object.
*/
- HYDRODATA_EXPORT virtual void SetBathymetry( const Handle(HYDROData_Bathymetry)& theBathymetry );
+ HYDRODATA_EXPORT virtual bool SetBathymetry( const Handle(HYDROData_Bathymetry)& theBathymetry );
/**
* Returns reference bathymetry object of geometry object.
*/
HYDRODATA_EXPORT virtual void checkAndSetObject3D();
+
+ /**
+ * Create new one child group object.
+ */
+ HYDRODATA_EXPORT virtual Handle(HYDROData_ShapesGroup) createGroupObject();
+
+ /**
+ * Create all necessary child group objects.
+ * Base implementation does nothing.
+ */
+ HYDRODATA_EXPORT virtual void createGroupObjects();
+
+ /**
+ * Remove all child group objects.
+ */
+ HYDRODATA_EXPORT virtual void removeGroupObjects();
+
+
/**
* Retrieve the top shape of the object from data label.
*/