OpenVDB
12.0.0
|
Defines an affine transform and its inverse represented as a 3x3 matrix and a vec3 translation. More...
#include <nanovdb/NanoVDB.h>
Public Member Functions | |
__hostdev__ | Map () |
Default constructor for the identity map. More... | |
__hostdev__ | Map (double s, const Vec3d &t=Vec3d(0.0, 0.0, 0.0)) |
template<typename MatT , typename Vec3T > | |
void | set (const MatT &mat, const MatT &invMat, const Vec3T &translate, double taper=1.0) |
Initialize the member data from 3x3 or 4x4 matrices. More... | |
template<typename Mat4T > | |
void | set (const Mat4T &mat, const Mat4T &invMat, double taper=1.0) |
Initialize the member data from 4x4 matrices. More... | |
template<typename Vec3T > | |
void | set (double scale, const Vec3T &translation, double taper=1.0) |
template<typename Vec3T > | |
__hostdev__ Vec3T | applyMap (const Vec3T &ijk) const |
Apply the forward affine transformation to a vector using 64bit floating point arithmetics. More... | |
template<typename Vec3T > | |
__hostdev__ Vec3T | applyMapF (const Vec3T &ijk) const |
Apply the forward affine transformation to a vector using 32bit floating point arithmetics. More... | |
template<typename Vec3T > | |
__hostdev__ Vec3T | applyJacobian (const Vec3T &ijk) const |
Apply the linear forward 3x3 transformation to an input 3d vector using 64bit floating point arithmetics, e.g. scale and rotation WITHOUT translation. More... | |
template<typename Vec3T > | |
__hostdev__ Vec3T | applyJacobianF (const Vec3T &ijk) const |
Apply the linear forward 3x3 transformation to an input 3d vector using 32bit floating point arithmetics, e.g. scale and rotation WITHOUT translation. More... | |
template<typename Vec3T > | |
__hostdev__ Vec3T | applyInverseMap (const Vec3T &xyz) const |
Apply the inverse affine mapping to a vector using 64bit floating point arithmetics. More... | |
template<typename Vec3T > | |
__hostdev__ Vec3T | applyInverseMapF (const Vec3T &xyz) const |
Apply the inverse affine mapping to a vector using 32bit floating point arithmetics. More... | |
template<typename Vec3T > | |
__hostdev__ Vec3T | applyInverseJacobian (const Vec3T &xyz) const |
Apply the linear inverse 3x3 transformation to an input 3d vector using 64bit floating point arithmetics, e.g. inverse scale and inverse rotation WITHOUT translation. More... | |
template<typename Vec3T > | |
__hostdev__ Vec3T | applyInverseJacobianF (const Vec3T &xyz) const |
Apply the linear inverse 3x3 transformation to an input 3d vector using 32bit floating point arithmetics, e.g. inverse scale and inverse rotation WITHOUT translation. More... | |
template<typename Vec3T > | |
__hostdev__ Vec3T | applyIJT (const Vec3T &xyz) const |
Apply the transposed inverse 3x3 transformation to an input 3d vector using 64bit floating point arithmetics, e.g. inverse scale and inverse rotation WITHOUT translation. More... | |
template<typename Vec3T > | |
__hostdev__ Vec3T | applyIJTF (const Vec3T &xyz) const |
__hostdev__ Vec3d | getVoxelSize () const |
Return a voxels size in each coordinate direction, measured at the origin. More... | |
Public Attributes | |
float | mMatF [9] |
float | mInvMatF [9] |
float | mVecF [3] |
float | mTaperF |
double | mMatD [9] |
double | mInvMatD [9] |
double | mVecD [3] |
double | mTaperD |
Defines an affine transform and its inverse represented as a 3x3 matrix and a vec3 translation.
|
inline |
Default constructor for the identity map.
|
inline |
|
inline |
Apply the transposed inverse 3x3 transformation to an input 3d vector using 64bit floating point arithmetics, e.g. inverse scale and inverse rotation WITHOUT translation.
Vec3T | Template type of the 3D vector to be mapped |
ijk | 3D vector to be mapped - typically floating point index coordinates |
|
inline |
|
inline |
Apply the linear inverse 3x3 transformation to an input 3d vector using 64bit floating point arithmetics, e.g. inverse scale and inverse rotation WITHOUT translation.
Vec3T | Template type of the 3D vector to be mapped |
ijk | 3D vector to be mapped - typically floating point index coordinates |
|
inline |
Apply the linear inverse 3x3 transformation to an input 3d vector using 32bit floating point arithmetics, e.g. inverse scale and inverse rotation WITHOUT translation.
Vec3T | Template type of the 3D vector to be mapped |
ijk | 3D vector to be mapped - typically floating point index coordinates |
|
inline |
Apply the inverse affine mapping to a vector using 64bit floating point arithmetics.
Vec3T | Template type of the 3D vector to be mapped |
xyz | 3D vector to be mapped - typically floating point world coordinates |
xyz
i.e. (xyz - translation) x mat^-1
|
inline |
Apply the inverse affine mapping to a vector using 32bit floating point arithmetics.
Vec3T | Template type of the 3D vector to be mapped |
xyz | 3D vector to be mapped - typically floating point world coordinates |
xyz
i.e. (xyz - translation) x mat^-1
|
inline |
Apply the linear forward 3x3 transformation to an input 3d vector using 64bit floating point arithmetics, e.g. scale and rotation WITHOUT translation.
Vec3T | Template type of the 3D vector to be mapped |
ijk | 3D vector to be mapped - typically floating point index coordinates |
|
inline |
Apply the linear forward 3x3 transformation to an input 3d vector using 32bit floating point arithmetics, e.g. scale and rotation WITHOUT translation.
Vec3T | Template type of the 3D vector to be mapped |
ijk | 3D vector to be mapped - typically floating point index coordinates |
|
inline |
Apply the forward affine transformation to a vector using 64bit floating point arithmetics.
Vec3T | Template type of the 3D vector to be mapped |
ijk | 3D vector to be mapped - typically floating point index coordinates |
|
inline |
Apply the forward affine transformation to a vector using 32bit floating point arithmetics.
Vec3T | Template type of the 3D vector to be mapped |
ijk | 3D vector to be mapped - typically floating point index coordinates |
|
inline |
Return a voxels size in each coordinate direction, measured at the origin.
|
inline |
Initialize the member data from 3x3 or 4x4 matrices.
|
inline |
Initialize the member data from 4x4 matrices.
|
inline |
double mInvMatD[9] |
float mInvMatF[9] |
double mMatD[9] |
float mMatF[9] |
double mTaperD |
float mTaperF |
double mVecD[3] |
float mVecF[3] |