// 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 MergeType { 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 MergeType& theType ); /** * Returns the merging type for conflict altitudes. */ MergeType 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::SetMergeObject( aRefAltitude ) : sipCpp->SetMergeObject( 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 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 /** * 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(); /** * Add new one object for zone. */ void AddObject( HYDROData_Entity theObject ) [void (const Handle_HYDROData_Entity&)]; %MethodCode Handle(HYDROData_Entity) anObj = Handle(HYDROData_Entity)::DownCast( createHandle( a0 ) ); if ( !anObj.IsNull() ) { Py_BEGIN_ALLOW_THREADS sipSelfWasArg ? sipCpp->HYDROData_Zone::AddObject( anObj ) : sipCpp->AddObject( anObj ); Py_END_ALLOW_THREADS } %End /** * 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. */ 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(); };