]> SALOME platform Git repositories - modules/hydro.git/blob - src/HYDROData/HYDROData_IInterpolator.h
Salome HOME
Custom interpolator object interface implemented.
[modules/hydro.git] / src / HYDROData / HYDROData_IInterpolator.h
1
2 #ifndef HYDROData_IInterpolator_HeaderFile
3 #define HYDROData_IInterpolator_HeaderFile
4
5 #include "HYDROData_IAltitudeObject.h"
6
7 class gp_XY;
8
9 /**\class HYDROData_IInterpolator
10  * \brief The base class to provide interface for interpolation.
11  */
12 class HYDROData_IInterpolator
13 {
14 public:
15
16   /**
17    * Public empty constructor.
18    */
19   HYDRODATA_EXPORT HYDROData_IInterpolator();
20
21   /**
22    * Public virtual destructor.
23    */
24   virtual HYDRODATA_EXPORT ~HYDROData_IInterpolator();
25
26 public:
27
28   /**
29    * Returns the altitude value for given point.
30    * Reimplement this method in order to change the interpolation algorithm.
31    */
32   virtual HYDRODATA_EXPORT double GetAltitudeForPoint( 
33     const double theCoordX, const double theCoordY ) const;
34
35   /**
36    * Returns the altitude value for given point.
37    */
38   HYDRODATA_EXPORT double GetAltitudeForPoint( const gp_XY& thePoint ) const;
39
40
41 public:
42
43   /**
44    * Sets the altitude object for interpolation.
45    */
46   HYDRODATA_EXPORT void SetAltitudeObject( 
47     const Handle(HYDROData_IAltitudeObject)& theAltitude );
48
49   /**
50    * Returns the altitude object for interpolation.
51    */
52   HYDRODATA_EXPORT Handle(HYDROData_IAltitudeObject) GetAltitudeObject() const;
53
54 private:
55   Handle(HYDROData_IAltitudeObject)  myAltitudeObject;
56 };
57
58 #endif