X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Polyline3D.h;h=ad7a6e1ae895540e1b9b82998658048f36d40f23;hb=b45bf3e182741f13e3bb9f66f114a840be017dea;hp=f45091b8f23c558c999f14f9d8945fb821d04b18;hpb=b0759ef35e28020af9766fc25ae9b8796f851b80;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Polyline3D.h b/src/HYDROData/HYDROData_Polyline3D.h index f45091b8..ad7a6e1a 100644 --- a/src/HYDROData/HYDROData_Polyline3D.h +++ b/src/HYDROData/HYDROData_Polyline3D.h @@ -28,8 +28,9 @@ protected: 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: @@ -38,13 +39,18 @@ public: /** * Returns the kind of this object. Must be redefined in all objects of known type. */ - HYDRODATA_EXPORT virtual const ObjectKind GetKind() const {return KIND_STREAM;} + HYDRODATA_EXPORT virtual const ObjectKind GetKind() const {return KIND_POLYLINE;} /** * Dump object to Python script representation. */ HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const; + /** + * Returns the list of all reference objects of this object. + */ + HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetAllReferenceObjects() const; + /** * Returns the top shape of the object. */ @@ -61,6 +67,16 @@ 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 @@ -68,7 +84,8 @@ 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. @@ -97,6 +114,52 @@ public: 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;