cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
vctMatrixRotation2< _elementType > Class Template Reference

Define a rotation matrix for a space of dimension 2. More...

#include <vctMatrixRotation2.h>

Inheritance diagram for vctMatrixRotation2< _elementType >:
vctMatrixRotation2Base< vctFixedSizeMatrix< _elementType, 2, 2 > > vctFixedSizeMatrix< _elementType, 2, 2 > vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array > vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >

Public Types

enum  { ROWS = 2, COLS = 2 }
 
enum  { DIMENSION = 2 }
 
typedef vctFixedSizeMatrix
< value_type, ROWS, COLS
ContainerType
 
typedef vctMatrixRotation2Base
< ContainerType
BaseType
 
typedef vctMatrixRotation2
< value_type > 
ThisType
 
typedef cmnTypeTraits< value_type > TypeTraits
 
- Public Types inherited from vctMatrixRotation2Base< vctFixedSizeMatrix< _elementType, 2, 2 > >
enum  
 
enum  
 
typedef vctFixedSizeMatrix
< _elementType, 2, 2 > 
BaseType
 
typedef vctFixedSizeMatrix
< _elementType, 2, 2 > 
ContainerType
 
typedef vctMatrixRotation2Base
< ContainerType
ThisType
 
typedef cmnTypeTraits< value_type > TypeTraits
 
- Public Types inherited from vctFixedSizeMatrix< _elementType, 2, 2 >
typedef
vctFixedSizeMatrixTraits
< _elementType, _rows, _cols,
_rowMajor?_cols:1, _rowMajor?1:_rows > 
MatrixTraits
 
typedef vctFixedSizeMatrixBase
< _rows, _cols, _rowMajor?_cols:1,
_rowMajor?1:_rows,
_elementType, typename
vctFixedSizeMatrixTraits
< _elementType, _rows, _cols,
_rowMajor?_cols:1, _rowMajor?1:_rows >
::array > 
BaseType
 
typedef vctFixedSizeMatrix
< _elementType, _rows, _cols,
_rowMajor > 
ThisType
 
typedef MatrixTraits::iterator iterator
 
typedef
MatrixTraits::const_iterator 
const_iterator
 
typedef
MatrixTraits::reverse_iterator 
reverse_iterator
 
typedef
MatrixTraits::const_reverse_iterator 
const_reverse_iterator
 
typedef class cmnTypeTraits
< value_type > 
TypeTraits
 
typedef TypeTraits::VaArgPromotion ElementVaArgPromotion
 
- Public Types inherited from vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >
enum  
 
enum  
 
typedef vctFixedSizeMatrixBase
< _rows, _cols, _rowStride,
_colStride, _elementType,
vctFixedSizeMatrixTraits
< _elementType, _rows, _cols,
_rowMajor?_cols:1, _rowMajor?1:_rows >
::array > 
ThisType
 
typedef
vctFixedSizeConstMatrixBase
< _rows, _cols, _rowStride,
_colStride, _elementType,
vctFixedSizeMatrixTraits
< _elementType, _rows, _cols,
_rowMajor?_cols:1, _rowMajor?1:_rows >
::array > 
BaseType
 
typedef
vctFixedSizeMatrixTraits
< _elementType, _rows, _cols,
_rowStride, _colStride > 
MatrixTraits
 
typedef MatrixTraits::iterator iterator
 
typedef
MatrixTraits::const_iterator 
const_iterator
 
typedef
MatrixTraits::reverse_iterator 
reverse_iterator
 
typedef
MatrixTraits::const_reverse_iterator 
const_reverse_iterator
 
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 BaseType::RowValueType RowValueType
 
typedef BaseType::ColumnValueType ColumnValueType
 
- Public Types inherited from vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >
enum  { DIMENSION = 2 }
 
enum  { ROWS = MatrixTraits::ROWS, COLS = MatrixTraits::COLS, LENGTH = MatrixTraits::LENGTH }
 
enum  { ROWSTRIDE = MatrixTraits::ROWSTRIDE, COLSTRIDE = MatrixTraits::COLSTRIDE }
 
enum  { DIAGONAL_LENGTH = (ROWS <= COLS) ? ROWS : COLS, DIAGONAL_STRIDE = ROWSTRIDE + COLSTRIDE }
 
typedef
vctFixedSizeConstMatrixBase
< _rows, _cols, _rowStride,
_colStride, _elementType,
_dataPtrType > 
ThisType
 
typedef
vctFixedSizeMatrixTraits
< _elementType, _rows, _cols,
_rowStride, _colStride > 
MatrixTraits
 
typedef MatrixTraits::iterator iterator
 
typedef
MatrixTraits::const_iterator 
const_iterator
 
typedef
MatrixTraits::reverse_iterator 
reverse_iterator
 
typedef
MatrixTraits::const_reverse_iterator 
const_reverse_iterator
 
