22#ifndef NRLIB_SURFACE_HPP
23#define NRLIB_SURFACE_HPP
36 virtual A
GetZ(
double x,
double y)
const = 0;
39 double y_min,
double y_max)
const = 0;
45 virtual void Add(A c) = 0;
49 virtual A
Min()
const = 0;
50 virtual A
Max()
const = 0;
72 A
GetZ(
double ,
double )
const
76 double ,
double )
const
87 A
Min()
const {
return(z_);}
88 A
Max()
const {
return(z_);}
92 if ( std::numeric_limits<double>::has_infinity )
93 return -std::numeric_limits<double>::infinity();
100 if ( std::numeric_limits<double>::has_infinity )
101 return -std::numeric_limits<double>::infinity();
108 if ( std::numeric_limits<double>::has_infinity )
109 return(std::numeric_limits<double>::infinity());
116 if ( std::numeric_limits<double>::has_infinity )
117 return(std::numeric_limits<double>::infinity());
Definition: surface.hpp:60
A GetZ() const
Definition: surface.hpp:67
Surface< A > * Clone() const
Generate a copy of the underlying object.
Definition: surface.hpp:64
A GetZ(double, double) const
Definition: surface.hpp:72
double GetYMax() const
Definition: surface.hpp:114
bool EnclosesRectangle(double, double, double, double) const
Definition: surface.hpp:75
double GetXMin() const
Definition: surface.hpp:90
void Add(A c)
Definition: surface.hpp:79
A Max() const
Definition: surface.hpp:88
A Min() const
Definition: surface.hpp:87
void Multiply(A c)
Definition: surface.hpp:83
ConstantSurface(A z)
Definition: surface.hpp:131
double GetXMax() const
Definition: surface.hpp:106
bool IsInsideSurface(double, double) const
Definition: surface.hpp:71
double GetYMin() const
Definition: surface.hpp:98
Definition: surface.hpp:29
virtual bool IsInsideSurface(double, double) const =0
virtual ~Surface()
Definition: surface.hpp:127
virtual bool IsMissing(A) const
Definition: surface.hpp:41
virtual double GetXMax() const =0
virtual double GetYMax() const =0
virtual Surface * Clone() const =0
Generate a copy of the underlying object.
virtual double GetXMin() const =0
virtual bool EnclosesRectangle(double x_min, double x_max, double y_min, double y_max) const =0
virtual A GetZ(double x, double y) const =0
virtual void Multiply(A c)=0
virtual double GetYMin() const =0
Definition: exception.hpp:31
T max(const T v0, const T v1)
Definition: exprtk.hpp:1407
x y * z
Definition: exprtk.hpp:9663
x y t t *t x y t t t x y t t t x *y t *t t x *y t *t t x y t t t x y t t t x(y+z)