X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROPy%2FHYDROData_Stream.sip;h=7963b776caa4dc2310a23d4932d4db6a620f302f;hb=58bb6b7459bebeeb089c9ed486c4683a8bae7288;hp=6fc7a002a055b37350968aaf9a1d38b5abe4ddfc;hpb=373b25511ebe691dc0e332996521c0de189f6db2;p=modules%2Fhydro.git diff --git a/src/HYDROPy/HYDROData_Stream.sip b/src/HYDROPy/HYDROData_Stream.sip index 6fc7a002..7963b776 100644 --- a/src/HYDROPy/HYDROData_Stream.sip +++ b/src/HYDROPy/HYDROData_Stream.sip @@ -1,12 +1,8 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE -// -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// +// Copyright (C) 2014-2015 EDF-R&D // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -31,26 +27,21 @@ class HYDROData_Stream : public HYDROData_NaturalObject %End public: - /** - * Update the shape presentations of stream. - */ - void UpdatePrs(); - /** * Returns default filling color for new stream. */ - static QColor DefaultFillingColor(); + virtual QColor DefaultFillingColor() const; /** * Returns default border color for new stream. */ - static QColor DefaultBorderColor(); + virtual QColor DefaultBorderColor() const; /** * Returns true if given polyline can be used as stream axis. */ static bool IsValidAsAxis( HYDROData_PolylineXY theAxis ) - [bool ( const Handle_HYDROData_PolylineXY& )]; + [bool ( const opencascade::handle& )]; %MethodCode Handle(HYDROData_PolylineXY) aRef = Handle(HYDROData_PolylineXY)::DownCast( createHandle( a0 ) ); @@ -62,30 +53,6 @@ public: } %End -public: - // Public methods to work with Stream presentation - - /** - * Returns the left edge of the stream. - */ -// virtual TopoDS_Shape GetLeftShape() const; - - /** - * Returns the right edge of the stream. - */ -// virtual TopoDS_Shape GetRightShape() const; - - /** - * Returns the inlet edge of the stream. - */ -// virtual TopoDS_Shape GetInletShape() const; - - /** - * Returns the outlet edge of the stream. - */ -// virtual TopoDS_Shape GetOutletShape() const; - - public: // Public methods to work with Stream data fields @@ -93,7 +60,7 @@ public: * Sets reference hydraulic axis object for stream. */ bool SetHydraulicAxis( HYDROData_PolylineXY theAxis ) - [bool ( const Handle_HYDROData_PolylineXY& )]; + [bool ( const opencascade::handle& )]; %MethodCode Handle(HYDROData_PolylineXY) aRef = Handle(HYDROData_PolylineXY)::DownCast( createHandle( a0 ) ); @@ -110,7 +77,7 @@ public: * Returns reference hydraulic axis object of stream. */ HYDROData_PolylineXY GetHydraulicAxis() const - [Handle_HYDROData_PolylineXY ()]; + [opencascade::handle ()]; %MethodCode Handle(HYDROData_PolylineXY) aRef; @@ -127,33 +94,11 @@ public: */ 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. - */ -// 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. - * 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. - */ -// bool HasIntersection( const Handle(HYDROData_Profile)& theProfile, const TopoDS_Face& thePlane, -// Standard_Real& outPar) const; - - /** - * Builds a planar face - */ -// bool BuildFace( const Handle(HYDROData_PolylineXY)& theHydAxis, TopoDS_Face& thePlane) const; - /** * Add new one reference profile object for stream. */ bool AddProfile( HYDROData_Profile theProfile ) - [bool ( const Handle_HYDROData_Profile& )]; + [bool ( const opencascade::handle& )]; %MethodCode Handle(HYDROData_Profile) aRef = Handle(HYDROData_Profile)::DownCast( createHandle( a0 ) ); @@ -175,7 +120,7 @@ public: * Removes reference profile object from stream. */ bool RemoveProfile( HYDROData_Profile theProfile ) - [bool ( const Handle_HYDROData_Profile& )]; + [bool ( const opencascade::handle& )]; %MethodCode Handle(HYDROData_Profile) aRef = Handle(HYDROData_Profile)::DownCast( createHandle( a0 ) ); @@ -192,7 +137,52 @@ public: * Removes all reference profile objects from stream. */ void RemoveProfiles(); + + /** + * Generates bottom polyline for stream or update the existing bottom polyline. + */ + bool GenerateBottomPolyline(); + + /** + * Returns reference bottom polyline object of stream. + */ + HYDROData_Polyline3D GetBottomPolyline() const + [opencascade::handle ()]; + %MethodCode + Handle(HYDROData_Polyline3D) aRef; + + Py_BEGIN_ALLOW_THREADS + aRef = sipSelfWasArg ? sipCpp->HYDROData_Stream::GetBottomPolyline() : + sipCpp->GetBottomPolyline(); + Py_END_ALLOW_THREADS + + sipRes = (HYDROData_Polyline3D*)createPointer( aRef ); + %End + /** + * Sets reference bottom polyline object for stream. + */ + bool SetBottomPolyline( HYDROData_Polyline3D theBottom ) + [bool ( const opencascade::handle& )]; + %MethodCode + Handle(HYDROData_Polyline3D) aRef = + Handle(HYDROData_Polyline3D)::DownCast( createHandle( a0 ) ); + if ( !aRef.IsNull() ) + { + Py_BEGIN_ALLOW_THREADS + sipRes = sipSelfWasArg ? sipCpp->HYDROData_Stream::SetBottomPolyline( aRef ): + sipCpp->SetBottomPolyline( aRef ); + Py_END_ALLOW_THREADS + } + %End + + /** + * Add interpolated profiles into the stream. + * \param theInterpolator the interpolator + * \return true in case of success + */ + virtual bool Interpolate( HYDROData_IProfilesInterpolator* theInterpolator ); + protected: /** * Creates new object in the internal data structure. Use higher level objects