MeVisLab Toolbox Reference
mlVector16.h
Go to the documentation of this file.
1 /*************************************************************************************
2 **
3 ** Copyright 2007, MeVis Medical Solutions AG
4 **
5 ** The user may use this file in accordance with the license agreement provided with
6 ** the Software or, alternatively, in accordance with the terms contained in a
7 ** written agreement between the user and MeVis Medical Solutions AG.
8 **
9 ** For further information use the contact form at https://www.mevislab.de/contact
10 **
11 **************************************************************************************/
12 
13 #ifndef ML_VECTOR16_H
14 #define ML_VECTOR16_H
15 
17 
18 // Include system independent file and project settings.
19 #include "mlLinearAlgebraSystem.h"
20 #include "mlLinearAlgebraDefs.h"
21 #include "mlFloatingPointVector.h"
22 
23 // All declarations of this header will be in the ML_LA_NAMESPACE namespace.
24 ML_LA_START_NAMESPACE
25 
26 //--------------------------------------------------------------------
28 //--------------------------------------------------------------------
30 template <class DT>
31 class Tvec16 : public FloatingPointVector<DT,16>
32 {
33 public:
34 
37 
39  typedef DT ComponentType;
40 
41  //--------------------------------------------------------------------
44  //--------------------------------------------------------------------
47  inline explicit Tvec16(const DT value=0) : Superclass(value)
48  {
49  }
50 
54  inline Tvec16(const Superclass &v) : Superclass(v)
55  {
56  }
57 
59  inline Tvec16(const DT x00, const DT x01, const DT x02, const DT x03,
60  const DT x04, const DT x05, const DT x06, const DT x07,
61  const DT x08, const DT x09, const DT x10, const DT x11,
62  const DT x12, const DT x13, const DT x14, const DT x15)
63  {
64  assign(x00, x01, x02, x03, x04, x05, x06, x07,
65  x08, x09, x10, x11, x12, x13, x14, x15);
66  }
68 
69  //--------------------------------------------------------------------
72  //--------------------------------------------------------------------
74  inline void assign(const DT x00, const DT x01, const DT x02, const DT x03,
75  const DT x04, const DT x05, const DT x06, const DT x07,
76  const DT x08, const DT x09, const DT x10, const DT x11,
77  const DT x12, const DT x13, const DT x14, const DT x15)
78  {
79  Superclass::_buffer[ 0]=x00;
80  Superclass::_buffer[ 1]=x01;
81  Superclass::_buffer[ 2]=x02;
82  Superclass::_buffer[ 3]=x03;
83  Superclass::_buffer[ 4]=x04;
84  Superclass::_buffer[ 5]=x05;
85  Superclass::_buffer[ 6]=x06;
86  Superclass::_buffer[ 7]=x07;
87  Superclass::_buffer[ 8]=x08;
88  Superclass::_buffer[ 9]=x09;
89  Superclass::_buffer[10]=x10;
90  Superclass::_buffer[11]=x11;
91  Superclass::_buffer[12]=x12;
92  Superclass::_buffer[13]=x13;
93  Superclass::_buffer[14]=x14;
94  Superclass::_buffer[15]=x15;
95  }
96 };
97 
98 
99 //-----------------------------------------------------------------------------------
102 //-----------------------------------------------------------------------------------
112 
113 
114 #if ML_DEPRECATED_SINCE(3,5,0)
119 ML_DEPRECATED typedef Tvec16<MLfloat> vecf16;
122 ML_DEPRECATED typedef Tvec16<MLdouble> vecd16;
125 ML_DEPRECATED typedef Tvec16<MLldouble> vecld16;
128 ML_DEPRECATED typedef Tvec16<MLdouble> vec16;
130 
131 #endif
132 
133 
134 ML_LA_END_NAMESPACE
135 
136 #endif //of __mlVector16_H
137 
138 
#define ML_DEPRECATED
Definition: CSOGroup.h:371
Template class for vector arithmetic with floating point data types.
A 16 dimensional vector class for floating point types.
Definition: mlVector16.h:32
void assign(const DT x00, const DT x01, const DT x02, const DT x03, const DT x04, const DT x05, const DT x06, const DT x07, const DT x08, const DT x09, const DT x10, const DT x11, const DT x12, const DT x13, const DT x14, const DT x15)
Sets all components to the corresponding passed values.
Definition: mlVector16.h:74
Tvec16(const Superclass &v)
Copy constructor from FloatingPointVector.
Definition: mlVector16.h:54
Tvec16(const DT value=0)
Default and value constructor.
Definition: mlVector16.h:47
FloatingPointVector< DT, 16 > Superclass
A typedef as a shorthand for the base class.
Definition: mlVector16.h:36
DT ComponentType
A typedef to "export" the type of components.
Definition: mlVector16.h:39
Tvec16(const DT x00, const DT x01, const DT x02, const DT x03, const DT x04, const DT x05, const DT x06, const DT x07, const DT x08, const DT x09, const DT x10, const DT x11, const DT x12, const DT x13, const DT x14, const DT x15)
Builds the vector from the scalars x00, ... x15 to the components 0 to 15, respectively.
Definition: mlVector16.h:59
Tvec16< MLdouble > Vector16
A vector with 16 components of type double.
Definition: mlVector16.h:110
Tvec16< MLdouble > Vector16d
A vector with 16 components of type double.
Definition: mlVector16.h:106
Tvec16< MLldouble > Vector16ld
A vector with 16 components of type long double.
Definition: mlVector16.h:108
Tvec16< MLfloat > Vector16f
A vector with 16 components of type float.
Definition: mlVector16.h:104