X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROPy%2FHYDROData_Object.sip;h=6507f676b52dfe8845992ca741acc84376985f57;hb=8a7ea2f8613a246ad3c0d93676090cce942532d0;hp=7d63afcfd6f932e8e44aeb3fbac07085f09aaade;hpb=d0413fc6f8d2c004c7d2baac5d174c0502417d70;p=modules%2Fhydro.git diff --git a/src/HYDROPy/HYDROData_Object.sip b/src/HYDROPy/HYDROData_Object.sip index 7d63afcf..6507f676 100644 --- a/src/HYDROPy/HYDROData_Object.sip +++ b/src/HYDROPy/HYDROData_Object.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 @@ -20,113 +16,172 @@ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // - %ExportedHeaderCode #include %End -typedef int ObjectKind; - -class HYDROData_Object +class HYDROData_Object : public HYDROData_Entity /Abstract/ { %TypeHeaderCode #include %End %ConvertToSubClassCode - // HYDROData_Object sub-classes provide a unique kind ID. - switch ( sipCpp->GetKind() ) - { - case KIND_BATHYMETRY: - sipClass = sipClass_HYDROData_Bathymetry; - break; - - case KIND_UNKNOWN: - sipClass = sipClass_HYDROData_Object; - break; - - default: - // We don't recognise the type. - sipClass = NULL; - } + // HYDROData_Object sub-classes provide a unique kind ID. + switch ( sipCpp->GetKind() ) + { + case KIND_OBSTACLE: + sipClass = sipClass_HYDROData_Obstacle; + break; + + case KIND_CONFLUENCE: + sipClass = sipClass_HYDROData_Confluence; + break; + + case KIND_IMMERSIBLE_ZONE: + sipClass = sipClass_HYDROData_ImmersibleZone; + break; + + case KIND_DIGUE: + sipClass = sipClass_HYDROData_Digue; + break; + + case KIND_CHANNEL: + sipClass = sipClass_HYDROData_Channel; + break; + + case KIND_POLYLINE: + sipClass = sipClass_HYDROData_Polyline3D; + break; + + case KIND_PROFILE: + sipClass = sipClass_HYDROData_Profile; + break; + + case KIND_STREAM: + sipClass = sipClass_HYDROData_Stream; + break; + + case KIND_BC_POLYGON: + sipClass = sipClass_HYDROData_BCPolygon; + break; + + case KIND_UNKNOWN: + sipClass = sipClass_HYDROData_Entity; + break; + + default: + // We don't recognise the type. + sipClass = NULL; + } %End public: + /** - * Visual state data. + * Set reference altitude object for geometry object. */ - struct VisualState - { - bool Visibility; - double Transparency; - double ZValue; + bool SetAltitudeObject( HYDROData_IAltitudeObject theAltitude ) [void (const opencascade::handle&)]; + %MethodCode - VisualState(); - }; - - typedef QMap < int, HYDROData_Object::VisualState > ViewId2VisualStateMap; - typedef QMapIterator< int, HYDROData_Object::VisualState > ViewId2VisualStateMapIterator; + Handle(HYDROData_IAltitudeObject) aRefAltitude = + Handle(HYDROData_IAltitudeObject)::DownCast( createHandle( a0 ) ); + if ( !aRefAltitude.IsNull() ) + { + Py_BEGIN_ALLOW_THREADS + sipRes = sipSelfWasArg ? sipCpp->HYDROData_Object::SetAltitudeObject( aRefAltitude ) : + sipCpp->SetAltitudeObject( aRefAltitude ); + Py_END_ALLOW_THREADS + } -public: + %End /** - * Returns the kind of this object. Must be redefined in all objects of known type. + * Returns reference altitude object of geometry object. */ - //virtual const ObjectKind GetKind() const {return KIND_UNKNOWN;} + HYDROData_IAltitudeObject GetAltitudeObject() const [opencascade::handle ()]; + %MethodCode + + Handle(HYDROData_IAltitudeObject) aRefAltitude; + + Py_BEGIN_ALLOW_THREADS + aRefAltitude = sipSelfWasArg ? sipCpp->HYDROData_Object::GetAltitudeObject() : + sipCpp->GetAltitudeObject(); + Py_END_ALLOW_THREADS + + sipRes = (HYDROData_IAltitudeObject*)createPointer( aRefAltitude ); + + %End /** - * Returns the name of this object. + * Clear the reference altitude object for geometry object. */ - QString GetName() const; + void RemoveAltitudeObject(); /** - * Updates the name of this object. + * Sets filling color for zone. */ - void SetName(const QString& theName); + virtual void SetFillingColor( const QColor& theColor ); /** - * Returns the object visibility state for the view with specified id. - * \param theViewId view id - * \returns visibility state + * Returns filling color of zone. */ - bool IsVisible( const int theViewId ) const; + virtual QColor GetFillingColor() const; /** - * Sets the object visibility state for the view with specified id. - * \param theViewId view id - * \param theVal visibility state + * Sets border color for zone. */ - void SetVisible( const int theViewId, - const bool theVal ); + virtual void SetBorderColor( const QColor& theColor ); /** - * Checks is object exists in the data structure. - * \returns true is object is not exists in the data model + * Returns border color of zone. */ - bool IsRemoved() const; + virtual QColor GetBorderColor() const; + /** - * Removes object from the data structure. + * Returns sequence of object groups. */ - void Remove(); + HYDROData_SequenceOfObjects GetGroups() const; /** - * Returns unique integer identifier of the object (may be used for ordering of objects) + * Returns group data model object by it id. */ - int ID() const; + HYDROData_ShapesGroup GetGroup( const int theGroupId ) const [opencascade::handle ()]; + %MethodCode + + Handle(HYDROData_ShapesGroup) aRefGroup; + + Py_BEGIN_ALLOW_THREADS + aRefGroup = sipSelfWasArg ? sipCpp->HYDROData_Object::GetGroup( a0 ) : + sipCpp->GetGroup( a0 ); + Py_END_ALLOW_THREADS + + sipRes = (HYDROData_ShapesGroup*)createPointer( aRefGroup ); + + %End /** - * Copies all properties of this to the destinated object. - * Objects must be the same type. - * \param theDestination initialized object (from any document) - target of copying + * Returns group id by data model object. */ - /* - void CopyTo( HYDROData_Object theDestination ) const; - */ + int GetGroupId( HYDROData_ShapesGroup theGroup ) const [int (const opencascade::handle&)]; + %MethodCode -protected: + Handle(HYDROData_ShapesGroup) aRefGroup = + Handle(HYDROData_ShapesGroup)::DownCast( createHandle( a0 ) ); + if ( !aRefGroup.IsNull() ) + { + Py_BEGIN_ALLOW_THREADS + sipRes = sipSelfWasArg ? sipCpp->HYDROData_Object::GetGroupId( aRefGroup ) : + sipCpp->GetGroupId( aRefGroup ); + Py_END_ALLOW_THREADS + } - //friend class HYDROData_Iterator; + %End + + void SetIsSubmersible( bool ) const; + +protected: /** * Creates new object in the internal data structure. Use higher level objects