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. | |
| __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. | |
| template<typename Mat4T> | |
| void | set (const Mat4T &mat, const Mat4T &invMat, double taper=1.0) | 
| Initialize the member data from 4x4 matrices. | |
| 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. | |
| template<typename Vec3T> | |
| __hostdev__ Vec3T | applyMapF (const Vec3T &ijk) const | 
| Apply the forward affine transformation to a vector using 32bit floating point arithmetics. | |
| 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. | |
| 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. | |
| template<typename Vec3T> | |
| __hostdev__ Vec3T | applyInverseMap (const Vec3T &xyz) const | 
| Apply the inverse affine mapping to a vector using 64bit floating point arithmetics. | |
| template<typename Vec3T> | |
| __hostdev__ Vec3T | applyInverseMapF (const Vec3T &xyz) const | 
| Apply the inverse affine mapping to a vector using 32bit floating point arithmetics. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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 4x4 matrices.
| 
 | inline | 
Initialize the member data from 3x3 or 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] |