20#ifndef _vctMatrixRotation3_h
21#define _vctMatrixRotation3_h
49template <
class _elementType,
bool _rowMajor>
145 this->
From(element00, element01, element02,
146 element10, element11, element12,
147 element20, element21, element22);
156 template <stride_type __stride1,
class __dataPtrType1,
157 stride_type __stride2,
class __dataPtrType2,
158 stride_type __stride3,
class __dataPtrType3>
162 bool vectorsAreColumns =
true)
165 this->
From(v1, v2, v3, vectorsAreColumns);
174 template <
class __vectorOwnerType1,
175 class __vectorOwnerType2,
176 class __vectorOwnerType3>
180 bool vectorsAreColumns =
true)
183 this->
From(v1, v2, v3, vectorsAreColumns);
190 this->
From(axisAngleRotation);
200 template <
class __containerType>
204 this->
From(quaternionRotation);
208 template <
class __containerType>
212 this->
From(rodriguezRotation);
216 template <vctEulerRotation3Order::OrderType __order>
220 this->
From(eulerRotation);
262 if (normalizeInput) {
264 element10, element11, element12,
265 element20, element21, element22);
267 this->
FromRaw(element00, element01, element02,
268 element10, element11, element12,
269 element20, element21, element22);
279 template <stride_type __stride1,
class __dataPtrType1,
280 stride_type __stride2,
class __dataPtrType2,
281 stride_type __stride3,
class __dataPtrType3>
285 bool vectorsAreColumns,
bool normalizeInput)
287 if (normalizeInput) {
290 this->
FromRaw(v1, v2, v3, vectorsAreColumns);
300 template <
class __vectorOwnerType1,
301 class __vectorOwnerType2,
302 class __vectorOwnerType3>
306 bool vectorsAreColumns,
bool normalizeInput)
308 if (normalizeInput) {
311 this->
FromRaw(v1, v2, v3, vectorsAreColumns);
319 if (normalizeInput) {
322 this->
FromRaw(axisAngleRotation);
334 template <
class __containerType>
338 if (normalizeInput) {
341 this->
FromRaw(quaternionRotation);
346 template <
class __containerType>
350 if (normalizeInput) {
353 this->
FromRaw(rodriguezRotation);
358 template <vctEulerRotation3Order::OrderType __order>
362 if (normalizeInput) {
381 template <str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
392template <
class _containerType>
401template <
class _containerType>
A collection of useful information about the C++ basic types, represented in a generic programming wa...
Definition cmnTypeTraits.h:155
Define a rotation based on an axis and an angle for a space of dimension 3.
Definition vctAxisAngleRotation3.h:93
Definition vctForwardDeclarations.h:119
Dynamic matrix referencing existing memory.
Definition vctDynamicMatrixRef.h:75
Definition vctEulerRotation3.h:154
A template for a fixed length vector with fixed spacing in memory.
Definition vctFixedSizeConstVectorBase.h:108
A template for a fixed size matrix with fixed spacings in memory.
Definition vctFixedSizeMatrixBase.h:60
ThisType & Assign(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, __elementType, __dataPtrType > &other)
Definition vctFixedSizeMatrixBase.h:475
vctFixedSizeMatrix()
Definition vctFixedSizeMatrix.h:78
vctMatrixRotation3Base()
Definition vctMatrixRotation3Base.h:87
ThisType & FromNormalized(const vctMatrixRotation3Base< __containerType > &other) CISST_THROW(std
Definition vctMatrixRotation3Base.h:232
ThisType & From(const vctMatrixRotation3Base< __containerType > &other) CISST_THROW(std
Definition vctMatrixRotation3Base.h:106
ThisType & FromRaw(const vctMatrixRotation3Base< __containerType > &other) CISST_THROW(std
Definition vctMatrixRotation3Base.h:352
ThisType & NormalizedSelf(void)
Definition vctMatrixRotation3Base.h:491
ThisType & InverseSelf(void)
Definition vctMatrixRotation3Base.h:513
Define a rotation matrix for a space of dimension 3.
Definition vctMatrixRotation3ConstBase.h:56
RotationValueType Normalized(void) const
Definition vctMatrixRotation3.h:394
RotationValueType Inverse(void) const
Definition vctMatrixRotation3.h:403
static CISST_EXPORT const RotationValueType & Identity()
vctMatrixRotation3< value_type > RotationValueType
Definition vctMatrixRotation3ConstBase.h:68
vctMatrixRotation3(const vctRodriguezRotation3Base< __containerType > &rodriguezRotation) CISST_THROW(std
Definition vctMatrixRotation3.h:209
cmnTypeTraits< value_type > TypeTraits
Definition vctMatrixRotation3.h:62
vctMatrixRotation3(const vctEulerRotation3< __order > &eulerRotation) CISST_THROW(std
Definition vctMatrixRotation3.h:217
vctFixedSizeMatrix< value_type, ROWS, COLS, _rowMajor > ContainerType
Definition vctMatrixRotation3.h:57
vctMatrixRotation3(const BaseType &other)
Definition vctMatrixRotation3.h:77
vctMatrixRotation3(const vctQuaternionRotation3Base< __containerType > &quaternionRotation) CISST_THROW(std
Definition vctMatrixRotation3.h:201
vctMatrixRotation3(const vctRodriguezRotation3Base< __containerType > &rodriguezRotation, bool normalizeInput)
Definition vctMatrixRotation3.h:347
vctMatrixRotation3(const value_type &element00, const value_type &element01, const value_type &element02, const value_type &element10, const value_type &element11, const value_type &element12, const value_type &element20, const value_type &element21, const value_type &element22, bool normalizeInput)
Definition vctMatrixRotation3.h:257
vctMatrixRotation3(const vctAxisAngleRotation3< value_type > &axisAngleRotation) CISST_THROW(std
Definition vctMatrixRotation3.h:187
vctMatrixRotation3Base< ContainerType > BaseType
Definition vctMatrixRotation3.h:58
@ DIMENSION
Definition vctMatrixRotation3.h:56
vctMatrixRotation3(const vctQuaternionRotation3Base< __containerType > &quaternionRotation, bool normalizeInput)
Definition vctMatrixRotation3.h:335
vctMatrixRotation3(const vctAxisAngleRotation3< value_type > &axisAngleRotation, bool normalizeInput)
Definition vctMatrixRotation3.h:316
ThisType & operator=(const ContainerType &other)
Definition vctMatrixRotation3.h:101
vctMatrixRotation3(const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &v1, const vctFixedSizeConstVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &v2, const vctFixedSizeConstVectorBase< DIMENSION, __stride3, value_type, __dataPtrType3 > &v3, bool vectorsAreColumns, bool normalizeInput)
Definition vctMatrixRotation3.h:282
vctMatrixRotation3(const vctDynamicMatrixRef< value_type > &other)
Definition vctMatrixRotation3.h:89
vctMatrixRotation3(void)
Definition vctMatrixRotation3.h:65
vctMatrixRotation3(const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &v1, const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &v2, const vctDynamicConstVectorBase< __vectorOwnerType3, value_type > &v3, bool vectorsAreColumns=true) CISST_THROW(std
Definition vctMatrixRotation3.h:177
vctMatrixRotation3(const value_type &element00, const value_type &element01, const value_type &element02, const value_type &element10, const value_type &element11, const value_type &element12, const value_type &element20, const value_type &element21, const value_type &element22) CISST_THROW(std
Definition vctMatrixRotation3.h:140
vctMatrixRotation3(const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &v1, const vctDynamicConstVectorBase< __vectorOwnerType2, value_type > &v2, const vctDynamicConstVectorBase< __vectorOwnerType3, value_type > &v3, bool vectorsAreColumns, bool normalizeInput)
Definition vctMatrixRotation3.h:303
vctMatrixRotation3(const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &v1, const vctFixedSizeConstVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &v2, const vctFixedSizeConstVectorBase< DIMENSION, __stride3, value_type, __dataPtrType3 > &v3, bool vectorsAreColumns=true) CISST_THROW(std
Definition vctMatrixRotation3.h:159
@ ROWS
Definition vctMatrixRotation3.h:55
@ COLS
Definition vctMatrixRotation3.h:55
vctMatrixRotation3ConstBase< ContainerType > ConstBaseType
Definition vctMatrixRotation3.h:59
vctMatrixRotation3< value_type, _rowMajor > ThisType
Definition vctMatrixRotation3.h:60
VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType)
vctMatrixRotation3(const vctFixedSizeMatrixBase< ROWS, COLS, __rowStride, __colStride, value_type, __dataPtrType > &matrix)
Definition vctMatrixRotation3.h:383
vctMatrixRotation3(const ThisType &other)
Definition vctMatrixRotation3.h:71
vctMatrixRotation3(const ConstBaseType &other)
Definition vctMatrixRotation3.h:83
vctMatrixRotation3(const vctEulerRotation3< __order > &eulerRotation, bool normalizeInput)
Definition vctMatrixRotation3.h:359
Define a rotation quaternion for a space of dimension 3.
Definition vctQuaternionRotation3Base.h:64
Define a rotation based on the rodriguez representation for a space of dimension 3.
Definition vctRodriguezRotation3Base.h:68
#define CISST_THROW(exceptionParameter)
Somewhat portable compilation warning message. This works with very recent versions of gcc (4....
Definition cmnPortability.h:559
Declaration of vctDynamicMatrixRef.
Macros to export the symbols of cisstVector (in a Dll).
Declaration of vctFixedSizeMatrix.
Declaration of vctMatrixRotation3Base.