|
isce3 0.25.0
|
CUDA counterpart of isce3::core::Orbit. More...
#include <Orbit.h>
Public Member Functions | |
| Orbit (const isce3::core::Orbit &) | |
| Construct from isce3::core::Orbit (copy from host to device) | |
| Orbit (const std::vector< isce3::core::StateVector > &statevecs, isce3::core::OrbitInterpMethod interp_method=isce3::core::OrbitInterpMethod::Hermite) | |
| Construct from list of state vectors. | |
| Orbit (const std::vector< isce3::core::StateVector > &statevecs, const isce3::core::DateTime &reference_epoch, isce3::core::OrbitInterpMethod interp_method=isce3::core::OrbitInterpMethod::Hermite) | |
| Construct from list of state vectors and reference epoch. | |
| std::vector< isce3::core::StateVector > | getStateVectors () const |
| Export list of state vectors. | |
| void | setStateVectors (const std::vector< isce3::core::StateVector > &) |
| Set orbit state vectors. | |
| const isce3::core::DateTime & | referenceEpoch () const |
| Reference epoch (UTC) | |
| void | referenceEpoch (const isce3::core::DateTime &) |
| Set reference epoch (UTC) | |
| isce3::core::OrbitInterpMethod | interpMethod () const |
| Interpolation method. | |
| void | interpMethod (isce3::core::OrbitInterpMethod interp_method) |
| Set interpolation method. | |
| double | startTime () const |
| Time of first state vector relative to reference epoch (s) | |
| double | midTime () const |
| Time of center of orbit relative to reference epoch (s) | |
| double | endTime () const |
| Time of last state vector relative to reference epoch (s) | |
| isce3::core::DateTime | startDateTime () const |
| UTC time of first state vector. | |
| isce3::core::DateTime | midDateTime () const |
| UTC time of center of orbit. | |
| isce3::core::DateTime | endDateTime () const |
| UTC time of last state vector. | |
| double | spacing () const |
| Time interval between state vectors (s) | |
| int | size () const |
| Number of state vectors in orbit. | |
| const isce3::core::Linspace< double > & | time () const |
| Get state vector times relative to reference epoch (s) | |
| const thrust::device_vector< isce3::core::Vec3 > & | position () const |
| Get state vector positions in ECEF coordinates (m) | |
| const thrust::device_vector< isce3::core::Vec3 > & | velocity () const |
| Get state vector velocities in ECEF coordinates (m/s) | |
| double | time (int idx) const |
| Get the specified state vector time relative to reference epoch (s) | |
| isce3::core::Vec3 | position (int idx) const |
| Get the specified state vector position in ECEF coordinates (m) | |
| isce3::core::Vec3 | velocity (int idx) const |
| Get the specified state vector velocity in ECEF coordinates (m/s) | |
| isce3::error::ErrorCode | interpolate (isce3::core::Vec3 *position, isce3::core::Vec3 *velocity, double t, isce3::core::OrbitInterpBorderMode border_mode=isce3::core::OrbitInterpBorderMode::Error) const |
| Interpolate platform position and/or velocity. | |
CUDA counterpart of isce3::core::Orbit.
This class exports a host-side interface for managing and interacting with orbit data residing in device memory. It is not intended for use in device code - use OrbitView instead.
| isce3::cuda::core::Orbit::Orbit | ( | const std::vector< isce3::core::StateVector > & | statevecs, |
| isce3::core::OrbitInterpMethod | interp_method = isce3::core::OrbitInterpMethod::Hermite ) |
Construct from list of state vectors.
Reference epoch defaults to time of first state vector
| [in] | statevecs | State vectors |
| [in] | interp_method | Interpolation method |
| isce3::cuda::core::Orbit::Orbit | ( | const std::vector< isce3::core::StateVector > & | statevecs, |
| const isce3::core::DateTime & | reference_epoch, | ||
| isce3::core::OrbitInterpMethod | interp_method = isce3::core::OrbitInterpMethod::Hermite ) |
Construct from list of state vectors and reference epoch.
| [in] | statevecs | State vectors |
| [in] | reference_epoch | Reference epoch |
| [in] | interp_method | Interpolation method |
| ErrorCode isce3::cuda::core::Orbit::interpolate | ( | isce3::core::Vec3 * | position, |
| isce3::core::Vec3 * | velocity, | ||
| double | t, | ||
| isce3::core::OrbitInterpBorderMode | border_mode = isce3::core::OrbitInterpBorderMode::Error ) const |
Interpolate platform position and/or velocity.
If either position or velocity is a null pointer, that output will not be computed. This may improve runtime by avoiding unnecessary operations.
| [out] | position | Interpolated position |
| [out] | velocity | Interpolated velocity |
| [in] | t | Interpolation time |
| [in] | border_mode | Mode for handling interpolation outside orbit domain |
1.13.2.