Salome HOME
Merge remote-tracking branch 'origin/BR_SHAPE_RECOGNITION' into BR_v14_rc
[modules/hydro.git] / src / HYDROPy / HYDROData_IInterpolator.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_IInterpolator.h>
21 %End
22
23 /**\class HYDROData_IInterpolator
24  * \brief The base class to provide interface for interpolation.
25  */
26 class HYDROData_IInterpolator
27 {
28 %TypeHeaderCode
29 #include <HYDROData_IInterpolator.h>
30 %End
31
32 public:
33
34   /**
35    * Public empty constructor.
36    */
37   HYDROData_IInterpolator();
38
39   /**
40    * Public virtual destructor.
41    */
42   virtual ~HYDROData_IInterpolator();
43   
44 public:
45
46   /**
47    * Returns the altitude value for given point.
48    * Reimplement this method in order to change the interpolation algorithm.
49    */
50   virtual double GetAltitudeForPoint( const double theCoordX,
51                                       const double theCoordY ) const;
52
53 public:
54
55   /**
56    * Sets the altitude object for interpolation.
57    */
58   void SetAltitudeObject( HYDROData_IAltitudeObject theAltitude ) 
59   [void ( const Handle_HYDROData_IAltitudeObject& )];
60   %MethodCode
61     Handle(HYDROData_IAltitudeObject) anAltitude =
62       Handle(HYDROData_IAltitudeObject)::DownCast( createHandle( a0 ) );
63     if ( !anAltitude.IsNull() )
64     {
65       Py_BEGIN_ALLOW_THREADS
66       sipSelfWasArg ? sipCpp->HYDROData_IInterpolator::SetAltitudeObject( anAltitude ):
67                       sipCpp->SetAltitudeObject( anAltitude );
68       Py_END_ALLOW_THREADS
69
70     }
71   %End
72
73
74   /**
75    * Returns the altitude object for interpolation.
76    */
77   HYDROData_IAltitudeObject GetAltitudeObject() const [Handle_HYDROData_IAltitudeObject ()];
78   %MethodCode
79     Handle(HYDROData_IAltitudeObject) aRes;
80     
81     Py_BEGIN_ALLOW_THREADS
82     aRes = sipSelfWasArg ? sipCpp->HYDROData_IInterpolator::GetAltitudeObject() : 
83                            sipCpp->GetAltitudeObject();
84     Py_END_ALLOW_THREADS
85     
86     sipRes = (HYDROData_IAltitudeObject*)createPointer( aRes );
87   %End
88 };