X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROPy%2FHYDROData_Object.sip;h=5a0057fff5deecdd21073806910e6abcc9ce22d3;hb=dd18f623821ffdf422b2ba4452024105953f7e8a;hp=6a9e89b45b74d498404ab83d3f16b40cf4b279af;hpb=d84fadb6fba0d9ef3926995eab878175cc24e291;p=modules%2Fhydro.git diff --git a/src/HYDROPy/HYDROData_Object.sip b/src/HYDROPy/HYDROData_Object.sip index 6a9e89b4..5a0057ff 100644 --- a/src/HYDROPy/HYDROData_Object.sip +++ b/src/HYDROPy/HYDROData_Object.sip @@ -31,28 +31,84 @@ class HYDROData_Object : HYDROData_Entity /Abstract/ %End %ConvertToSubClassCode - if ( !Handle(HYDROData_ArtificialObject)::DownCast( sipCpp ).IsNull() ) - sipClass = sipClass_HYDROData_ArtificialObject; - else if ( !Handle(HYDROData_NaturalObject)::DownCast( sipCpp ).IsNull() ) - sipClass = sipClass_HYDROData_NaturalObject; - else - { - // HYDROData_Object sub-classes provide a unique kind ID. - switch ( sipCpp->GetKind() ) - { - case KIND_UNKNOWN: - sipClass = sipClass_HYDROData_Object; - break; - - default: - // We don't recognise the type. - sipClass = NULL; - } - } + // HYDROData_Object sub-classes provide a unique kind ID. + switch ( sipCpp->GetKind() ) + { + case KIND_OBSTACLE: + sipClass = sipClass_HYDROData_Obstacle; + break; + + case KIND_IMMERSIBLE_ZONE: + sipClass = sipClass_HYDROData_ImmersibleZone; + break; + + case KIND_DIGUE: + sipClass = sipClass_HYDROData_Digue; + break; + + case KIND_CHANNEL: + sipClass = sipClass_HYDROData_Channel; + break; + + case KIND_POLYLINE: + sipClass = sipClass_HYDROData_Polyline3D; + break; + + case KIND_PROFILE: + sipClass = sipClass_HYDROData_Profile; + break; + + case KIND_UNKNOWN: + sipClass = sipClass_HYDROData_Entity; + break; + + default: + // We don't recognise the type. + sipClass = NULL; + } %End public: + /** + * Set reference altitude object for geometry object. + */ + bool SetAltitudeObject( HYDROData_IAltitudeObject theAltitude ) [void (const Handle_HYDROData_IAltitudeObject&)]; + %MethodCode + + Handle(HYDROData_IAltitudeObject) aRefAltitude = + Handle(HYDROData_IAltitudeObject)::DownCast( createHandle( a0 ) ); + if ( !aRefAltitude.IsNull() ) + { + Py_BEGIN_ALLOW_THREADS + sipRes = sipSelfWasArg ? sipCpp->HYDROData_Object::SetAltitudeObject( aRefAltitude ) : + sipCpp->SetAltitudeObject( aRefAltitude ); + Py_END_ALLOW_THREADS + } + + %End + + /** + * Returns reference altitude object of geometry object. + */ + HYDROData_IAltitudeObject GetAltitudeObject() const [Handle_HYDROData_IAltitudeObject ()]; + %MethodCode + + Handle(HYDROData_IAltitudeObject) aRefAltitude; + + Py_BEGIN_ALLOW_THREADS + aRefAltitude = sipSelfWasArg ? sipCpp->HYDROData_Object::GetAltitudeObject() : + sipCpp->GetAltitudeObject(); + Py_END_ALLOW_THREADS + + sipRes = (HYDROData_IAltitudeObject*)createPointer( aRefAltitude ); + + %End + + /** + * Clear the reference altitude object for geometry object. + */ + void RemoveAltitudeObject(); protected: