Abstract base class for individual projections. More...
#include <gpuProjections.h>
Public Types | |
typedef isce3::core::Vec3 | Vec3 |
Public Member Functions | |
CUDA_HOSTDEV | ProjectionBase (int code) |
Value constructor with EPSG code as input. More... | |
CUDA_HOST int | forward_h (const Vec3 &llh, Vec3 &xyz) const |
Host function for transforming from LLH. More... | |
virtual CUDA_DEV int | forward (const Vec3 &llh, Vec3 &xyz) const =0 |
Device function for transform from LLH. More... | |
CUDA_HOST int | inverse_h (const Vec3 &xyz, Vec3 &llh) const |
Host function for transforming to LLH. More... | |
virtual CUDA_DEV int | inverse (const Vec3 &xyz, Vec3 &llh) const =0 |
Device function for tranforming to LLH. More... | |
Public Attributes | |
isce3::core::Ellipsoid | ellipse |
Ellipsoid object for projections - currently only WGS84. | |
int | _epsgcode |
Type of projection system. More... | |
Abstract base class for individual projections.
Internally, every derived class is expected to provide two functions. forward - To convert llh (radians) to expected projection system inverse - To convert expected projection system to llh (radians)
|
inline |
Value constructor with EPSG code as input.
Ellipsoid is always initialized to standard WGS84 ellipse.
|
pure virtual |
Device function for transform from LLH.
[in] | llh | Lon/Lat/Height - Lon and Lat are in radians |
[out] | xyz | Coordinates in specified coordinate system |
Implemented in isce3::cuda::core::CEA, isce3::cuda::core::PolarStereo, isce3::cuda::core::UTM, isce3::cuda::core::Geocent, and isce3::cuda::core::LonLat.
Host function for transforming from LLH.
This is similar to fwd or fwd3d in PROJ.4
[in] | llh | Lon/Lat/Height - Lon and Lat are in radians |
[out] | xyz | Coordinates in specified projection system |
|
pure virtual |
Device function for tranforming to LLH.
[in] | xyz | Coordinates in specified projection system |
[out] | llh | Lon/Lat/Height - Lon and Lat are in radians |
Implemented in isce3::cuda::core::CEA, isce3::cuda::core::PolarStereo, isce3::cuda::core::UTM, isce3::cuda::core::Geocent, and isce3::cuda::core::LonLat.
Host function for transforming to LLH.
This is similar to inv or inv3d in PROJ.4
[in] | xyz | Coordinates in specified projection system |
[out] | llh | Lon/Lat/Height - Lon and Lat are in radians |
int isce3::cuda::core::ProjectionBase::_epsgcode |
Type of projection system.
This can be used to check if projection systems are equal Private member and should not be modified after initialization