typedef
vctFixedSizeConstVectorRef
< _elementType, COLS,
COLSTRIDE
ConstRowRefType
 
typedef vctFixedSizeVectorRef
< _elementType, COLS,
COLSTRIDE
RowRefType
 
typedef
vctFixedSizeConstVectorRef
< _elementType, ROWS,
ROWSTRIDE
ConstColumnRefType
 
typedef vctFixedSizeVectorRef
< _elementType, ROWS,
ROWSTRIDE
ColumnRefType
 
typedef
vctFixedSizeConstVectorRef
< _elementType,
DIAGONAL_LENGTH,
DIAGONAL_STRIDE
ConstDiagonalRefType
 
typedef vctFixedSizeVectorRef
< _elementType,
DIAGONAL_LENGTH,
DIAGONAL_STRIDE
DiagonalRefType
 
typedef vctFixedSizeVector
< _elementType, COLS
RowValueType
 
typedef vctFixedSizeVector
< _elementType, ROWS
ColumnValueType
 
typedef
vctFixedSizeConstMatrixRef
< _elementType, _rows, _cols,
_rowStride, _colStride > 
ConstRefType
 
typedef vctFixedSizeMatrixRef
< _elementType, _rows, _cols,
_rowStride, _colStride > 
RefType
 
typedef
vctFixedSizeConstMatrixRef
< _elementType, _cols, _rows,
_colStride, _rowStride > 
ConstRefTransposeType
 
typedef vctFixedSizeMatrixRef
< _elementType, _cols, _rows,
_colStride, _rowStride > 
RefTransposeType
 
typedef vctFixedSizeMatrix
< _elementType, COLS, ROWS,
COLSTRIDE<=ROWSTRIDE >
TransposeValueType;typedef
vctFixedSizeMatrix
< _elementType, ROWS, COLS,
COLSTRIDE<=ROWSTRIDE >
MatrixValueType;typedef
vctFixedSizeMatrix< bool, ROWS,
COLS, COLSTRIDE<=ROWSTRIDE >
BoolMatrixValueType;typedef
_dataPtrType DataType;protected:DataType
Data;inline void
ThrowUnlessValidIndex(size_type
index) const throw(std::out_of_range){if(!ValidIndex(index)){cmnThrow(std::out_of_range("vctFixedSizeMatrix:
Invalid index"));}}inline void
ThrowUnlessValidIndex(size_type
rowIndex, size_type colIndex)
const throw(std::out_of_range){if(!ValidIndex(rowIndex,
colIndex)){cmnThrow(std::out_of_range("vctFixedSizeMatrix:
Invalid indices"));}}public:const_iterator
begin() const {return
const_iterator(Data,
0);}const_iterator end() const
{return const_iterator(Data)+LENGTH;}const_reverse_iterator
rbegin() const {return
const_reverse_iterator(Pointer(ROWS-1,
COLS-1),
0);}const_reverse_iterator
rend() const {return
const_reverse_iterator(Data-ROWSTRIDE+COLSTRIDE
*(COLS-1), 0);}size_type size()
const {return LENGTH;}const
nsize_type &sizes(void) const
{static nsize_type staticSizes(ROWS,
COLS);return staticSizes;}size_type
rows() const {return ROWS;}size_type
cols() const {return COLS;}size_type
max_size() const {return
LENGTH;}const nstride_type
&strides(void) const {static
nstride_type staticStrides(ROWSTRIDE,
COLSTRIDE);return
staticStrides;}difference_type
row_stride() const {return
ROWSTRIDE;}difference_type
col_stride() const {return
COLSTRIDE;}bool empty() const
{return(LENGTH==0);}ConstRowRefType
operator[](size_type index)
const {return ConstRowRefType(Data+ROWSTRIDE
*index);}const_pointer Pointer(size_type
rowIndex, size_type colIndex)
const {return Data+ROWSTRIDE
*rowIndex+COLSTRIDE *colIndex;}const_pointer
Pointer(void) const {return
Data;}inline bool ValidIndex(size_type
index) const {return(index
< size());}inline bool
ValidIndex(size_type rowIndex,
size_type colIndex) const
{return((rowIndex< rows())&&(colIndex
< cols()));}inline bool
ValidRowIndex(size_type
rowIndex) const {return(rowIndex
< rows());}inline bool
ValidColIndex(size_type
colIndex) const {return(colIndex
< cols());}const_reference at(size_type
index) const throw(std::out_of_range){ThrowUnlessValidIndex(index);return(begin())[index];}const_reference
at(size_type rowIndex,
size_type colIndex) const
throw(std::out_of_range){ThrowUnlessValidIndex(rowIndex,
colIndex);return *(Pointer(rowIndex,
colIndex));}const_reference
operator()(size_type rowIndex,
size_type colIndex) const
throw(std::out_of_range){return
at(rowIndex, colIndex);}const_reference
Element(size_type rowIndex,
size_type colIndex) const
{return *(Pointer(rowIndex,
colIndex));}ConstRowRefType
Row(size_type index) const
{return ConstRowRefType(Data+ROWSTRIDE
*index);}ConstColumnRefType
Column(size_type index) const
{return ConstColumnRefType(Data+COLSTRIDE
*index);}ConstDiagonalRefType
Diagonal(void) const {return
ConstDiagonalRefType(Data);}template
< vct::size_type __subRows,
vct::size_type __subCols >
vctFixedSizeConstMatrixRef
< _elementType, __subRows,
__subCols, _rowStride,
_colStride > Ref(const
size_type startRow=0, const
size_type startCol=0) const
throw(std::out_of_range){vctFixedSizeConstMatrixRef
< _elementType, __subRows,
__subCols, _rowStride,
_colStride > result(*this,
startRow, startCol);return
result;}inline value_type
SumOfElements() const {return
vctFixedSizeMatrixLoopEngines::SoMi
< typename vctBinaryOperations
< value_type >::Addition,
typename vctUnaryOperations
< value_type >::Identity >
::Run(*this);}inline
value_type ProductOfElements()
const {return
vctFixedSizeMatrixLoopEngines::SoMi
< typename vctBinaryOperations
< value_type >::Multiplication,
typename vctUnaryOperations
< value_type >::Identity >
::Run(*this);}inline
value_type Trace(void) const
{return this->Diagonal().SumOfElements();}inline
value_type NormSquare(void)
const {return
vctFixedSizeMatrixLoopEngines::SoMi
< typename vctBinaryOperations
< value_type >::Addition,
typename vctUnaryOperations
< value_type >::Square >::Run(*this);}inline
NormType Norm(void) const
{return sqrt(NormType(NormSquare()));}inline
value_type L1Norm(void) const
{return
vctFixedSizeMatrixLoopEngines::SoMi
< typename vctBinaryOperations
< value_type >::Addition,
typename vctUnaryOperations
< value_type >::AbsValue >
::Run(*this);}inline
value_type LinfNorm(void)
const {return this->
MaxAbsElement();}inline
value_type MaxElement(void)
const {return
vctFixedSizeMatrixLoopEngines::SoMi
< typename vctBinaryOperations
< value_type >::Maximum,
typename vctUnaryOperations
< value_type >::Identity >
::Run(*this);}inline
value_type MinElement(void)
const {return
vctFixedSizeMatrixLoopEngines::SoMi
< typename vctBinaryOperations
< value_type >::Minimum,
typename vctUnaryOperations
< value_type >::Identity >
::Run(*this);}inline
value_type MaxAbsElement(void)
const {return
vctFixedSizeMatrixLoopEngines::SoMi
< typename vctBinaryOperations
< value_type >::Maximum,
typename vctUnaryOperations
< value_type >::AbsValue >
::Run(*this);}inline
value_type MinAbsElement(void)
const {return
vctFixedSizeMatrixLoopEngines::SoMi
< typename vctBinaryOperations
< value_type >::Minimum,
typename vctUnaryOperations
< value_type >::AbsValue >
::Run(*this);}inline void
MinAndMaxElement(value_type
&minElement, value_type
&maxElement) const
{vctFixedSizeMatrixLoopEngines::MinAndMax::Run((*this),
minElement, maxElement);}inline
bool IsPositive(void) const
{return
vctFixedSizeMatrixLoopEngines::SoMi
< typename vctBinaryOperations
< bool >::And, typename
vctUnaryOperations< bool,
value_type >::IsPositive >
::Run(*this);}inline bool
IsNonNegative(void) const
{return
vctFixedSizeMatrixLoopEngines::SoMi
< typename vctBinaryOperations
< bool >::And, typename
vctUnaryOperations< bool,
value_type >::IsNonNegative >
::Run(*this);}inline bool
IsNonPositive(void) const
{return
vctFixedSizeMatrixLoopEngines::SoMi
< typename vctBinaryOperations
< bool >::And, typename
vctUnaryOperations< bool,
value_type >::IsNonPositive >
::Run(*this);}inline bool
IsNegative(void) const {return
vctFixedSizeMatrixLoopEngines::SoMi
< typename vctBinaryOperations
< bool >::And, typename
vctUnaryOperations< bool,
value_type >::IsNegative >
::Run(*this);}inline bool All(void)
const {return
vctFixedSizeMatrixLoopEngines::SoMi
< typename vctBinaryOperations
< bool >::And, typename
vctUnaryOperations< bool,
value_type >::IsNonzero >::Run(*this);}inline
bool Any(void) const {return
vctFixedSizeMatrixLoopEngines::SoMi
< typename vctBinaryOperations
< bool >::Or, typename
vctUnaryOperations< bool,
value_type >::IsNonzero >::Run(*this);}inline
bool IsFinite(void) const
{return
vctFixedSizeMatrixLoopEngines::SoMi
< typename vctBinaryOperations
< bool >::And, typename
vctUnaryOperations< bool,
value_type >::IsFinite >::Run(*this);}inline
bool HasNaN(void) const
{return
vctFixedSizeMatrixLoopEngines::SoMi
< typename vctBinaryOperations
< bool >::Or, typename
vctUnaryOperations< bool,
value_type >::IsNaN >::Run(*this);}inline
bool IsColMajor(void) const
{return(row_stride()
<=col_stride());}inline bool
IsRowMajor(void) const {return(col_stride()
<=row_stride());}inline bool
IsCompact(void) const {return(((row_stride()==1)&&(col_stride()==static_cast
< stride_type >rows())))||((col_stride()==1)&&(row_stride()==static_cast
< stride_type >cols()))));}inline
bool IsFortran(void) const
{return(IsColMajor()&&(row_stride()==1)&&(col_stride()==static_cast
< stride_type >rows())));}inline
bool StorageOrder(void) const
{return this-> 
IsRowMajor ()
 

Public Member Functions

 VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType)
 
 vctMatrixRotation2 ()
 
 vctMatrixRotation2 (const ThisType &other)
 
 vctMatrixRotation2 (const BaseType &other)
 
ThisTypeoperator= (const ContainerType &other)
 
ThisTypeoperator= (const ThisType &other)
 
ThisTypeoperator= (const BaseType &other)
 
 vctMatrixRotation2 (const value_type &element00, const value_type &element01, const value_type &element10, const value_type &element11) throw (std::runtime_error)
 
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 >
 vctMatrixRotation2 (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &v1, const vctFixedSizeConstVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &v2, bool vectorsAreColumns=true) throw (std::runtime_error)
 
template<class __vectorOwnerType1 , class __vectorOwnerType2 >
 vctMatrixRotation2 (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &v1, const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &v2, bool vectorsAreColumns=true) throw (std::runtime_error)
 
 vctMatrixRotation2 (const vctAngleRotation2 &angleRotation) throw (std::runtime_error)
 
 vctMatrixRotation2 (const value_type &element00, const value_type &element01, const value_type &element10, const value_type &element11, bool normalizeInput)
 
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 >
 vctMatrixRotation2 (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &v1, const vctFixedSizeConstVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &v2, bool vectorsAreColumns, bool normalizeInput)
 
template<class __vectorOwnerType1 , class __vectorOwnerType2 >
 vctMatrixRotation2 (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &v1, const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &v2, bool vectorsAreColumns, bool normalizeInput)
 
 vctMatrixRotation2 (const vctAngleRotation2 &angleRotation, bool normalizeInput)
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
 vctMatrixRotation2 (const vctFixedSizeMatrixBase< ROWS, COLS, __rowStride, __colStride, value_type, __dataPtrType > &matrix)
 
- Public Member Functions inherited from vctMatrixRotation2Base< vctFixedSizeMatrix< _elementType, 2, 2 > >
 VCT_CONTAINER_TRAITS_TYPEDEFS (typename ContainerType::value_type)
 
 vctMatrixRotation2Base ()
 
 vctMatrixRotation2Base (const ThisType &other)
 
 vctMatrixRotation2Base (const BaseType &other)
 
 vctMatrixRotation2Base (const vctFixedSizeMatrixBase< ROWS, COLS, __rowStride, __colStride, value_type, __dataPtrType > &matrix)
 
ThisTypeoperator= (const ContainerType &other)
 
ThisTypeoperator= (const ThisType &other)
 
CISST_EXPORT ThisTypeNormalizedSelf (void)
 
ThisTypeNormalizedOf (const ThisType &otherMatrix)
 
ThisType Normalized (void) const
 
bool IsNormalized (value_type tolerance=TypeTraits::Tolerance()) const
 
ThisTypeInverseSelf (void)
 
ThisTypeInverseOf (const ThisType &otherRotation)
 
ThisType Inverse (void) const
 
void ApplyTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &input, vctFixedSizeVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &output) const
 
vctFixedSizeVector< value_type, 2 > ApplyTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &input) const
 
void ApplyTo (const ThisType &input, ThisType &output) const
 
ThisType ApplyTo (const ThisType &input) const
 
void ApplyTo (const vctDynamicConstVectorBase< _vectorOwnerType1, value_type > &input, vctDynamicVectorBase< _vectorOwnerType2, value_type > &output) const
 
void ApplyInverseTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &input, vctFixedSizeVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &output) const
 
vctFixedSizeVector< value_type, 2 > ApplyInverseTo (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &input) const
 
void ApplyInverseTo (const ThisType &input, ThisType &output) const
 
ThisType ApplyInverseTo (const ThisType &input) const
 
void ApplyInverseTo (const vctDynamicConstVectorBase< _vectorOwnerType1, value_type > &input, vctDynamicVectorBase< _vectorOwnerType2, value_type > &output) const
 
ThisType operator* (const ThisType &input) const
 
vctFixedSizeVector< value_type, 2 > operator* (const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &input) const
 
bool AlmostEquivalent (const ThisType &other, value_type tolerance=TypeTraits::Tolerance()) const
 
 vctMatrixRotation2Base (const value_type &element00, const value_type &element01, const value_type &element10, const value_type &element11) throw (std::runtime_error)
 
 vctMatrixRotation2Base (const vctFixedSizeConstVectorBase< 2, __stride1, value_type, __dataPtrType1 > &v1, const vctFixedSizeConstVectorBase< 2, __stride2, value_type, __dataPtrType2 > &v2, bool vectorsAreColumns=true) throw (std::runtime_error)
 
 vctMatrixRotation2Base (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &v1, const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &v2, bool vectorsAreColumns=true) throw (std::runtime_error)
 
 vctMatrixRotation2Base (const vctAngleRotation2 &angleRotation) throw (std::runtime_error)
 
 vctMatrixRotation2Base (const value_type &element00, const value_type &element01, const value_type &element10, const value_type &element11, bool normalizeInput)
 
 vctMatrixRotation2Base (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &v1, const vctFixedSizeConstVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &v2, bool vectorsAreColumns, bool normalizeInput)
 
 vctMatrixRotation2Base (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &v1, const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &v2, bool vectorsAreColumns, bool normalizeInput)
 
 vctMatrixRotation2Base (const vctAngleRotation2 &angleRotation, bool normalizeInput)
 
ThisTypeFrom (const value_type &element00, const value_type &element01, const value_type &element10, const value_type &element11) throw (std::runtime_error)
 
ThisTypeFrom (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &v1, const vctFixedSizeConstVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &v2, bool vectorsAreColumns=true) throw (std::runtime_error)
 
ThisTypeFrom (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &v1, const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &v2, bool vectorsAreColumns=true) throw (std::runtime_error)
 
ThisTypeFrom (const vctAngleRotation2 &angleRotation) throw (std::runtime_error)
 
ThisTypeFromNormalized (const value_type &element00, const value_type &element01, const value_type &element10, const value_type &element11)
 
ThisTypeFromNormalized (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &v1, const vctFixedSizeConstVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &v2, bool vectorsAreColumns=true) throw (std::runtime_error)
 
ThisTypeFromNormalized (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &v1, const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &v2, bool vectorsAreColumns=true)
 
ThisTypeFromNormalized (const vctAngleRotation2 &angleRotation)
 
ThisTypeFromRaw (const value_type &element00, const value_type &element01, const value_type &element10, const value_type &element11)
 
ThisTypeFromRaw (const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &v1, const vctFixedSizeConstVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &v2, bool vectorsAreColumns=true)
 
ThisTypeFromRaw (const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &v1, const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &v2, bool vectorsAreColumns=true) throw (std::runtime_error)
 
CISST_EXPORT ThisTypeFromRaw (const vctAngleRotation2 &angleRotation)
 
ThisTypeFromRaw (const ThisType &otherRotation)
 
ThisTypeFromRaw (const vctFixedSizeMatrixBase< DIMENSION, DIMENSION, __rowStride, __colStride, value_type, __dataPtrType > &matrix)
 
- Public Member Functions inherited from vctFixedSizeMatrix< _elementType, 2, 2 >
 VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType)
 
 vctFixedSizeMatrix ()
 
 vctFixedSizeMatrix (const value_type &value)
 
 vctFixedSizeMatrix (const value_type element0, const value_type element1,...)
 
 vctFixedSizeMatrix (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, __elementType, __dataPtrType > &matrix)
 
 vctFixedSizeMatrix (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &matrix)
 
ThisTypeoperator= (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, __elementType, __dataPtrType > &other)
 
ThisTypeoperator= (const ThisType &other)
 
ThisTypeoperator= (const vctFixedSizeConstMatrixRef< value_type, _rows, _cols, __rowStride, __colStride > &other)
 
ThisTypeoperator= (const vctFixedSizeConstMatrixRef< __elementType, _rows, _cols, __rowStride, __colStride > &other)
 
ThisTypeoperator= (const value_type &value)
 
- Public Member Functions inherited from vctFixedSizeMatrixBase< _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows, _elementType, vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowMajor?_cols:1, _rowMajor?1:_rows >::array >
 VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType)
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
RowRefType operator[] (size_type index)
 
