X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROPy%2FHYDROData_Zone.sip;h=31e1dd2c711ba9d9431615a83a4f34edcbbf6437;hb=10a9948d19f358b0ccf850d362d8ad8173b3ea5f;hp=2b4f4d7da1ddc61c8c9bad433cd609009931d8f6;hpb=8543e637cbb4ae48998c596241fce567a729eb67;p=modules%2Fhydro.git diff --git a/src/HYDROPy/HYDROData_Zone.sip b/src/HYDROPy/HYDROData_Zone.sip index 2b4f4d7d..31e1dd2c 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,13 +20,9 @@ #include %End -class HYDROData_Zone : HYDROData_Entity +class HYDROData_Zone : public HYDROData_Entity { -%TypeHeaderCode -#include -%End - %ConvertToSubClassCode switch ( sipCpp->GetKind() ) { @@ -44,10 +36,14 @@ class HYDROData_Zone : HYDROData_Entity } %End +%TypeHeaderCode +#include +%End + public: // Enumeration of mergin types for conflict altitudes - enum MergeAltitudesType + enum MergeType { Merge_ZMIN, // The minimum values Merge_ZMAX, // The maximum values @@ -60,12 +56,12 @@ public: * Sets the merging type for conflict altitudes. * By default it is set to Merge_ZMIN. */ - void SetMergeType( const MergeAltitudesType& theType ); + void SetMergeType( const MergeType& theType ); /** * Returns the merging type for conflict altitudes. */ - MergeAltitudesType GetMergeType() const; + MergeType GetMergeType() const; /** @@ -80,8 +76,8 @@ public: if ( !aRefAltitude.IsNull() ) { Py_BEGIN_ALLOW_THREADS - sipSelfWasArg ? sipCpp->HYDROData_Zone::SetMergeAltitude( aRefAltitude ) : - sipCpp->SetMergeAltitude( aRefAltitude ); + sipSelfWasArg ? sipCpp->HYDROData_Zone::SetMergeObject( aRefAltitude ) : + sipCpp->SetMergeObject( aRefAltitude ); Py_END_ALLOW_THREADS } @@ -96,8 +92,9 @@ public: Handle(HYDROData_IAltitudeObject) aRefAltitude; Py_BEGIN_ALLOW_THREADS - aRefAltitude = sipSelfWasArg ? sipCpp->HYDROData_Zone::GetMergeAltitude() : - sipCpp->GetMergeAltitude(); + 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 ); @@ -108,35 +105,97 @@ public: * Removes the reference altitude for resolving the conflict. */ void RemoveMergeAltitude(); + %MethodCode + + Py_BEGIN_ALLOW_THREADS + sipSelfWasArg ? sipCpp->HYDROData_Zone::RemoveMergeObject() : + sipCpp->RemoveMergeObject(); + Py_END_ALLOW_THREADS + + %End + + /** + * Sets the reference object to resolve the conflict. + * This object is used only in case of "Merge_Object" merge type. + */ + void SetMergeObject( HYDROData_Entity theObject ) [void (const Handle_HYDROData_Entity&)]; + %MethodCode + + Handle(HYDROData_Entity) aRefObject = + Handle(HYDROData_Entity)::DownCast( createHandle( a0 ) ); + if ( !aRefObject.IsNull() ) + { + Py_BEGIN_ALLOW_THREADS + sipSelfWasArg ? sipCpp->HYDROData_Zone::SetMergeObject( aRefObject ) : + sipCpp->SetMergeObject( aRefObject ); + Py_END_ALLOW_THREADS + } + + %End + + /** + * Returns the reference object to resolve the conflict. + */ + HYDROData_Entity GetMergeObject() const [Handle_HYDROData_Entity ()]; + %MethodCode + + Handle(HYDROData_Entity) aRefObject; + + Py_BEGIN_ALLOW_THREADS + aRefObject = sipSelfWasArg ? sipCpp->HYDROData_Zone::GetMergeObject() : + sipCpp->GetMergeObject(); + Py_END_ALLOW_THREADS + + sipRes = (HYDROData_Entity*)createPointer( aRefObject ); + + %End + /** + * Removes the reference object for resolving the conflict. + */ + void RemoveMergeObject(); /** - * dd new one geometry object for zone. + * Add new one object for zone. */ - void AddGeometryObject( HYDROData_Object theRegion ) [void (const Handle_HYDROData_Object&)]; + void AddObject( HYDROData_Entity theObject ) [void (const Handle_HYDROData_Entity&)]; %MethodCode - Handle(HYDROData_Object) aGeomObj = - Handle(HYDROData_Object)::DownCast( createHandle( a0 ) ); - if ( !aGeomObj.IsNull() ) + Handle(HYDROData_Entity) anObj = + Handle(HYDROData_Entity)::DownCast( createHandle( a0 ) ); + if ( !anObj.IsNull() ) { Py_BEGIN_ALLOW_THREADS - sipSelfWasArg ? sipCpp->HYDROData_Zone::AddGeometryObject( aGeomObj ) : - sipCpp->AddGeometryObject( aGeomObj ); + sipSelfWasArg ? sipCpp->HYDROData_Zone::AddObject( anObj ) : + sipCpp->AddObject( anObj ); Py_END_ALLOW_THREADS } %End /** - * Returns all geometry objects of zone. + * Returns all objects of zone. + */ + HYDROData_SequenceOfObjects GetObjects() const; + + /** + * Removes all objects from zone. + */ + void RemoveObjects(); + + + /** + * Sets the interpolator for zone. By default it is NULL and original + * interpolation algorithms are used to calculate points altitudes. + * If you set interpolator it won't be stored in the data model structure, + * it will be deleted during that time as this zone will be freed. */ - //HYDROData_SequenceOfObjects GetGeometryObjects() const; + void SetInterpolator( HYDROData_IInterpolator* theInter ); /** - * Removes all geometry objects from zone. + * * Returns the interpolator of zone object. */ - void RemoveGeometryObjects(); + HYDROData_IInterpolator* GetInterpolator() const; protected: