isce3 0.25.0
Loading...
Searching...
No Matches
ProjectionBase Struct Referenceabstract

Abstract base class for individual projections. More...

#include <gpuProjections.h>

Inheritance diagram for ProjectionBase:
isce3::cuda::core::CEA isce3::cuda::core::Geocent isce3::cuda::core::LonLat isce3::cuda::core::PolarStereo isce3::cuda::core::UTM

Public Types

typedef isce3::core::Vec3 Vec3
 

Public Member Functions

CUDA_HOSTDEV ProjectionBase (int code)
 Value constructor with EPSG code as input.
 
CUDA_HOST int forward_h (const Vec3 &llh, Vec3 &xyz) const
 Host function for transforming from LLH.
 
virtual CUDA_DEV int forward (const Vec3 &llh, Vec3 &xyz) const=0
 Device function for transform from LLH.
 
CUDA_HOST int inverse_h (const Vec3 &xyz, Vec3 &llh) const
 Host function for transforming to LLH.
 
virtual CUDA_DEV int inverse (const Vec3 &xyz, Vec3 &llh) const=0
 Device function for transforming to LLH.
 

Public Attributes

isce3::core::Ellipsoid ellipse
 Ellipsoid object for projections - currently only WGS84.
 
int _epsgcode
 Type of projection system.
 

Detailed Description

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)

Constructor & Destructor Documentation

◆ ProjectionBase()

CUDA_HOSTDEV isce3::cuda::core::ProjectionBase::ProjectionBase ( int code)
inline

Value constructor with EPSG code as input.

Ellipsoid is always initialized to standard WGS84 ellipse.

Member Function Documentation

◆ forward()

virtual CUDA_DEV int isce3::cuda::core::ProjectionBase::forward ( const Vec3 & llh,
Vec3 & xyz ) const
pure virtual

Device function for transform from LLH.

Parameters
[in]llhLon/Lat/Height - Lon and Lat are in radians
[out]xyzCoordinates in specified coordinate system

◆ forward_h()

__host__ int isce3::cuda::core::ProjectionBase::forward_h ( const Vec3 & llh,
Vec3 & xyz ) const

Host function for transforming from LLH.

This is similar to fwd or fwd3d in PROJ.4

Parameters
[in]llhLon/Lat/Height - Lon and Lat are in radians
[out]xyzCoordinates in specified projection system

◆ inverse()

virtual CUDA_DEV int isce3::cuda::core::ProjectionBase::inverse ( const Vec3 & xyz,
Vec3 & llh ) const
pure virtual

Device function for transforming to LLH.

Parameters
[in]xyzCoordinates in specified projection system
[out]llhLon/Lat/Height - Lon and Lat are in radians

◆ inverse_h()

__host__ int isce3::cuda::core::ProjectionBase::inverse_h ( const Vec3 & xyz,
Vec3 & llh ) const

Host function for transforming to LLH.

This is similar to inv or inv3d in PROJ.4

Parameters
[in]xyzCoordinates in specified projection system
[out]llhLon/Lat/Height - Lon and Lat are in radians

Member Data Documentation

◆ _epsgcode

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


The documentation for this struct was generated from the following files:

Generated for ISCE3.0 by doxygen 1.13.2.