DataTag_First = HYDROData_Object::DataTag_First + 100, ///< first tag, to reserve
DataTag_PolylineXY, ///< reference hydraulic axis
DataTag_ProfileUZ, ///< reference profile
+ DataTag_ChildProfileUZ, ///< reference profile
};
public:
/**
* Sets reference x,y polyline object for 3D polyline.
*/
- HYDRODATA_EXPORT virtual bool SetPolylineXY( const Handle(HYDROData_PolylineXY)& thePolyline );
+ HYDRODATA_EXPORT virtual bool SetPolylineXY( const Handle(HYDROData_PolylineXY)& thePolyline,
+ const bool theIsUpdateProfile = true );
/**
* Returns reference x,y polyline object of 3D polyline.
* Set reference bathymetry object for geometry object.
* Reimplemented to remove reference u,z profile.
*/
- HYDRODATA_EXPORT virtual bool SetBathymetry( const Handle(HYDROData_Bathymetry)& theBathymetry );
+ HYDRODATA_EXPORT virtual bool SetAltitudeObject( const Handle(HYDROData_IAltitudeObject)& theAltitude );
+
+ /**
+ * Clear the reference bathymetry object for geometry object.
+ * Reimplemented to remove child u,z profile.
+ */
+ HYDRODATA_EXPORT virtual void RemoveAltitudeObject();
+
+
+ /**
+ * Returns the child u,z profile which has been generated from bathymetry.
+ */
+ HYDRODATA_EXPORT Handle(HYDROData_ProfileUZ) GetChildProfileUZ( const bool theIsCreate = true ) const;
protected:
HYDRODATA_EXPORT virtual void checkAndSetObject3D() {}
+protected:
+
+
+ void updateChildProfilePoints();
+
+ void removeChildProfileUZ();
+
+
protected:
friend class HYDROData_Iterator;