isce3 0.25.0
Loading...
Searching...
No Matches
isce3::core::Basis Class Reference

Simple class to store three-dimensional basis vectors. More...

#include <Basis.h>

Public Member Functions

CUDA_HOSTDEV Basis ()
 Default to identity basis.
 
CUDA_HOST Basis (const Vec3 &x0, const Vec3 &x1, const Vec3 &x2, double tol=1e-8)
 Constructor with basis vectors.
 
CUDA_HOSTDEV Basis (const Vec3 &p, const Vec3 &v)
 Geocentric TCN constructor.
 
CUDA_HOSTDEV const Vec3x0 () const
 Return first basis vector.
 
CUDA_HOSTDEV const Vec3x1 () const
 Return second basis vector.
 
CUDA_HOSTDEV const Vec3x2 () const
 Return third basis vector.
 
CUDA_HOSTDEV void x0 (const Vec3 &x0)
 Set the first basis vector.
 
CUDA_HOSTDEV void x1 (const Vec3 &x1)
 Set the second basis vector.
 
CUDA_HOSTDEV void x2 (const Vec3 &x2)
 Set the third basis vecot.
 
CUDA_HOSTDEV Vec3 project (const Vec3 &vec) const
 Project a given vector onto basis.
 
void combine (const Vec3 &vec, Vec3 &res) const
 Combine the basis with given weights.
 
CUDA_HOSTDEV Mat3 toRotationMatrix () const
 Convert to matrix, vectors (x0, x1, x2) as columns (0, 1, 2).
 

Detailed Description

Simple class to store three-dimensional basis vectors.

Constructor & Destructor Documentation

◆ Basis() [1/2]

CUDA_HOST isce3::core::Basis::Basis ( const Vec3 & x0,
const Vec3 & x1,
const Vec3 & x2,
double tol = 1e-8 )
inline

Constructor with basis vectors.

Input vectors which must be mutually orthogonal and have unit norm. The optional tol parameter is used to check \( \mathbf{B}^\top \mathbf{B} - \mathbf{I} = 0 \)

◆ Basis() [2/2]

CUDA_HOSTDEV isce3::core::Basis::Basis ( const Vec3 & p,
const Vec3 & v )
inlineexplicit

Geocentric TCN constructor.

Parameters
[in]pposition vector
[in]vvelocity vector

Member Function Documentation

◆ combine()

void isce3::core::Basis::combine ( const Vec3 & vec,
Vec3 & res ) const
inline

Combine the basis with given weights.

Parameters
[in]vec3D vector to use as weights
[out]res3D vector output

\[ res = \sum_{i=0}^2 vec[i] \cdot x_i \]

◆ project()

CUDA_HOSTDEV Vec3 isce3::core::Basis::project ( const Vec3 & vec) const
inline

Project a given vector onto basis.

Parameters
[in]vec3D vector to project
[out]res3D vector output

\[ res_i = (x_i \cdot vec) \]


The documentation for this class was generated from the following file:

Generated for ISCE3.0 by doxygen 1.13.2.