X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROPy%2FHYDROData_Channel.sip;h=6efa4261abff0188d9e419d26eb7dfbf612bd86e;hb=474c2cd65280d793f1c81ca528bc92e1cff988e6;hp=6c81449e18eac4dc8f522b79168244527eadf93d;hpb=1ec37f9d5e793698adfc0c1897d097ce14d287f1;p=modules%2Fhydro.git diff --git a/src/HYDROPy/HYDROData_Channel.sip b/src/HYDROPy/HYDROData_Channel.sip index 6c81449e..6efa4261 100644 --- a/src/HYDROPy/HYDROData_Channel.sip +++ b/src/HYDROPy/HYDROData_Channel.sip @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2015 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 @@ -6,7 +6,7 @@ // 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 @@ -30,6 +30,24 @@ class HYDROData_Channel : public HYDROData_ArtificialObject #include "HYDROData_Channel.h" %End +%ConvertToSubClassCode + // HYDROData_Channel sub-classes provide a unique kind ID. + switch ( sipCpp->GetKind() ) + { + case KIND_DIGUE: + sipClass = sipClass_HYDROData_Digue; + break; + + case KIND_UNKNOWN: + sipClass = sipClass_HYDROData_ArtificialObject; + break; + + default: + // We don't recognise the type. + sipClass = NULL; + } +%End + public: /** * Returns default filling color for new channel. @@ -48,33 +66,79 @@ public: /** * Sets reference guide line object for channel. */ - virtual bool SetGuideLine( const Handle(HYDROData_Polyline3D)& theGuideLine ); + bool SetGuideLine( HYDROData_Polyline3D theGuideLine ) + [bool ( const Handle_HYDROData_Polyline3D& )]; + %MethodCode + Handle(HYDROData_Polyline3D) aRef = + Handle(HYDROData_Polyline3D)::DownCast( createHandle( a0 ) ); + if ( !aRef.IsNull() ) + { + Py_BEGIN_ALLOW_THREADS + sipRes = sipSelfWasArg ? sipCpp->HYDROData_Channel::SetGuideLine( aRef ): + sipCpp->SetGuideLine( aRef ); + Py_END_ALLOW_THREADS + } + %End /** * Returns reference guide line object of channel. */ - virtual Handle(HYDROData_Polyline3D) GetGuideLine() const; + HYDROData_Polyline3D GetGuideLine() const + [Handle_HYDROData_Polyline3D ()]; + %MethodCode + Handle(HYDROData_Polyline3D) aRef; + + Py_BEGIN_ALLOW_THREADS + aRef = sipSelfWasArg ? sipCpp->HYDROData_Channel::GetGuideLine() : + sipCpp->GetGuideLine(); + Py_END_ALLOW_THREADS + + sipRes = (HYDROData_Polyline3D*)createPointer( aRef ); + %End /** * Remove reference guide line object from channel. */ - virtual void RemoveGuideLine(); + void RemoveGuideLine(); /** * Sets reference profile object for channel. */ - virtual bool SetProfile( const Handle(HYDROData_Profile)& theProfile ); + bool SetProfile( HYDROData_Profile theProfile ) + [bool ( const Handle_HYDROData_Profile& )]; + %MethodCode + Handle(HYDROData_Profile) aRef = + Handle(HYDROData_Profile)::DownCast( createHandle( a0 ) ); + if ( !aRef.IsNull() ) + { + Py_BEGIN_ALLOW_THREADS + sipRes = sipSelfWasArg ? sipCpp->HYDROData_Channel::SetProfile( aRef ): + sipCpp->SetProfile( aRef ); + Py_END_ALLOW_THREADS + } + %End /** * Returns reference profile object of channel. */ - virtual Handle(HYDROData_Profile) GetProfile() const; + HYDROData_Profile GetProfile() const + [Handle_HYDROData_Profile ()]; + %MethodCode + Handle(HYDROData_Profile) aRef; + + Py_BEGIN_ALLOW_THREADS + aRef = sipSelfWasArg ? sipCpp->HYDROData_Channel::GetProfile() : + sipCpp->GetProfile(); + Py_END_ALLOW_THREADS + + sipRes = (HYDROData_Profile*)createPointer( aRef ); + %End /** * Remove reference profile object from channel. */ - virtual void RemoveProfile(); + void RemoveProfile(); protected: