X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROPy%2FHYDROData_Zone.sip;h=ff034d86b1799fc1498d10b6819d06cf21656042;hb=bf43e7f40bfb4de772c00d372241335b5f85bc47;hp=c7c4bb7e7818cd75367ec5a300b96de705bc26ee;hpb=8409849256ec79e1fe34fa460d46f0a91e646606;p=modules%2Fhydro.git diff --git a/src/HYDROPy/HYDROData_Zone.sip b/src/HYDROPy/HYDROData_Zone.sip index c7c4bb7e..ff034d86 100644 --- a/src/HYDROPy/HYDROData_Zone.sip +++ b/src/HYDROPy/HYDROData_Zone.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 @@ -24,83 +20,120 @@ #include %End -class HYDROData_Zone : HYDROData_Domain +class HYDROData_Zone : public HYDROData_Entity { -%TypeHeaderCode -#include +%ConvertToSubClassCode + switch ( sipCpp->GetKind() ) + { + case KIND_ZONE: + sipClass = sipClass_HYDROData_Zone; + break; + + default: + // We don't recognise the type. + sipClass = NULL; + } %End -%ConvertToSubClassCode - if ( !Handle(HYDROData_Zone)::DownCast( sipCpp ).IsNull() ) - sipClass = sipClass_HYDROData_Zone; - else - sipClass = NULL; +%TypeHeaderCode +#include %End public: - const ObjectKind GetKind() const; + // Enumeration of mergin types for conflict altitudes + enum MergeType + { + Merge_ZMIN, // The minimum values + Merge_ZMAX, // The maximum values + Merge_Object // Only one altitude will be taken into account + }; public: - /** - * Sets reference polyline object for zone. - */ - void SetPolyline( HYDROData_Polyline thePolyline ) [void (const Handle_HYDROData_Polyline&)]; - %MethodCode + void SetMergeType( const MergeType& theType ); + MergeType GetMergeType() const; - Handle(HYDROData_Polyline) aRefPolyline = - Handle(HYDROData_Polyline)::DownCast( createHandle( a0 ) ); - if ( !aRefPolyline.IsNull() ) + void SetMergeAltitude( HYDROData_IAltitudeObject theAltitude ) + [void (const opencascade::handle&)]; + %MethodCode + Handle(HYDROData_IAltitudeObject) aRefAltitude = + Handle(HYDROData_IAltitudeObject)::DownCast( createHandle( a0 ) ); + if ( !aRefAltitude.IsNull() ) { Py_BEGIN_ALLOW_THREADS - sipSelfWasArg ? sipCpp->HYDROData_Zone::SetPolyline( aRefPolyline ) : - sipCpp->SetPolyline( aRefPolyline ); + sipSelfWasArg ? sipCpp->HYDROData_Zone::SetMergeObject( aRefAltitude ) : + sipCpp->SetMergeObject( aRefAltitude ); Py_END_ALLOW_THREADS } + %End + HYDROData_IAltitudeObject GetMergeAltitude() const [opencascade::handle ()]; + %MethodCode + Handle(HYDROData_IAltitudeObject) aRefAltitude; + Py_BEGIN_ALLOW_THREADS + Handle(HYDROData_Entity) aRefObject = sipSelfWasArg ? sipCpp->HYDROData_Zone::GetMergeObject() : + sipCpp->GetMergeObject(); + aRefAltitude = Handle(HYDROData_IAltitudeObject)::DownCast( aRefObject ); + Py_END_ALLOW_THREADS + sipRes = (HYDROData_IAltitudeObject*)createPointer( aRefAltitude ); %End - /** - * Returns reference polyline object of zone. - */ - HYDROData_Polyline GetPolyline() const [Handle_HYDROData_Polyline ()]; + void RemoveMergeAltitude(); %MethodCode + Py_BEGIN_ALLOW_THREADS + sipSelfWasArg ? sipCpp->HYDROData_Zone::RemoveMergeObject() : + sipCpp->RemoveMergeObject(); + Py_END_ALLOW_THREADS + %End - Handle(HYDROData_Polyline) aRefPolyline; - + void SetMergeObject( HYDROData_Entity theObject ) [void (const opencascade::handle&)]; + %MethodCode + Handle(HYDROData_Entity) aRefObject = createHandle( a0 ); + if ( !aRefObject.IsNull() ) + { + Py_BEGIN_ALLOW_THREADS + sipSelfWasArg ? sipCpp->HYDROData_Zone::SetMergeObject( aRefObject ) : + sipCpp->SetMergeObject( aRefObject ); + Py_END_ALLOW_THREADS + } + %End + + HYDROData_Entity GetMergeObject() const [opencascade::handle ()]; + %MethodCode + Handle(HYDROData_Entity) aRefObject; Py_BEGIN_ALLOW_THREADS - aRefPolyline = sipSelfWasArg ? sipCpp->HYDROData_Zone::GetPolyline() : - sipCpp->GetPolyline(); + aRefObject = sipSelfWasArg ? sipCpp->HYDROData_Zone::GetMergeObject() : + sipCpp->GetMergeObject(); Py_END_ALLOW_THREADS - - sipRes = (HYDROData_Polyline*)createPointer( aRefPolyline ); - + sipRes = (HYDROData_Entity*)createPointer( aRefObject ); + %End + + void RemoveMergeObject(); + + void AddObject( HYDROData_Entity theObject ) [void (const opencascade::handle&)]; + %MethodCode + + Handle(HYDROData_Entity) anObj = createHandle( a0 ); + if ( !anObj.IsNull() ) + { + Py_BEGIN_ALLOW_THREADS + sipSelfWasArg ? sipCpp->HYDROData_Zone::AddObject( anObj ) : + sipCpp->AddObject( anObj ); + Py_END_ALLOW_THREADS + } + %End - /** - * Remove reference polyline object of zone. - */ - void RemovePolyline(); + HYDROData_SequenceOfObjects GetObjects() const; - /** - * Returns the painter path. The painter path is construct by polyline - */ - QPainterPath GetPainterPath() const; + void RemoveObjects(); + void SetInterpolator( HYDROData_IInterpolator* theInter ); + HYDROData_IInterpolator* GetInterpolator() const; protected: - /** - * Creates new object in the internal data structure. Use higher level objects - * to create objects with real content. - */ HYDROData_Zone(); - - /** - * Destructs properties of the object and object itself, removes it from the document. - */ ~HYDROData_Zone(); }; - -