22 #ifndef _vctMatrixRotation3ConstBase_h 
   23 #define _vctMatrixRotation3ConstBase_h 
   56 template <
class _containerType>
 
   80             cmnThrow(std::runtime_error(
"vctMatrixRotation3ConstBase: This rotation is not normalized"));
 
   88     template <
class _inputType>
 
   90         if (! input.IsNormalized()) {
 
   91             cmnThrow(std::runtime_error(
"vctMatrixRotation3ConstBase: Input is not normalized"));
 
  120         columnNorm = this->Column(0).Norm();
 
  123         columnNorm = this->Column(1).Norm();
 
  126         columnNorm = this->Column(2).Norm();
 
  129         value_type columnDot;
 
  155     template <
stride_type __stride1, 
class __dataPtrType1,
 
  179     template <str
ide_type __str
ide, 
class __dataPtrType>
 
  198         CMN_ASSERT(input.Pointer() != this->Pointer());
 
  209     template <
class __vectorOwnerType1, 
class __vectorOwnerType2>
 
  213         throw(std::runtime_error)
 
  215         CMN_ASSERT(input.Pointer() != output.Pointer());
 
  226     template <
class __vectorOwnerType, str
ide_type __str
ide, 
class __dataPtrType>
 
  230         throw(std::runtime_error)
 
  232         CMN_ASSERT(input.Pointer() != output.Pointer());
 
  245     template <
class __vectorOwnerType>
 
  260     template <
stride_type __stride1, 
class __dataPtrType1,
 
  282     template <str
ide_type __str
ide, 
class __dataPtrType>
 
  293     template <
class __vectorOwnerType>
 
  311         CMN_ASSERT(input.Pointer() != output.Pointer());
 
  312         output.ProductOf(this->TransposeRef(), input);
 
  325         CMN_ASSERT(input.Pointer() != this->Pointer());
 
  336     template <
class __vectorOwnerType1, 
class __vectorOwnerType2>
 
  355     template <
class __vectorOwnerType, str
ide_type __str
ide, 
class __dataPtrType>
 
  383     template <
class __matrixOwnerType1, 
class __matrixOwnerType2>
 
  402         output.
ProductOf(this->TransposeRef(), input);
 
  407     template <
class __matrixOwnerType1, 
class __matrixOwnerType2>
 
  432     template <str
ide_type __str
ide, 
class __dataPtrType>
 
  443     template <
class __vectorOwnerType1>
 
  460         return this->AlmostEqual(other, tolerance);
 
  465 #endif  // _vctMatrixRotation3ConstBase_h 
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
 
A template for a fixed size matrix with fixed spacing in memory. 
Definition: vctFixedSizeConstMatrixBase.h:103
 
void ApplyTo(const vctFixedSizeConstMatrixBase< DIMENSION, __cols, __rowStride1, __colStride1, value_type, __dataPtrType1 > &input, vctFixedSizeMatrixBase< DIMENSION, __cols, __rowStride2, __colStride2, value_type, __dataPtrType2 > &output) const 
Definition: vctMatrixRotation3ConstBase.h:374
 
Declaration of vctDynamicMatrix. 
 
ThisType ApplyInverseTo(const ThisType &input) const 
Definition: vctMatrixRotation3ConstBase.h:324
 
vctFixedSizeVector< value_type, DIMENSION > ApplyInverseTo(const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &input) const 
Definition: vctMatrixRotation3ConstBase.h:295
 
#define CMN_ASSERT(expr)
Definition: cmnAssert.h:90
 
void ApplyTo(const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &input, vctFixedSizeVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &output) const 
Definition: vctMatrixRotation3ConstBase.h:228
 
void ApplyTo(const vctDynamicConstMatrixBase< __matrixOwnerType1, value_type > &input, vctDynamicMatrixBase< __matrixOwnerType2, value_type > &output) const 
Definition: vctMatrixRotation3ConstBase.h:384
 
Definition: vctDynamicMatrixBase.h:42
 
RotationValueType Normalized(void) const 
Definition: vctMatrixRotation3.h:389
 
void ApplyInverseTo(const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &input, vctFixedSizeVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &output) const 
Definition: vctMatrixRotation3ConstBase.h:357
 
Definition: vctMatrixRotation3ConstBase.h:61
 
void ApplyInverseTo(const ThisType &input, ThisType &output) const 
Definition: vctMatrixRotation3ConstBase.h:310
 
_containerType ContainerType
Definition: vctMatrixRotation3ConstBase.h:63
 
static Type Tolerance(void)
Definition: cmnTypeTraits.h:170
 
Declaration of vctFixedSizeMatrix. 
 
Forward declarations and #define for cisstVector. 
 
ThisType & ProductOf(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type scalar)
Definition: vctFixedSizeMatrixBase.h:909
 
cmnTypeTraits< value_type > TypeTraits
Definition: vctMatrixRotation3ConstBase.h:73
 
size_t size_type
Definition: vctContainerTraits.h:35
 
void ApplyInverseTo(const vctDynamicConstMatrixBase< __matrixOwnerType1, value_type > &input, vctDynamicMatrixBase< __matrixOwnerType2, value_type > &output) const 
Definition: vctMatrixRotation3ConstBase.h:408
 
void ThrowUnlessIsNormalized(void) const 
Definition: vctMatrixRotation3ConstBase.h:78
 
vctMatrixRotation3< value_type > RotationValueType
Definition: vctMatrixRotation3ConstBase.h:70
 
vctFixedSizeVector< value_type, DIMENSION > ApplyInverseTo(const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &input) const 
Definition: vctMatrixRotation3ConstBase.h:284
 
_containerType BaseType
Definition: vctMatrixRotation3ConstBase.h:62
 
ThisType & ProductOf(const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &matrix, const value_type scalar)
Definition: vctDynamicMatrixBase.h:971
 
Definition: vctDynamicConstMatrixBase.h:77
 
Implementation of a fixed-size vector using template metaprogramming. 
Definition: vctFixedSizeVector.h:52
 
void ApplyTo(const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &input, vctDynamicVectorBase< __vectorOwnerType2, value_type > &output) const 
Definition: vctMatrixRotation3ConstBase.h:211
 
Define unary operations on an object as classes. 
Definition: vctUnaryOperations.h:55
 
ThisType operator*(const ThisType &input) const 
Definition: vctMatrixRotation3ConstBase.h:423
 
size_type size(void) const 
Definition: vctDynamicConstVectorBase.h:164
 
ThisType ApplyTo(const ThisType &input) const 
Definition: vctMatrixRotation3ConstBase.h:197
 
A template for a fixed size matrix with fixed spacings in memory. 
Definition: vctFixedSizeMatrixBase.h:58
 
RotationValueType Inverse(void) const 
Definition: vctMatrixRotation3.h:398
 
pointer Pointer(size_type rowIndex, size_type colIndex)
Definition: vctDynamicMatrixBase.h:143
 
Definition: vctMatrixRotation3ConstBase.h:60
 
Dynamic matrix referencing existing memory (const) 
Definition: vctDynamicConstMatrixRef.h:79
 
vctFixedSizeVector< value_type, DIMENSION > ApplyTo(const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &input) const 
Definition: vctMatrixRotation3ConstBase.h:247
 
size_type rows() const 
Definition: vctDynamicConstMatrixBase.h:238
 
size_type cols() const 
Definition: vctDynamicConstMatrixBase.h:243
 
Definition: vctMatrixRotation3ConstBase.h:60
 
_elementType vctDotProduct(const vctDynamicConstVectorBase< _vector1OwnerType, _elementType > &vector1, const vctDynamicConstVectorBase< _vector2OwnerType, _elementType > &vector2)
Definition: vctDynamicConstVectorBase.h:1067
 
Define a rotation matrix for a space of dimension 3. 
Definition: vctForwardDeclarations.h:198
 
const_pointer Pointer(size_type index=0) const 
Definition: vctFixedSizeConstVectorBase.h:268
 
const_pointer Pointer(index_type rowIndex, index_type colIndex) const 
Definition: vctDynamicConstMatrixBase.h:306
 
void ApplyInverseTo(const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &input, vctFixedSizeVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &output) const 
Definition: vctMatrixRotation3ConstBase.h:263
 
bool AlmostEquivalent(const ThisType &other, value_type tolerance=TypeTraits::Tolerance()) const 
Definition: vctMatrixRotation3ConstBase.h:458
 
#define cmnThrow(a)
Definition: MinimalCmn.h:4
 
VCT_CONTAINER_TRAITS_TYPEDEFS(typename ContainerType::value_type)
 
static CISST_EXPORT const RotationValueType & Identity()
 
const_pointer Pointer(index_type index=0) const 
Definition: vctDynamicConstVectorBase.h:221
 
pointer Pointer(index_type index=0)
Definition: vctDynamicVectorBase.h:155
 
A template for a fixed length vector with fixed spacing in memory. 
Definition: vctFixedSizeVectorBase.h:76
 
ptrdiff_t stride_type
Definition: vctContainerTraits.h:37
 
Definition: vctDynamicConstVectorBase.h:77
 
void ApplyInverseTo(const vctFixedSizeConstMatrixBase< DIMENSION, __cols, __rowStride1, __colStride1, value_type, __dataPtrType1 > &input, vctFixedSizeMatrixBase< DIMENSION, __cols, __rowStride2, __colStride2, value_type, __dataPtrType2 > &output) const 
Definition: vctMatrixRotation3ConstBase.h:398
 
A template for a fixed length vector with fixed spacing in memory. 
Definition: vctFixedSizeConstVectorBase.h:107
 
pointer Pointer(size_type index=0)
Definition: vctFixedSizeVectorBase.h:226
 
void ApplyTo(const vctFixedSizeConstVectorBase< DIMENSION, __stride1, value_type, __dataPtrType1 > &input, vctFixedSizeVectorBase< DIMENSION, __stride2, value_type, __dataPtrType2 > &output) const 
Definition: vctMatrixRotation3ConstBase.h:158
 
Macros to export the symbols of cisstVector (in a Dll). 
 
A collection of useful information about the C++ basic types, represented in a generic programming wa...
Definition: cmnTypeTraits.h:155
 
vctMatrixRotation3ConstBase< ContainerType > ThisType
Definition: vctMatrixRotation3ConstBase.h:64
 
void ApplyInverseTo(const vctDynamicConstVectorBase< __vectorOwnerType1, value_type > &input, vctDynamicVectorBase< __vectorOwnerType2, value_type > &output) const 
Definition: vctMatrixRotation3ConstBase.h:338
 
void ThrowUnlessIsNormalized(const _inputType &input) const 
Definition: vctMatrixRotation3ConstBase.h:89
 
vctFixedSizeVector< value_type, DIMENSION > ApplyTo(const vctFixedSizeConstVectorBase< DIMENSION, __stride, value_type, __dataPtrType > &input) const 
Definition: vctMatrixRotation3ConstBase.h:181
 
pointer Pointer(size_type rowIndex, size_type colIndex)
Definition: vctFixedSizeMatrixBase.h:161
 
bool IsNormalized(value_type tolerance=TypeTraits::Tolerance()) const 
Definition: vctMatrixRotation3ConstBase.h:118
 
Definition: vctDynamicVectorBase.h:61
 
Define a rotation matrix for a space of dimension 3. 
Definition: vctForwardDeclarations.h:200