Salome HOME
Merge branch 'BR_HYDRO_IMPS_2016' into pre/IMPS_2016
[modules/hydro.git] / src / HYDROData / HYDROData_Bathymetry.h
index 1fed12a2b4a6be2b0d23a099ab93c1be5207c6e2..8a0d8504aa2b07546d355556f0bd56ef973d7522 100644 (file)
 #define HYDROData_Bathymetry_HeaderFile
 
 #include "HYDROData_IAltitudeObject.h"
-#include "HYDROData_QuadtreeNode.hxx"
-
-#ifndef LIGHT_MODE
-#include <vtkPolyData.h>
-#include <vtkIdList.h>
-#endif
+#include <vector>
 
 class QFile;
 class gp_XYZ;
 class gp_XY;
 class Handle_HYDROData_PolylineXY;
-
+class HYDROData_QuadtreeNode;
+class vtkPolyData;
+class vtkIdList;
 
 DEFINE_STANDARD_HANDLE(HYDROData_Bathymetry, HYDROData_IAltitudeObject)
 
@@ -44,9 +41,16 @@ DEFINE_STANDARD_HANDLE(HYDROData_Bathymetry, HYDROData_IAltitudeObject)
 class HYDROData_Bathymetry : public HYDROData_IAltitudeObject
 {
 public:
+  struct HYDRODATA_EXPORT AltitudePoint
+  {
+    AltitudePoint( double x=0, double y=0, double z=0 );
+    double X;
+    double Y;
+    double Z;
 
-  typedef gp_XYZ                              AltitudePoint;
-  typedef NCollection_Sequence<AltitudePoint> AltitudePoints;
+    double SquareDistance( const AltitudePoint& ) const;
+  };
+  typedef std::vector<AltitudePoint> AltitudePoints;
 
 protected:
 
@@ -58,6 +62,7 @@ protected:
     DataTag_First = HYDROData_IAltitudeObject::DataTag_First + 100, ///< first tag, to reserve
     DataTag_AltitudePoints,    ///< altitude points, array of reals
     DataTag_FilePath,          ///< bathymetry imported file path
+    DataTag_FilePaths,         ///< bathymetry imported file paths
     DataTag_AltitudesInverted, ///< flag to invert z values
   };
 
@@ -120,11 +125,15 @@ public:
    */
   HYDRODATA_EXPORT void                     SetFilePath( const TCollection_AsciiString& theFilePath );
 
+  HYDRODATA_EXPORT void                     SetFilePaths( const QStringList& theFilePaths );
+
   /**
    * Returns uploaded bathymetry file path
    */
   HYDRODATA_EXPORT TCollection_AsciiString  GetFilePath() const;
 
+  HYDRODATA_EXPORT QStringList GetFilePaths() const;
+
   /**
    * Set flag indicating needs to invert altitude values
    * \param theIsInverted new invert value
@@ -144,7 +153,9 @@ public:
    * \param theFileName the path to file
    * \return \c true if file has been successfully read
    */
-  HYDRODATA_EXPORT virtual bool             ImportFromFile( const TCollection_AsciiString& theFileName );
+  HYDRODATA_EXPORT virtual bool             ImportFromFiles( const QStringList& theFileNames );
+
+  HYDRODATA_EXPORT virtual bool             ImportFromFile( const QString& theFileName );
 
   HYDRODATA_EXPORT Handle_HYDROData_PolylineXY CreateBoundaryPolyline() const;