ConstRowRefType operator[] (size_type index) const
 
pointer Pointer (size_type rowIndex, size_type colIndex)
 
pointer Pointer (void)
 
const_pointer Pointer (size_type rowIndex, size_type colIndex) const
 
const_pointer Pointer (void) const
 
reference at (size_type index) throw (std::out_of_range)
 
const_reference at (size_type index) const throw (std::out_of_range)
 
reference at (size_type rowIndex, size_type colIndex) throw (std::out_of_range)
 
const_reference at (size_type rowIndex, size_type colIndex) const throw (std::out_of_range)
 
reference operator() (size_type rowIndex, size_type colIndex) throw (std::out_of_range)
 
const_reference operator() (size_type rowIndex, size_type colIndex) const throw (std::out_of_range)
 
reference Element (size_type rowIndex, size_type colIndex)
 
const_reference Element (size_type rowIndex, size_type colIndex) const
 
void RowPermutationOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const index_type permutedRowIndexes[])
 
void RowInversePermutationOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const index_type permutedRowIndexes[])
 
void ColumnPermutationOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const index_type permutedColumnIndexes[])
 
void ColumnInversePermutationOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const index_type permutedColumnIndexes[])
 
value_type SetAll (const value_type value)
 
bool Zeros (void)
 
ThisTypeAssign (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, __elementType, __dataPtrType > &other)
 
