X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Stream.h;h=461b3b4f628a1ee276a051ebf5fd6ac5fe539603;hb=fd7bc8b6aff2f236893c3c549e3338668bd6bec3;hp=d0f6202894ccdaaed6bc2eab19bd4ad190603b58;hpb=f69c6f07782392fb5e8c95aa917b1bfaa8f4b012;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Stream.h b/src/HYDROData/HYDROData_Stream.h index d0f62028..461b3b4f 100644 --- a/src/HYDROData/HYDROData_Stream.h +++ b/src/HYDROData/HYDROData_Stream.h @@ -4,6 +4,7 @@ #include "HYDROData_NaturalObject.h" #include +#include DEFINE_STANDARD_HANDLE(HYDROData_Stream, HYDROData_NaturalObject) class Handle(HYDROData_PolylineXY); @@ -62,6 +63,16 @@ public: */ HYDRODATA_EXPORT virtual void Update(); + /** + * Returns default filling color for new stream. + */ + HYDRODATA_EXPORT static QColor DefaultFillingColor(); + + /** + * Returns default border color for new stream. + */ + HYDRODATA_EXPORT static QColor DefaultBorderColor(); + public: // Public methods to work with Stream @@ -81,6 +92,14 @@ public: */ HYDRODATA_EXPORT virtual void RemoveHydraulicAxis(); + /** + * Returns true if profile has the intersection with the given hydraulic axis. + * Returns the parameter of inresection point on axis if axis is presented by one curve, + * if axis presented by set of edges the returns a common length of segments till the intersection point. + */ + HYDRODATA_EXPORT static bool HasIntersection( const Handle(HYDROData_PolylineXY)& theHydAxis, + const Handle(HYDROData_Profile)& theProfile, const TopoDS_Face& thePlane, + Standard_Real& outPar); /** * Returns true if profile has the intersection with reference hydraulic axis. @@ -88,7 +107,7 @@ public: * if axis presented by set of edges the returns a common length of segments till the intersection point. */ HYDRODATA_EXPORT virtual bool HasIntersection( const Handle(HYDROData_Profile)& theProfile, const TopoDS_Face& thePlane, - Standard_Real& outPar) const; + Standard_Real& outPar) const; /** * Builds a planar face @@ -114,8 +133,7 @@ public: * Removes all reference profile objects from stream. */ HYDRODATA_EXPORT virtual void RemoveProfiles(); - - + protected: /** @@ -129,6 +147,26 @@ protected: * If hydraulic axis is not set all profiles will be removed from order. */ void updateProfilesOrder(); + + /** + * Create all necessary child group objects. + */ + HYDRODATA_EXPORT virtual void createGroupObjects(); + + /** + * Builds b-spline using interpolation algorithm. + */ + Handle(Geom_BSplineCurve) buildInterpolationCurve(const Handle(TColgp_HArray1OfPnt)& theArrayOfPnt); + + /** + * 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; private: