enum DataTag
{
DataTag_First = HYDROData_Object::DataTag_First + 100, ///< first tag, to reserve
- DataTag_PolylineXY, ///< reference hydraulic axis
- DataTag_ProfileUZ, ///< reference profiles
+ DataTag_PolylineXY, ///< reference hydraulic axis
+ DataTag_ProfileUZ, ///< reference profile
+ DataTag_ChildProfileUZ, ///< reference profile
};
public:
*/
HYDRODATA_EXPORT virtual void Update();
+ /**
+ * Returns default filling color for new 3D polyline.
+ */
+ HYDRODATA_EXPORT static QColor DefaultFillingColor();
+
+ /**
+ * Returns default border color for new 3D polyline.
+ */
+ HYDRODATA_EXPORT static QColor DefaultBorderColor();
+
public:
// Public methods to work with 3D polyline
/**
* 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.
HYDRODATA_EXPORT virtual void RemoveProfileUZ();
+ /**
+ * Set reference bathymetry object for geometry object.
+ * Reimplemented to remove reference u,z profile.
+ */
+ 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:
+
+ /**
+ * Returns default filling color for new object.
+ */
+ HYDRODATA_EXPORT virtual QColor getDefaultFillingColor() const;
+
+ /**
+ * Returns default border color for new object.
+ */
+ HYDRODATA_EXPORT virtual QColor getDefaultBorderColor() const;
+
+ /**
+ * Checks and if necessary create child 3D object.
+ * Reimplemented to prevent creation of 3D child object.
+ */
+ HYDRODATA_EXPORT virtual void checkAndSetObject3D() {}
+
+
+protected:
+
+
+ void updateChildProfilePoints();
+
+ void removeChildProfileUZ();
+
+
protected:
friend class HYDROData_Iterator;