All Classes Namespaces Functions Typedefs Enumerations Pages
fmatvec.h
1 /* Copyright (C) 2003-2005 Martin Förg
2 
3  * This library is free software; you can redistribute it and/or
4  * modify it under the terms of the GNU Lesser General Public
5  * License as published by the Free Software Foundation; either
6  * version 2.1 of the License, or (at your option) any later version.
7  *
8  * This library is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  * Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public
14  * License along with this library; if not, write to the Free Software
15  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16  *
17  * Contact:
18  * martin.o.foerg@googlemail.com
19  *
20  */
21 
22 #ifndef fmatrixvector_h
23 #define fmatrixvector_h
24 
25 #include "linear_algebra.h"
26 #include "linear_algebra_double.h"
27 
28 namespace fmatvec {
29 
36 
43 
50 
57 
64 
71 
78 
80 
81  typedef Vector<Ref, int> VecInt;
82  typedef Vector<Var, int> VecVI;
83 
84  /* Typedefs for Fixed types */
85 
86  //Column Vectors
87  typedef Vector<Fixed<1>, double> Vec1;
88  typedef Vector<Fixed<2>, double> Vec2;
89  typedef Vector<Fixed<2>, int> Vec2I;
90  typedef Vector<Fixed<3>, double> Vec3;
91  typedef Vector<Fixed<4>, double> Vec4;
92 
93  typedef Vector<Fixed<11>, double> Vec11;
94  typedef Vector<Fixed<16>, double> Vec16;
95 
96  //Row Vectors
97  typedef RowVector<Fixed<1>, double> RowVec1;
98  typedef RowVector<Fixed<2>, double> RowVec2;
99  typedef RowVector<Fixed<3>, double> RowVec3;
100  typedef RowVector<Fixed<4>, double> RowVec4;
101 
102  typedef RowVector<Fixed<11>, double> RowVec11;
103  typedef RowVector<Fixed<16>, double> RowVec16;
104 
105  //General Matrices
106  typedef Matrix<General, Fixed<3>, Fixed<3>, double> Mat3x3;
107  typedef Matrix<General, Fixed<3>, Fixed<2>, double> Mat3x2;
108  typedef Matrix<General, Fixed<3>, Fixed<11>, double> Mat3x11;
109  typedef Matrix<General, Fixed<3>, Fixed<16>, double> Mat3x16;
110 
111  typedef Matrix<General, Fixed<4>, Fixed<16>, double> Mat4x16;
112 
113  typedef Matrix<General, Fixed<16>, Fixed<3>, double> Mat16x3;
114  typedef Matrix<General, Fixed<16>, Fixed<4>, double> Mat16x4;
115 
116  //Square Matrices
117  typedef SquareMatrix<Fixed<1>, double> SqrMat1;
118  typedef SquareMatrix<Fixed<2>, double> SqrMat2;
119  typedef SquareMatrix<Fixed<3>, double> SqrMat3;
120  typedef SquareMatrix<Fixed<11>, double> SqrMat11;
121  typedef SquareMatrix<Fixed<16>, double> SqrMat16;
122 
123  //Symmetric Matrices
124  typedef Matrix<Symmetric, Fixed<3>, Fixed<3>, double> SymMat3;
125  typedef Matrix<Symmetric, Fixed<4>, Fixed<4>, double> SymMat4;
126 
128 
130 
132 
134 
135  typedef Vector<Var, double> VecV;
136 
139 
140  //Rotation Matrices
141  typedef Matrix<Rotation, Fixed<3>, Fixed<3>, double> RotMat3;
142 
143  /*Typedefs for mixed size */
144 
145  typedef Matrix<General, Fixed<2>, Var, double> Mat2xV;
147  typedef Matrix<General, Fixed<3>, Var, double> Mat3xV;
148  typedef Matrix<General, Fixed<3>, Var, int> Mat3xVI;
149 
150  typedef Matrix<General, Var, Fixed<2>, double> MatVx2;
152  typedef Matrix<General, Var, Fixed<3>, double> MatVx3;
154 
155 
156 
157 }
158 
159 #endif
160 
Definition: types.h:68
Matrix< Symmetric, Ref, Ref, double > SymMat
Symmetric matrix.
Definition: fmatvec.h:70
Vector< Ref, double > Vec
Vector.
Definition: fmatvec.h:42
This is the basic matrix class for arbitrary matrices.
Definition: matrix.h:56
Matrix< Diagonal, Ref, Ref, double > DiagMat
Diagonal matrix.
Definition: fmatvec.h:63
Definition: types.h:65
Definition: matrix.h:218
Definition: matrix.h:212
Definition: matrix.h:215
Matrix< General, Ref, Ref, double > Mat
General matrix.
Definition: fmatvec.h:35
SquareMatrix< Ref, double > SqrMat
Square matrix.
Definition: fmatvec.h:56
Matrix< GeneralBand, Ref, Ref, double > BandMat
Band matrix.
Definition: fmatvec.h:77
RowVector< Ref, double > RowVec
Row vector.
Definition: fmatvec.h:49

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML