Salome HOME
refs #653, #665 - 669: start implementation of features.
[modules/hydro.git] / src / HYDROPy / HYDROData_Bathymetry.sip
1 // Copyright (C) 2014-2015  EDF-R&D
2 // This library is free software; you can redistribute it and/or
3 // modify it under the terms of the GNU Lesser General Public
4 // License as published by the Free Software Foundation; either
5 // version 2.1 of the License, or (at your option) any later version.
6 //
7 // This library is distributed in the hope that it will be useful,
8 // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
10 // Lesser General Public License for more details.
11 //
12 // You should have received a copy of the GNU Lesser General Public
13 // License along with this library; if not, write to the Free Software
14 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
15 //
16 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
17 //
18
19 %ExportedHeaderCode
20 #include <HYDROData_Bathymetry.h>
21 %End
22
23 class HYDROData_Bathymetry : public HYDROData_IAltitudeObject
24 {
25 %ConvertToSubClassCode
26     switch ( sipCpp->GetKind() )
27     {
28       case KIND_BATHYMETRY:
29         sipClass = sipClass_HYDROData_Bathymetry;
30         break;
31
32       default:
33         // We don't recognise the type.
34         sipClass = NULL;
35     }
36 %End
37
38   typedef gp_XYZ                       AltitudePoint;
39   typedef NCollection_Sequence<gp_XYZ> AltitudePoints;
40
41
42 %TypeHeaderCode
43 #include <HYDROData_Bathymetry.h>
44 %End
45
46 public:      
47   // Public methods to work with Bathymetry altitudes.
48
49   /**
50    * Replace current altitude points by new one.
51    * \param thePoints the altitude points list
52    */
53   virtual void             SetAltitudePoints( const HYDROData_Bathymetry::AltitudePoints& );
54
55   /**
56    * Returns altitude points list.
57    * \return points list
58    */
59   HYDROData_Bathymetry::AltitudePoints GetAltitudePoints() const;
60
61   /**
62    * Remove all altitude points.
63    */
64   void             RemoveAltitudePoints();
65
66
67 public:
68   // Public methods to work with files.
69
70   /**
71    * Set flag indicating needs to invert altitude values
72    * \param theIsInverted new invert value
73    * \param theIsUpdate flag indicating necessity to update points
74    */
75   void             SetAltitudesInverted( const bool theIsInverted,
76                                          const bool theIsUpdate = true );
77
78   /**
79    * Returns flag indicating needs to invert altitude values.
80    */
81   bool             IsAltitudesInverted() const;
82
83   /**
84    * Imports Bathymetry data from file. The supported file types:
85    *  - xyz
86    * \param theFileName the path to file
87    * \return \c true if file has been successfully read
88    */
89   bool             ImportFromFile( const TCollection_AsciiString& theFileName );
90
91
92 protected:
93
94   /**
95    * Creates new object in the internal data structure. Use higher level objects 
96    * to create objects with real content.
97    */
98   HYDROData_Bathymetry();
99
100   /**
101    * Destructs properties of the object and object itself, removes it from the document.
102    */
103   ~HYDROData_Bathymetry();
104 };
105
106