ThisTypeAssign (const value_type element0,...)
 
ThisTypeAssign (const value_type *elements, bool inputIsRowMajor=true)
 
ThisTypeAssign (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &other)
 
RefTransposeType TransposeRef (void)
 
ConstRefTransposeType TransposeRef (void) const
 
void ProductOf (const vctFixedSizeConstMatrixBase< _rows, __input1Cols, __input1RowStride, __input1ColStride, _elementType, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< __input1Cols, _cols, __input2RowStride, __input2ColStride, _elementType, __input2DataPtrType > &input2Matrix)
 
ThisTypeAddProductOf (const value_type scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix)
 
ThisTypeAddElementwiseProductOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride1, __colStride1, value_type, __dataPtrType1 > &matrix1, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride2, __colStride2, value_type, __dataPtrType2 > &matrix2)
 
ThisTypeTransposeOf (const vctFixedSizeConstMatrixBase< _cols, _rows, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix)
 
void OuterProductOf (const vctFixedSizeConstVectorBase< _rows, __stride1, _elementType, __dataPtrType1 > &columnVector, const vctFixedSizeConstVectorBase< _cols, __stride2, _elementType, __dataPtrType2 > &rowVector)
 
bool FromStreamRaw (std::istream &inputStream, const char delimiter= ' ')
 
