X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROPy%2FHYDROData_Bathymetry.sip;h=d1cb1eac83c332895b674bb4bdee3379dd302000;hb=3bece499e83cc9ca95536228c7f6740030e9d5d8;hp=36d9b510524e1e83d91e11f348249ec18fb204c5;hpb=f58865bdfb548ebba53ecb264f17ef357fa4c409;p=modules%2Fhydro.git diff --git a/src/HYDROPy/HYDROData_Bathymetry.sip b/src/HYDROPy/HYDROData_Bathymetry.sip index 36d9b510..d1cb1eac 100644 --- a/src/HYDROPy/HYDROData_Bathymetry.sip +++ b/src/HYDROPy/HYDROData_Bathymetry.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 @@ -39,8 +35,14 @@ class HYDROData_Bathymetry : public HYDROData_IAltitudeObject } %End - typedef gp_XYZ AltitudePoint; - typedef NCollection_Sequence AltitudePoints; +public: + struct AltitudePoint + { + double X; + double Y; + double Z; + }; + typedef std::vector AltitudePoints; %TypeHeaderCode @@ -48,69 +50,47 @@ class HYDROData_Bathymetry : public HYDROData_IAltitudeObject %End public: - // Public methods to work with Bathymetry altitudes. - - /** - * Returns altitude for given point. - * \param thePoint the point to examine - * \return altitude value - */ - double GetAltitudeForPoint( const gp_XY& thePoint ); - - /** - * Replace current altitude points by new one. - * \param thePoints the altitude points list - */ - virtual void SetAltitudePoints( const HYDROData_Bathymetry::AltitudePoints& ); - - /** - * Returns altitude points list. - * \return points list - */ + virtual void SetAltitudePoints( const HYDROData_Bathymetry::AltitudePoints& ); HYDROData_Bathymetry::AltitudePoints GetAltitudePoints() const; - /** - * Remove all altitude points. - */ - void RemoveAltitudePoints(); + NCollection_Sequence GetAltitudesForPoints( const NCollection_Sequence& theCoordsX, + const NCollection_Sequence& theCoordsY, + int theMethod = 0) const + [NCollection_Sequence ( const NCollection_Sequence&, int)]; + %MethodCode + NCollection_Sequence aPnts; + + int aLen = qMin( a0->Length(), a1->Length() ); + for ( int i = 1; i <= aLen; ++i ) + { + gp_XY aPnt( a0->Value( i ), a1->Value( i ) ); + aPnts.Append( aPnt ); + } + + int aMethod = a2; + + NCollection_Sequence aRes; + Py_BEGIN_ALLOW_THREADS + aRes = sipSelfWasArg ? sipCpp->HYDROData_Bathymetry::GetAltitudesForPoints( aPnts, aMethod ) : + sipCpp->GetAltitudesForPoints( aPnts, aMethod ); + Py_END_ALLOW_THREADS + + sipRes = new NCollection_Sequence( aRes ); + %End + + + void RemoveAltitudePoints(); public: - // Public methods to work with files. - - /** - * Set flag indicating needs to invert altitude values - * \param theIsInverted new invert value - * \param theIsUpdate flag indicating necessity to update points - */ - void SetAltitudesInverted( const bool theIsInverted, - const bool theIsUpdate = true ); - - /** - * Returns flag indicating needs to invert altitude values. - */ - bool IsAltitudesInverted() const; - - /** - * Imports Bathymetry data from file. The supported file types: - * - xyz - * \param theFileName the path to file - * \return \c true if file has been successfully read - */ - bool ImportFromFile( const TCollection_AsciiString& theFileName ); + void SetAltitudesInverted( const bool theIsInverted, const bool theIsUpdate = true ); + bool IsAltitudesInverted() const; + bool ImportFromFiles( const QStringList& theFileNames ); + bool ImportFromFile( const QString& theFileName ); protected: - - /** - * Creates new object in the internal data structure. Use higher level objects - * to create objects with real content. - */ HYDROData_Bathymetry(); - - /** - * Destructs properties of the object and object itself, removes it from the document. - */ ~HYDROData_Bathymetry(); };