// 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, 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 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // %ExportedHeaderCode #include %End class HYDROData_Zone : public HYDROData_Entity { %ConvertToSubClassCode switch ( sipCpp->GetKind() ) { case KIND_ZONE: sipClass = sipClass_HYDROData_Zone; break; default: // We don't recognise the type. sipClass = NULL; } %End %TypeHeaderCode #include %End public: // Enumeration of mergin types for conflict altitudes enum MergeAltitudesType { Merge_ZMIN, // The minimum values Merge_ZMAX, // The maximum values Merge_Object // Only one altitude will be taken into account }; public: /** * Sets the merging type for conflict altitudes. * By default it is set to Merge_ZMIN. */ void SetMergeType( const MergeAltitudesType& theType ); /** * Returns the merging type for conflict altitudes. */ MergeAltitudesType GetMergeType() const; /** * Sets the reference altitude to resolve the conflict. * This object is used only in case of "Merge_Object" merge type. */ void SetMergeAltitude( 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 sipSelfWasArg ? sipCpp->HYDROData_Zone::SetMergeAltitude( aRefAltitude ) : sipCpp->SetMergeAltitude( aRefAltitude ); Py_END_ALLOW_THREADS } %End /** * Returns the reference altitude to resolve the conflict. */ HYDROData_IAltitudeObject GetMergeAltitude() const [Handle_HYDROData_IAltitudeObject ()]; %MethodCode Handle(HYDROData_IAltitudeObject) aRefAltitude; Py_BEGIN_ALLOW_THREADS aRefAltitude = sipSelfWasArg ? sipCpp->HYDROData_Zone::GetMergeAltitude() : sipCpp->GetMergeAltitude(); Py_END_ALLOW_THREADS sipRes = (HYDROData_IAltitudeObject*)createPointer( aRefAltitude ); %End /** * Removes the reference altitude for resolving the conflict. */ void RemoveMergeAltitude(); /** * dd new one geometry object for zone. */ void AddGeometryObject( HYDROData_Object theRegion ) [void (const Handle_HYDROData_Object&)]; %MethodCode Handle(HYDROData_Object) aGeomObj = Handle(HYDROData_Object)::DownCast( createHandle( a0 ) ); if ( !aGeomObj.IsNull() ) { Py_BEGIN_ALLOW_THREADS sipSelfWasArg ? sipCpp->HYDROData_Zone::AddGeometryObject( aGeomObj ) : sipCpp->AddGeometryObject( aGeomObj ); Py_END_ALLOW_THREADS } %End /** * Returns all geometry objects of zone. */ HYDROData_SequenceOfObjects GetGeometryObjects() const; /** * Removes all geometry objects from zone. */ void RemoveGeometryObjects(); /** * 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. */ void SetInterpolator( HYDROData_IInterpolator* theInter ); /** * * Returns the interpolator of zone object. */ 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(); };