void DeSerializeRaw (std::istream &inputStream)
 
RowRefType Row (size_type index)
 
ConstRowRefType Row (size_type index) const
 
ColumnRefType Column (size_type index)
 
ConstColumnRefType Column (size_type index) const
 
DiagonalRefType Diagonal (void)
 
ConstDiagonalRefType Diagonal (void) const
 
vctFixedSizeMatrixRef
< _elementType, __subRows,
__subCols, _rowStride,
_colStride > 
Ref (const size_type startRow=0, const size_type startCol=0) throw (std::out_of_range)
 
vctFixedSizeConstMatrixRef
< _elementType, __subRows,
__subCols, _rowStride,
_colStride > 
Ref (const size_type startRow=0, const size_type startCol=0) const throw (std::out_of_range)
 
void ExchangeRows (const size_type row1Index, const size_type row2Index)
 
void ExchangeColumns (const size_type col1Index, const size_type col2Index)
 
void SelectRowsFrom (const vctFixedSizeConstMatrixBase< __rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const vctFixedSizeConstVectorBase< _rows, __indexStride, index_type, __indexDataPtrType > &rowIndexVector)
 
void SelectColsFrom (const vctFixedSizeConstMatrixBase< _rows, __cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const vctFixedSizeConstVectorBase< _cols, __indexStride, index_type, __indexDataPtrType > &colIndexVector)
 
ThisTypeForceAssign (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, __elementType, __dataPtrType > &other)
 
ThisTypeForceAssign (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &other)
 
bool FastCopyOf (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &source, bool performSafetyChecks=vctFastCopy::PerformChecks) throw (std::runtime_error)
 
bool FastCopyOf (const vctFixedSizeConstMatrixBase< ROWS, COLS, ROWSTRIDE, COLSTRIDE, value_type, __dataPtrType > &source, bool performSafetyChecks=vctFastCopy::PerformChecks) throw (std::runtime_error)
 
ThisTypeSumOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix)
 
ThisTypeDifferenceOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix)
 
ThisTypeElementwiseProductOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix)
 
ThisTypeElementwiseRatioOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix)
 
ThisTypeElementwiseMinOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix)
 
ThisTypeElementwiseMaxOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix)
 
ThisTypeAdd (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix)
 
ThisTypeSubtract (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix)
 
ThisTypeElementwiseMultiply (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix)
 
ThisTypeElementwiseDivide (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix)
 
ThisTypeElementwiseMin (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix)
 
ThisTypeElementwiseMax (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix)
 
ThisTypeoperator+= (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix)
 
ThisTypeoperator-= (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix)
 
ThisTypeSumOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type scalar)
 
ThisTypeDifferenceOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type scalar)
 
ThisTypeProductOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type scalar)
 
ThisTypeRatioOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type scalar)
 
ThisTypeClippedAboveOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type upperBound)
 
ThisTypeClippedBelowOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type lowerBound)
 
ThisTypeSumOf (const value_type scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix)
 
ThisTypeDifferenceOf (const value_type scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix)
 
ThisTypeProductOf (const value_type scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix)
 
ThisTypeRatioOf (const value_type scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix)
 
ThisTypeClippedAboveOf (const value_type upperBound, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix)
 
ThisTypeClippedBelowOf (const value_type lowerBound, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix)
 
ThisTypeAdd (const value_type scalar)
 
ThisTypeSubtract (const value_type scalar)
 
ThisTypeoperator+= (const value_type scalar)
 
ThisTypeoperator-= (const value_type scalar)
 
ThisTypeMultiply (const value_type scalar)
 
ThisTypeDivide (const value_type scalar)
 
ThisTypeClipAbove (const value_type upperBound)
 
ThisTypeClipBelow (const value_type lowerBound)
 
ThisTypeoperator*= (const value_type scalar)
 
ThisTypeoperator/= (const value_type scalar)
 
ThisTypeAbsOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix)
 
ThisTypeNegationOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix)
 
ThisTypeFloorOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix)
 
ThisTypeCeilOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix)
 
ThisTypeAbsSelf (void)
 
ThisTypeNegationSelf (void)
 
ThisTypeFloorSelf (void)
 
ThisTypeCeilSelf (void)
 
- Public Member Functions inherited from vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >
 VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType)
 
 VCT_NARRAY_TRAITS_TYPEDEFS (DIMENSION)
 
bool IsSquare (void) const
 
bool IsSquare (size_type size) const
 
template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, class __dataPtrType >
bool FastCopyCompatible (const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, value_type, __dataPtrType > &source) const
 
template<class __matrixOwnerType >
bool FastCopyCompatible (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &source) const
 
ConstRefTransposeType TransposeRef (void) const
 
TransposeValueType Transpose () const
 
std::string ToString (void) const
 
void ToStream (std::ostream &outputStream) const
 
void ToStreamRaw (std::ostream &outputStream, const char delimiter= ' ', bool headerOnly=false, const std::string &headerPrefix="") const
 
