cisst-saw
Loading...
Searching...
No Matches
vctForwardDeclarations.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 Author(s): Anton Deguet
6 Created on: 2004-10-25
7
8 (C) Copyright 2004-2020 Johns Hopkins University (JHU), All Rights Reserved.
9
10--- begin cisst license - do not edit ---
11
12This software is provided "as is" under an open source license, with
13no warranty. The complete license can be found in license.txt and
14http://www.cisst.org/cisst/license.txt.
15
16--- end cisst license ---
17*/
18
19#pragma once
20#ifndef _vctForwardDeclarations_h
21#define _vctForwardDeclarations_h
22
30
39
41const bool VCT_ROW_MAJOR = true;
42
44const bool VCT_COL_MAJOR = false;
45
48
51
53
54
59const bool VCT_NORMALIZE = true;
60
67const bool VCT_DO_NOT_NORMALIZE = false;
68
69
70// iterators
71template <class _ownerType, bool _forward>
73
74template <class _ownerType, bool _forward>
76
77
78// fixed size vectors
79template <vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
81
82template <vct::size_type _size, vct::stride_type _stride, class _elementType, class _dataPtrType>
84
85template <class _elementType, vct::size_type _size, vct::stride_type _stride>
87
88template <class _elementType, vct::size_type _size, vct::stride_type _stride>
90
91template <class _elementType, vct::size_type _size>
93
94
95// fixed size matrices
96template <vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride,
97 vct::stride_type _colStride, class _elementType, class _dataPtrType>
99
100template <vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride,
101 vct::stride_type _colStride, class _elementType, class _dataPtrType>
103
104template <class _elementType, vct::size_type _rows, vct::size_type _cols,
105 vct::stride_type _rowStride, vct::stride_type _colStride>
107
108template <class _elementType, vct::size_type _rows, vct::size_type _cols,
109 vct::stride_type _rowStride, vct::stride_type _colStride>
111
112template <class _elementType, vct::size_type _rows, vct::size_type _cols,
113 bool _rowMajor = VCT_ROW_MAJOR>
115
116
117// dynamic vectors
118template <class _vectorOwnerType, class _elementType>
120
121template <class _vectorOwnerType, class _elementType>
123
124template <class _elementType>
126
127template <class _elementType>
129
130template <class _elementType>
132
133template <class _elementType>
135
136template <class _elementType>
138
139template <class _elementType>
141
142
143// dynamic matrices
144template <class _matrixOwnerType, class _elementType>
146
147template <class _matrixOwnerType, class _elementType>
149
150template <class _elementType>
152
153template <class _elementType>
155
156template <class _elementType>
158
159template <class _elementType>
161
162template <class _elementType>
164
165template <class _elementType>
167
168
169// dynamic nArrays
170template <class _nArrayOwnerType, class _elementType, vct::size_type _dimension>
172
173template <class _nArrayOwnerType, class _elementType, vct::size_type _dimension>
175
176template <class _elementType, vct::size_type _dimension>
178
179template <class _elementType, vct::size_type _dimension>
181
182template <class _elementType, vct::size_type _dimension>
184
185template <class _elementType, vct::size_type _dimension>
187
188template <class _elementType, vct::size_type _dimension>
190
191template <class _elementType, vct::size_type _dimension>
193
194
195// transformations
196template <class _containerType> class vctMatrixRotation3ConstBase;
197template <class _containerType> class vctMatrixRotation3Base;
198template <class _elementType, bool _rowMajor = VCT_ROW_MAJOR> class vctMatrixRotation3;
199template <class _elementType, vct::stride_type _rowStride, vct::stride_type _colStride> class vctMatrixRotation3Ref;
200template <class _elementType, vct::stride_type _rowStride, vct::stride_type _colStride> class vctMatrixRotation3ConstRef;
201
202template <class _containerType>
204
205template <class _containerType>
207
208template <class _elementType>
210
211template <class _containerType>
213template <class _elementType>
215
216namespace vctEulerRotation3Order {
217 //enum OrderType { XZX, XZY, XYX, XYZ, YXY, YXZ, YZY, YZX, ZYZ, ZYX, ZXZ, ZXY };
218 typedef enum { ZYZ, ZYX, ZXZ, YZX } OrderType;
219};
220
221template <vctEulerRotation3Order::OrderType _order>
223
224template <class _containerType>
226
228
229template <class _rotationType>
230class vctFrameBase;
231
232template <class _containerType> class vctFrame4x4ConstBase;
233template <class _containerType> class vctFrame4x4Base;
234template <class _elementType, bool _rowMajor = VCT_ROW_MAJOR> class vctFrame4x4;
235
236// plot
237class vctPlot2DBase;
238
239#endif // _vctForwardDeclarations_h
Define a rotation based on an angle for a space of dimension 2.
Definition vctAngleRotation2.h:45
Define a rotation based on an axis and an angle for a space of dimension 3.
Definition vctAxisAngleRotation3.h:93
Definition vctForwardDeclarations.h:145
Dynamic matrix referencing existing memory (const).
Definition vctDynamicConstMatrixRef.h:81
Definition vctForwardDeclarations.h:171
Dynamic nArray referencing existing memory (const).
Definition vctDynamicConstNArrayRef.h:91
Definition vctForwardDeclarations.h:119
Dynamic vector referencing existing memory (const).
Definition vctDynamicConstVectorRef.h:79
Definition vctDynamicMatrixBase.h:43
Definition vctForwardDeclarations.h:157
Definition vctDynamicMatrixOwner.h:39
Dynamic matrix referencing existing memory.
Definition vctDynamicMatrixRef.h:75
Definition vctDynamicMatrixRefOwner.h:40
Definition vctDynamicNArrayBase.h:41
Definition vctForwardDeclarations.h:183
Definition vctDynamicNArrayOwner.h:37
Dynamic nArray referencing existing memory.
Definition vctDynamicNArrayRef.h:89
Definition vctDynamicNArrayRefOwner.h:37
Definition vctDynamicVectorBase.h:62
Definition vctForwardDeclarations.h:131
Definition vctDynamicVectorOwner.h:37
Dynamic vector referencing existing memory.
Definition vctDynamicVectorRef.h:78
Definition vctDynamicVectorRefOwner.h:40
Definition vctEulerRotation3.h:154
A template for a fixed size matrix with fixed spacing in memory.
Definition vctFixedSizeConstMatrixBase.h:104
Definition vctForwardDeclarations.h:106
A template for a fixed length vector with fixed spacing in memory.
Definition vctFixedSizeConstVectorBase.h:108
Definition vctForwardDeclarations.h:86
A template for a fixed size matrix with fixed spacings in memory.
Definition vctFixedSizeMatrixBase.h:60
Implementation of a fixed-size matrix using template metaprogramming.
Definition vctFixedSizeMatrix.h:54
Definition vctForwardDeclarations.h:110
A template for a fixed length vector with fixed spacing in memory.
Definition vctFixedSizeVectorBase.h:77
Implementation of a fixed-size vector using template metaprogramming.
Definition vctFixedSizeVector.h:54
Definition vctForwardDeclarations.h:89
Template base class for a 4x4 frame.
Definition vctFrame4x4Base.h:48
Template base class for a 4x4 frame.
Definition vctFrame4x4ConstBase.h:51
Template base class for a 4x4 frame.
Definition vctFrame4x4.h:51
Template base class for a frame.
Definition vctFrameBase.h:49
Define a rotation matrix for a space of dimension 2.
Definition vctMatrixRotation2Base.h:56
Define a rotation matrix for a space of dimension 3.
Definition vctMatrixRotation3Base.h:71
Define a rotation matrix for a space of dimension 3.
Definition vctMatrixRotation3ConstBase.h:56
Define a rotation matrix for a space of dimension 3.
Definition vctMatrixRotation3ConstRef.h:52
Define a rotation matrix for a space of dimension 3.
Definition vctMatrixRotation3.h:51
Define a rotation matrix for a space of dimension 3.
Definition vctMatrixRotation3Ref.h:52
Definition vctPlot2DBase.h:44
Define a quaternion container.
Definition vctQuaternionBase.h:50
Define a rotation quaternion for a space of dimension 3.
Definition vctQuaternionRotation3Base.h:64
Definition vctDynamicMatrix.h:419
Definition vctDynamicNArray.h:272
Definition vctDynamicVector.h:395
Define a rotation based on the rodriguez representation for a space of dimension 3.
Definition vctRodriguezRotation3Base.h:68
Define a rotation based on the rodriguez representation for a space of dimension 3....
Definition vctRodriguezRotation3.h:47
Definition vctVarStrideNArrayIterator.h:46
Definition vctVarStrideNArrayIterator.h:304
Portability across compilers and operating systems tools.
Definition vctEulerRotation3.h:84
OrderType
Definition vctForwardDeclarations.h:218
@ ZXZ
Definition vctForwardDeclarations.h:218
@ ZYX
Definition vctForwardDeclarations.h:218
@ YZX
Definition vctForwardDeclarations.h:218
@ ZYZ
Definition vctForwardDeclarations.h:218
size_t size_type
Definition vctContainerTraits.h:35
ptrdiff_t stride_type
Definition vctContainerTraits.h:37
Basic traits for the cisstVector containers.
const bool VCT_FORTRAN_ORDER
Definition vctForwardDeclarations.h:50
const bool VCT_COL_MAJOR
Definition vctForwardDeclarations.h:44
const bool VCT_ROW_MAJOR
Definition vctForwardDeclarations.h:41
const bool VCT_DO_NOT_NORMALIZE
Definition vctForwardDeclarations.h:67
const bool VCT_DEFAULT_STORAGE
Definition vctForwardDeclarations.h:47
const bool VCT_NORMALIZE
Definition vctForwardDeclarations.h:59