12 #include <isce3/core/Ellipsoid.h>
13 #include <isce3/core/forward.h>
15 namespace isce3 {
namespace cuda {
namespace core {
40 CUDA_HOST
int forward_h(
const Vec3& llh, Vec3& xyz)
const;
46 CUDA_DEV
virtual int forward(
const Vec3& llh, Vec3& xyz)
const = 0;
52 CUDA_HOST
int inverse_h(
const Vec3& xyz, Vec3& llh)
const;
58 CUDA_DEV
virtual int inverse(
const Vec3& xyz, Vec3& llh)
const = 0 ;
92 double cgb[6], cbg[6], utg[6], gtu[6];
96 CUDA_HOSTDEV
UTM(
int);
112 double lon0, lat_ts, akm1, e;
129 double lat_ts, k0, e, one_es, qp;
150 CUDA_DEV
int projInverse(
int code,
const double* in,
double* out_llh);
isce3::core::Ellipsoid ellipse
Ellipsoid object for projections - currently only WGS84.
Definition: gpuProjections.h:27
CUDA_DEV int inverse(const Vec3 &, Vec3 &) const
Same as Ellipsoid::xyzTolonLat.
virtual CUDA_DEV int forward(const Vec3 &llh, Vec3 &xyz) const =0
Device function for transform from LLH.
CUDA_DEV int forward(const Vec3 &, Vec3 &) const
Transform from llh (rad) to UTM (m)
Data structure to store Ellipsoid information.
Definition: Ellipsoid.h:20
CUDA_DEV int forward(const Vec3 &, Vec3 &) const
Device function for transform from LLH.
CUDA_HOST int forward_h(const Vec3 &llh, Vec3 &xyz) const
Host function for transforming from LLH.
Abstract base class for individual projections.
Definition: gpuProjections.h:23
CUDA_DEV int inverse(const Vec3 &, Vec3 &) const
Transform from CEA (m) to LLH (rad)
CUDA_DEV int inverse(const Vec3 &, Vec3 &) const
Device function for tranforming to LLH.
CUDA_DEV int inverse(const Vec3 &, Vec3 &) const
Transform from UTM(m) to llh (rad)
Standard WGS84 ECEF coordinates - EPSG:4978.
Definition: gpuProjections.h:72
int _epsgcode
Type of projection system.
Definition: gpuProjections.h:30
virtual CUDA_DEV int inverse(const Vec3 &xyz, Vec3 &llh) const =0
Device function for tranforming to LLH.
Geodetic Lon/Lat projection - EPSG:4326.
Definition: gpuProjections.h:62
CUDA_HOSTDEV ProjectionBase(int code)
Value constructor with EPSG code as input.
Definition: gpuProjections.h:33
Polar stereographic coordinate system.
Definition: gpuProjections.h:109
CUDA_DEV int forward(const Vec3 &, Vec3 &) const
Same as Ellipsoid::lonLatToXyz.
CUDA_DEV int inverse(const Vec3 &, Vec3 &) const
Transform from Polar Stereo to LLH.
Equal Area Projection extension of ProjBase.
Definition: gpuProjections.h:126
CUDA_HOST int inverse_h(const Vec3 &xyz, Vec3 &llh) const
Host function for transforming to LLH.
CUDA_DEV int forward(const Vec3 &, Vec3 &) const
Transform from llh (rad) to CEA (m)
CUDA_DEV int forward(const Vec3 &, Vec3 &) const
Transfrom from LLH to Polar Stereo.
UTM coordinate extension of ProjectionBase.
Definition: gpuProjections.h:86