|
OpenVDB 11.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 | |
| Map () | |
| Default constructor for the identity map. | |
| 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 > | |
| Vec3T | applyMap (const Vec3T &ijk) const |
| Apply the forward affine transformation to a vector using 64bit floating point arithmetics. | |
| template<typename Vec3T > | |
| Vec3T | applyMapF (const Vec3T &ijk) const |
| Apply the forward affine transformation to a vector using 32bit floating point arithmetics. | |
| template<typename Vec3T > | |
| 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 > | |
| 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 > | |
| Vec3T | applyInverseMap (const Vec3T &xyz) const |
| Apply the inverse affine mapping to a vector using 64bit floating point arithmetics. | |
| template<typename Vec3T > | |
| Vec3T | applyInverseMapF (const Vec3T &xyz) const |
| Apply the inverse affine mapping to a vector using 32bit floating point arithmetics. | |
| template<typename Vec3T > | |
| 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 > | |
| 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 > | |
| 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 > | |
| Vec3T | applyIJTF (const Vec3T &xyz) const |
| 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 |
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] |