9 #include <isce3/geometry/forward.h>
10 #include <isce3/cuda/core/forward.h>
12 #include <isce3/cuda/core/gpuProjections.h>
22 _haveRaster(false), _refHeight(0.0), _interpMethod(isce3::core::BILINEAR_METHOD),
23 _xstart(0.0), _ystart(0.0), _deltax(1.0), _deltay(1.0), _owner(false) {}
27 _haveRaster(false), _refHeight(height), _interpMethod(isce3::core::BILINEAR_METHOD),
28 _xstart(0.0), _ystart(0.0), _deltax(1.0), _deltay(1.0), _owner(false) {}
46 CUDA_DEV
inline double midX()
const {
return _xstart + 0.5*_width*_deltax; }
47 CUDA_DEV
inline double midY()
const {
return _ystart + 0.5*_length*_deltay; }
53 CUDA_HOSTDEV
inline double xStart()
const {
return _xstart; }
56 CUDA_HOSTDEV
inline double yStart()
const {
return _ystart; }
59 CUDA_HOSTDEV
inline double deltaX()
const {
return _deltax; }
62 CUDA_HOSTDEV
inline double deltaY()
const {
return _deltay; }
65 CUDA_HOSTDEV
inline bool haveRaster()
const {
return _haveRaster; }
68 CUDA_HOSTDEV
inline float refHeight()
const {
return _refHeight; }
71 CUDA_HOSTDEV
inline size_t length()
const {
return _length; }
74 CUDA_HOSTDEV
inline size_t width()
const {
return _width; }
77 CUDA_HOSTDEV
inline int epsgCode()
const {
return _epsgcode; }
117 size_t _length, _width;
119 double _xstart, _ystart, _deltax, _deltay;
CUDA_HOSTDEV int epsgCode() const
EPSG code.
Definition: gpuDEMInterpolator.h:77
dataInterpMethod
Enumeration type to indicate interpolation method.
Definition: Constants.h:23
CUDA_HOSTDEV double deltaX() const
Get X spacing.
Definition: gpuDEMInterpolator.h:59
Definition: DEMInterpolator.h:22
Abstract base class for individual projections.
Definition: gpuProjections.h:23
CUDA_HOST void finalizeProjInterp()
Finalize/delete projection and interpolation objects on device.
CUDA_HOSTDEV size_t width() const
DEM width.
Definition: gpuDEMInterpolator.h:74
CUDA_HOSTDEV gpuDEMInterpolator()
Default constructor .
Definition: gpuDEMInterpolator.h:21
CUDA_DEV Vec3 midLonLat() const
Middle lat/lon/refHeight.
CUDA_DEV float interpolateLonLat(double lon, double lat) const
Interpolate at a given longitude and latitude.
Definition: gpuDEMInterpolator.h:15
CUDA_HOSTDEV isce3::core::dataInterpMethod interpMethod() const
Interpolator method.
Definition: gpuDEMInterpolator.h:80
CUDA_HOSTDEV size_t length() const
DEM length.
Definition: gpuDEMInterpolator.h:71
CUDA_HOSTDEV bool haveRaster() const
Flag indicating whether we have a raster.
Definition: gpuDEMInterpolator.h:65
CUDA_HOSTDEV gpuDEMInterpolator(float height)
Constructor with a constant height .
Definition: gpuDEMInterpolator.h:26
CUDA_DEV float interpolateXY(double x, double y) const
Interpolate at native XY coordinates of DEM.
CUDA_HOSTDEV isce3::cuda::core::gpuInterpolator< float > ** interp() const
Pointer to gpuInterpolator pointer.
Definition: gpuDEMInterpolator.h:90
CUDA_HOSTDEV double yStart() const
Get upper left Y.
Definition: gpuDEMInterpolator.h:56
CUDA_HOSTDEV isce3::cuda::core::ProjectionBase ** proj() const
Pointer to ProjectionBase pointer.
Definition: gpuDEMInterpolator.h:85
~gpuDEMInterpolator()
Destructor.
CUDA_HOSTDEV double xStart() const
Get upper left X.
Definition: gpuDEMInterpolator.h:53
CUDA_HOST void initProjInterp()
Initialize projection and interpolation objects on device.
CUDA_HOSTDEV float refHeight() const
Reference height.
Definition: gpuDEMInterpolator.h:68
CUDA_HOSTDEV double deltaY() const
Get Y spacing.
Definition: gpuDEMInterpolator.h:62
CUDA_DEV double midX() const
Middle X and Y coordinates.
Definition: gpuDEMInterpolator.h:46