|
| enum | { ROWS = 4
, COLS = 4
} |
| enum | { DIMENSION = 3
} |
| enum | { ROWSTRIDE = ContainerType::ROWSTRIDE
, COLSTRIDE = ContainerType::COLSTRIDE
} |
| typedef _containerType | BaseType |
| typedef _containerType | ContainerType |
| typedef vctFrame4x4ConstBase< ContainerType > | ThisType |
| typedef BaseType::RowValueType | RowValueType |
| typedef BaseType::ColumnValueType | ColumnValueType |
| typedef BaseType::RowRefType | RowRefType |
| typedef BaseType::ColumnRefType | ColumnRefType |
| typedef BaseType::ConstRowRefType | ConstRowRefType |
| typedef BaseType::ConstColumnRefType | ConstColumnRefType |
| typedef BaseType::DiagonalRefType | DiagonalRefType |
| typedef BaseType::ConstDiagonalRefType | ConstDiagonalRefType |
| typedef BaseType::RefTransposeType | RefTransposeType |
| typedef BaseType::ConstRefTransposeType | ConstRefTransposeType |
| typedef vctFrame4x4< value_type, COLSTRIDE<=ROWSTRIDE > | FrameValueType |
| typedef cmnTypeTraits< value_type > | TypeTraits |
| typedef vctFixedSizeVectorRef< value_type, DIMENSION, ROWSTRIDE > | TranslationRefType |
| typedef vctFixedSizeConstVectorRef< value_type, DIMENSION, ROWSTRIDE > | ConstTranslationRefType |
| typedef vctFixedSizeVectorRef< value_type, DIMENSION, COLSTRIDE > | PerspectiveRefType |
| typedef vctFixedSizeConstVectorRef< value_type, DIMENSION, COLSTRIDE > | ConstPerspectiveRefType |
| typedef vctMatrixRotation3Ref< value_type, ROWSTRIDE, COLSTRIDE > | RotationRefType |
| typedef vctMatrixRotation3ConstRef< value_type, ROWSTRIDE, COLSTRIDE > | ConstRotationRefType |
|
| | VCT_CONTAINER_TRAITS_TYPEDEFS (typename ContainerType::value_type) |
| | vctFrame4x4ConstBase (void) |
| ConstTranslationRefType | Translation (void) const |
| ConstRotationRefType | Rotation (void) const |
| ConstPerspectiveRefType | Perspective (void) const |
| FrameValueType | Inverse (void) const |
| bool | IsNormalized (value_type tolerance=TypeTraits::Tolerance()) const |
| template<stride_type __stride1, class __dataPtrType1, stride_type __stride2, class __dataPtrType2> |
| void | ApplyTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &input, vctFixedSizeVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &output) const |
| template<stride_type __stride, class __dataPtrType> |
| vctFixedSizeVector< value_type, DIMENSION > | ApplyTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &input) const |
| template<class __containerType1, class __containerType2> |
| void | ApplyTo (const vctFrame4x4ConstBase< __containerType1 > &input, vctFrame4x4Base< __containerType2 > &output) const |
| template<class __containerType> |
| FrameValueType | ApplyTo (const vctFrame4x4ConstBase< __containerType > &input) const |
| template<class __vectorOwnerType1, class __vectorOwnerType2> |
| void | ApplyTo (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &input, vctDynamicVectorBase< __vectorOwnerType2, value_type > &output) const |
| template<size_type __cols, stride_type __rowStride1, stride_type __colStride1, class __dataPtrType1, stride_type __rowStride2, stride_type __colStride2, class __dataPtrType2> |
| void | ApplyTo (const vctFixedSizeConstMatrixBase< DIMENSION, __cols, __rowStride1, __colStride1, value_type, __dataPtrType1 > &input, vctFixedSizeMatrixBase< DIMENSION, __cols, __rowStride2, __colStride2, value_type, __dataPtrType2 > &output) const |
| void | ApplyTo (size_type inputSize, const vctFixedSizeVector< value_type, DIMENSION > *input, vctFixedSizeVector< value_type, DIMENSION > *output) const |
| template<stride_type __stride1, class __dataPtrType1, stride_type __stride2, class __dataPtrType2> |
| void | ApplyInverseTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &input, vctFixedSizeVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &output) const |
| template<class __vectorOwnerType1, class __vectorOwnerType2> |
| void | ApplyInverseTo (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &input, vctDynamicVectorBase< __vectorOwnerType2, value_type > &output) const |
| template<stride_type __stride, class __dataPtrType> |
| vctFixedSizeVector< value_type, DIMENSION > | ApplyInverseTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &input) const |
| template<class __containerType1, class __containerType2> |
| void | ApplyInverseTo (const vctFrame4x4ConstBase< __containerType1 > &input, vctFrame4x4Base< __containerType2 > &output) const |
| template<class __containerType> |
| FrameValueType | ApplyInverseTo (const vctFrame4x4ConstBase< __containerType > &input) const |
| bool | Equal (const ThisType &other) const |
| bool | operator== (const ThisType &other) const |
| bool | AlmostEqual (const ThisType &other, value_type tolerance=TypeTraits::Tolerance()) const |
| bool | AlmostEquivalent (const ThisType &other, value_type tolerance=TypeTraits::Tolerance()) const |
template<class _containerType>
class vctFrame4x4ConstBase< _containerType >
Template base class for a 4x4 frame.
This class allows to use a 4 by 4 matrix as a frame in 3D. This is a limited case of the so called homegenous transformations as this class is intended to support only the translation and rotation parts of the transformation. It is not intended to support perspective or scaling operations. The different constructors and normalization methods provided will set the last row to [0 0 0 1].
- Parameters
-
| _matrixType | The type of matrix used to store the elements |
- See also
- vctDynamicMatrix, vctFixedSizeMatrix, vctFrameBase
template<class _containerType>
template<class __containerType1, class __containerType2>
Compose this transform over the input transform to obtain a new output transform passed by reference by the caller. The semantics of the operation are:
output = (*this) * input
if (*this) is [R1 | p1], input is [R2 | p2], then output will be [R1*R2 | R1*p2 + p1]