cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vctMatrixRotation3Ref.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3 
4 /*
5 
6  Author(s): Anton Deguet
7  Created on: 2004-01-12
8 
9  (C) Copyright 2004-2012 Johns Hopkins University (JHU), All Rights
10  Reserved.
11 
12 --- begin cisst license - do not edit ---
13 
14 This software is provided "as is" under an open source license, with
15 no warranty. The complete license can be found in license.txt and
16 http://www.cisst.org/cisst/license.txt.
17 
18 --- end cisst license ---
19 */
20 
21 #pragma once
22 #ifndef _vctMatrixRotation3Ref_h
23 #define _vctMatrixRotation3Ref_h
24 
32 
33 #include <cisstVector/vctExport.h>
34 
35 
50 template <class _elementType, vct::stride_type _rowStride, vct::stride_type _colStride>
51 class vctMatrixRotation3Ref: public vctMatrixRotation3Base<vctFixedSizeMatrixRef<_elementType, 3, 3, _rowStride, _colStride> >
52 {
53  public:
54  /* no need to document, inherit doxygen documentation from base class */
55  VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType);
56  enum {ROWS = 3, COLS = 3};
57  enum {DIMENSION = 3};
63 
65  inline vctMatrixRotation3Ref(void):
66  BaseType()
67  {}
68 
69 
70  inline vctMatrixRotation3Ref(const ThisType & other):
71  BaseType()
72  {
73  this->SetRef(other);
74  }
75 
76  inline vctMatrixRotation3Ref(const BaseType & other):
77  BaseType()
78  {
79  this->SetRef(other);
80  }
81 
88  inline ThisType & operator = (const ContainerType & other) {
89  return reinterpret_cast<ThisType &>(this->Assign(other));
90  }
91 
92  inline ThisType & operator = (const ThisType & other) {
93  return reinterpret_cast<ThisType &>(this->Assign(other));
94  }
95 
96  inline ThisType & operator = (const BaseType & other) {
97  return reinterpret_cast<ThisType &>(this->Assign(other));
98  }
99 
100 };
101 
102 
103 #endif // _vctMatrixRotation3Ref_h
VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType)
void SetRef(pointer p)
Definition: vctFixedSizeMatrixRef.h:108
vctMatrixRotation3Ref(const BaseType &other)
Definition: vctMatrixRotation3Ref.h:76
ThisType & operator=(const ContainerType &other)
Definition: vctMatrixRotation3Ref.h:88
Definition: vctMatrixRotation3Ref.h:57
ThisType & Assign(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, __elementType, __dataPtrType > &other)
Definition: vctFixedSizeMatrixBase.h:475
vctMatrixRotation3Ref(const ThisType &other)
Definition: vctMatrixRotation3Ref.h:70
Declaration of vctFixedSizeMatrix.
vctMatrixRotation3Ref< value_type, _rowStride, _colStride > ThisType
Definition: vctMatrixRotation3Ref.h:60
Define a rotation matrix for a space of dimension 3.
Definition: vctForwardDeclarations.h:199
Define a rotation matrix for a space of dimension 3.
Definition: vctForwardDeclarations.h:201
An implementation of the ``abstract'' vctFixedSizeMatrixBase.
Definition: vctFixedSizeMatrixRef.h:46
Definition: vctMatrixRotation3Ref.h:56
Declaration of vctMatrixRotation3Base.
cmnTypeTraits< value_type > TypeTraits
Definition: vctMatrixRotation3Ref.h:62
vctMatrixRotation3Ref(void)
Definition: vctMatrixRotation3Ref.h:65
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
vctMatrixRotation3Base< ContainerType > BaseType
Definition: vctMatrixRotation3Ref.h:59
Definition: vctMatrixRotation3Ref.h:56
vctFixedSizeMatrixRef< value_type, ROWS, COLS, _rowStride, _colStride > ContainerType
Definition: vctMatrixRotation3Ref.h:58