void SerializeRaw (std::ostream &outputStream) const
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
bool Equal (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
bool operator== (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
bool AlmostEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix, value_type tolerance) const
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
bool AlmostEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
bool NotEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
bool operator!= (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
bool Lesser (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
bool LesserOrEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
bool Greater (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
bool GreaterOrEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
BoolMatrixValueType ElementwiseEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
BoolMatrixValueType ElementwiseNotEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
BoolMatrixValueType ElementwiseLesser (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
BoolMatrixValueType ElementwiseLesserOrEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
BoolMatrixValueType ElementwiseGreater (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
 
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
BoolMatrixValueType ElementwiseGreaterOrEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
 
bool Equal (const value_type &scalar) const
 
bool operator== (const value_type &scalar) const
 
bool NotEqual (const value_type &scalar) const
 
bool operator!= (const value_type &scalar) const
 
bool Lesser (const value_type &scalar) const
 
bool LesserOrEqual (const value_type &scalar) const
 
bool Greater (const value_type &scalar) const
 
bool GreaterOrEqual (const value_type &scalar) const
 
BoolMatrixValueType ElementwiseEqual (const value_type &scalar) const
 
BoolMatrixValueType ElementwiseNotEqual (const value_type &scalar) const
 
BoolMatrixValueType ElementwiseLesser (const value_type &scalar) const
 
BoolMatrixValueType ElementwiseLesserOrEqual (const value_type &scalar) const
 
BoolMatrixValueType ElementwiseGreater (const value_type &scalar) const
 
BoolMatrixValueType ElementwiseGreaterOrEqual (const value_type &scalar) const
 
MatrixValueType Abs (void) const
 
MatrixValueType Negation (void) const
 
MatrixValueType Floor (void) const
 
MatrixValueType Ceil (void) const
 

Additional Inherited Members

- Static Public Member Functions inherited from vctMatrixRotation2Base< vctFixedSizeMatrix< _elementType, 2, 2 > >
static CISST_EXPORT const
ThisType
Identity ()
 
- Static Public Member Functions inherited from vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >
static const MatrixValueType & Eye (void)
 
- Protected Member Functions inherited from vctMatrixRotation2Base< vctFixedSizeMatrix< _elementType, 2, 2 > >
void ThrowUnlessIsNormalized (void) const throw (std::runtime_error)
 
void ThrowUnlessIsNormalized (const _inputType &input) const throw (std::runtime_error)
 
void Allocate (void)
 

Detailed Description

template<class _elementType>
class vctMatrixRotation2< _elementType >

Define a rotation matrix for a space of dimension 2.

This class is templated by the element type. It is derived from vctMatrixRotation2Base and uses a vctFixedSizeMatrix as underlying container. It provides a more humain interface for programmers only interested in templating by _elementType.

Parameters
_elementTypeThe type of elements of the matrix.
See Also
vctMatrixRotation2Base vctFixedSizeMatrix

Member Typedef Documentation

template<class _elementType >
typedef vctMatrixRotation2Base<ContainerType> vctMatrixRotation2< _elementType >::BaseType
template<class _elementType >
typedef vctFixedSizeMatrix<value_type, ROWS, COLS> vctMatrixRotation2< _elementType >::ContainerType
template<class _elementType >
typedef vctMatrixRotation2<value_type> vctMatrixRotation2< _elementType >::ThisType
template<class _elementType >
typedef cmnTypeTraits<value_type> vctMatrixRotation2< _elementType >::TypeTraits

Traits used for all useful types and values related to the element type.

Member Enumeration Documentation

template<class _elementType >
anonymous enum
Enumerator
ROWS 
COLS 
template<class _elementType >
anonymous enum
Enumerator
DIMENSION 

Constructor & Destructor Documentation

template<class _elementType >
vctMatrixRotation2< _elementType >::vctMatrixRotation2 ( )
inline

Default constructor. Sets the rotation matrix to identity.

template<class _elementType >
vctMatrixRotation2< _elementType >::vctMatrixRotation2 ( const ThisType other)
inline
template<class _elementType >
vctMatrixRotation2< _elementType >::vctMatrixRotation2 ( const BaseType other)
inline
template<class _elementType >
vctMatrixRotation2< _elementType >::vctMatrixRotation2 ( const value_type &  element00,
const value_type &  element01,
const value_type &  element10,
const value_type &  element11 
)
throw (std::runtime_error
)
inline
template<class _elementType >
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 >
vctMatrixRotation2< _elementType >::vctMatrixRotation2 ( const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &  v1,
const vctFixedSizeConstVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &  v2,
bool  vectorsAreColumns = true 
)
throw (std::runtime_error
)
inline
template<class _elementType >
template<class __vectorOwnerType1 , class __vectorOwnerType2 >
vctMatrixRotation2< _elementType >::vctMatrixRotation2 ( const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &  v1,
const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &  v2,
bool  vectorsAreColumns = true 
)
throw (std::runtime_error
)
inline
template<class _elementType >
vctMatrixRotation2< _elementType >::vctMatrixRotation2 ( const vctAngleRotation2 angleRotation)
throw (std::runtime_error
)
inline
template<class _elementType >
vctMatrixRotation2< _elementType >::vctMatrixRotation2 ( const value_type &  element00,
const value_type &  element01,
const value_type &  element10,
const value_type &  element11,
bool  normalizeInput 
)
inline
template<class _elementType >
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 >
vctMatrixRotation2< _elementType >::vctMatrixRotation2 ( const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &  v1,
const vctFixedSizeConstVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &  v2,
bool  vectorsAreColumns,
bool  normalizeInput 
)
inline
template<class _elementType >
template<class __vectorOwnerType1 , class __vectorOwnerType2 >
vctMatrixRotation2< _elementType >::vctMatrixRotation2 ( const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &  v1,
const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &  v2,
bool  vectorsAreColumns,
bool  normalizeInput 
)
inline
template<class _elementType >
vctMatrixRotation2< _elementType >::vctMatrixRotation2 ( const vctAngleRotation2 angleRotation,
bool  normalizeInput 
)
inline
template<class _elementType >
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType >
vctMatrixRotation2< _elementType >::vctMatrixRotation2 ( const vctFixedSizeMatrixBase< ROWS, COLS, __rowStride, __colStride, value_type, __dataPtrType > &  matrix)
inlineexplicit

Initialize this rotation matrix with a 2x2 matrix. This constructor only takes a matrix of the same element type.

Note
This constructor does not verify normalization. It is introduced to allow using results of matrix operations and assign them to a rotation matrix.
The constructor is declared explicit, to force the user to be aware of the conversion being made.

Member Function Documentation

template<class _elementType >
ThisType& vctMatrixRotation2< _elementType >::operator= ( const ContainerType other)
inline

The assignment from BaseType (i.e. a 2 by 2 fixed size matrix) has to be redefined for this class (C++ restriction). This operator uses the Assign() method inherited from the BaseType. This operator (as well as the Assign method) allows to set a rotation matrix to whatever value without any further validity checking. It is recommended to use it with caution.

template<class _elementType >
ThisType& vctMatrixRotation2< _elementType >::operator= ( const ThisType other)
inline
template<class _elementType >
ThisType& vctMatrixRotation2< _elementType >::operator= ( const BaseType other)
inline
template<class _elementType >
vctMatrixRotation2< _elementType >::VCT_CONTAINER_TRAITS_TYPEDEFS ( _elementType  )

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