// 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 // // 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. // // 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_Region : HYDROData_Entity { %TypeHeaderCode #include %End %ConvertToSubClassCode switch ( sipCpp->GetKind() ) { case KIND_REGION: sipClass = sipClass_HYDROData_Region; break; default: // We don't recognise the type. sipClass = NULL; } %End public: // Enumeration of mergin types for conflict bathymetries enum MergeBathymetriesType { Merge_ZMIN, Merge_ZMAX }; public: /** * Create new one reference zone for region on child label. * The new zone is not added into the list of reference zones. */ HYDROData_Zone AddNewZone() [Handle_HYDROData_Zone ()]; %MethodCode Handle(HYDROData_Zone) aNewZone; Py_BEGIN_ALLOW_THREADS aNewZone = sipSelfWasArg ? sipCpp->HYDROData_Region::AddNewZone() : sipCpp->AddNewZone(); Py_END_ALLOW_THREADS sipRes = (HYDROData_Zone*)createPointer( aNewZone ); %End /** * Removes all child zones from region. */ void RemoveChildZones(); /** * Sets the merging type for conflict bathymetries. * By default it is set to Merge_ZMIN. */ void SetMergeType( const MergeBathymetriesType& theType ); /** * Returns the merging type for conflict bathymetries. */ MergeBathymetriesType GetMergeType() const; /** * Returns number of reference zones of region. */ int NbZones() const; /** * Add new one reference zone for region. */ void AddZone( HYDROData_Zone theZone ) [void (const Handle_HYDROData_Zone&)]; %MethodCode Handle(HYDROData_Zone) aZone = Handle(HYDROData_Zone)::DownCast( createHandle( a0 ) ); if ( !aZone.IsNull() ) { Py_BEGIN_ALLOW_THREADS sipSelfWasArg ? sipCpp->HYDROData_Region::AddZone( aZone ) : sipCpp->AddZone( aZone ); Py_END_ALLOW_THREADS } %End /** * Replace the reference zone for region. */ void SetZone( const int theIndex, HYDROData_Zone theZone ) [void (const int, const Handle_HYDROData_Zone&)]; %MethodCode Handle(HYDROData_Zone) aZone = Handle(HYDROData_Zone)::DownCast( createHandle( a1 ) ); if ( !aZone.IsNull() ) { Py_BEGIN_ALLOW_THREADS sipSelfWasArg ? sipCpp->HYDROData_Region::SetZone( a0, aZone ) : sipCpp->SetZone( a0, aZone ); Py_END_ALLOW_THREADS } %End /** * Inserts the reference zone for region before given index. */ void InsertZone( const int theBeforeIndex, HYDROData_Zone theZone ) [void (const int, const Handle_HYDROData_Zone&)]; %MethodCode Handle(HYDROData_Zone) aZone = Handle(HYDROData_Zone)::DownCast( createHandle( a1 ) ); if ( !aZone.IsNull() ) { Py_BEGIN_ALLOW_THREADS sipSelfWasArg ? sipCpp->HYDROData_Region::InsertZone( a0, aZone ) : sipCpp->InsertZone( a0, aZone ); Py_END_ALLOW_THREADS } %End /** * Sets reference zones for calculation region. */ //void SetZones( const HYDROData_SequenceOfObjects& theZones ); /** * Returns reference zone of region by index. */ HYDROData_Zone GetZone( const int theIndex ) const [Handle_HYDROData_Zone (const int)]; %MethodCode Handle(HYDROData_Zone) aRefZone; Py_BEGIN_ALLOW_THREADS aRefZone = sipSelfWasArg ? sipCpp->HYDROData_Region::GetZone( a0 ) : sipCpp->GetZone( a0 ); Py_END_ALLOW_THREADS sipRes = (HYDROData_Zone*)createPointer( aRefZone ); %End /** * Returns all reference zone of region. */ //void HYDROData_SequenceOfObjects GetZones() const; /** * Removes reference zone from region. */ void RemoveZone( HYDROData_Zone theZone ) [void (const Handle_HYDROData_Zone&)]; %MethodCode Handle(HYDROData_Zone) aZone = Handle(HYDROData_Zone)::DownCast( createHandle( a0 ) ); if ( !aZone.IsNull() ) { Py_BEGIN_ALLOW_THREADS sipSelfWasArg ? sipCpp->HYDROData_Region::RemoveZone( aZone ) : sipCpp->RemoveZone( aZone ); Py_END_ALLOW_THREADS } %End /** * Removes reference zone from region by it index. */ void RemoveZone( const int theIndex ); /** * Removes all reference zones from region. */ void RemoveZones(); protected: /** * Creates new object in the internal data structure. Use higher level objects * to create objects with real content. */ HYDROData_Region(); /** * Destructs properties of the object and object itself, removes it from the document. */ ~HYDROData_Region(); };