ML Reference
MeVis/Foundation/Sources/MLLinearAlgebra/mlVector9.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //=====================================================================================
00004 
00009 //=====================================================================================
00010 
00011 #ifndef __mlVector9_H
00012 #define __mlVector9_H
00013 
00014 // Include system independency file and project settings.
00015 #ifndef __mlLinearAlgebraSystem_H
00016 #include "mlLinearAlgebraSystem.h"
00017 #endif
00018 #ifndef __mlLinearAlgebraDefs_H
00019 #include "mlLinearAlgebraDefs.h"
00020 #endif
00021 #ifndef __mlFloatingPointVector_H
00022 #include "mlFloatingPointVector.h"
00023 #endif
00024 
00025 // All declarations of this header will be in the ML_LA_NAMESPACE namespace.
00026 ML_LA_START_NAMESPACE
00027 
00028 //--------------------------------------------------------------------
00030 //--------------------------------------------------------------------
00032 template <class DT>
00033 class Tvec9 : public FloatingPointVector<DT,9> {
00034 public:
00035   
00037   typedef FloatingPointVector<DT,9> Superclass;
00038 
00040   typedef DT ComponentType;
00041   
00042   //--------------------------------------------------------------------
00044 
00045   //--------------------------------------------------------------------
00048   inline explicit Tvec9(const DT value=0) : Superclass(value)
00049   {
00050     ML_TRACE_IN_TIME_CRITICAL("Tvec9::Tvec9(const DT value=0)");
00051   }
00052   
00054   inline Tvec9(const Tvec9<DT>& v) : Superclass(v)
00055   {
00056     ML_TRACE_IN_TIME_CRITICAL("Tvec9::Tvec9(const Tvec9<DT>& v)");
00057   }
00058   
00062   inline Tvec9(const Superclass &v) : Superclass(v)
00063   {
00064     ML_TRACE_IN_TIME_CRITICAL("Tvec9::Tvec9(const Superclass &v)");
00065   }
00066   
00069   inline Tvec9(const DT x, const DT y, const DT z, const DT c, 
00070                const DT t, const DT u, const DT v, const DT w, 
00071                const DT a)
00072   {
00073     ML_TRACE_IN_TIME_CRITICAL("Tvec9::Tvec9(const DT x, ... , const DT a)");
00074     
00075     assign(x,y,z,c,t,u,v,w,a);
00076   }
00078   
00079   //--------------------------------------------------------------------
00081 
00082   //--------------------------------------------------------------------
00084   inline void assign(const DT x, const DT y, const DT z, const DT c, 
00085                      const DT t, const DT u, const DT v, const DT w, 
00086                      const DT a)
00087   {
00088     ML_TRACE_IN_TIME_CRITICAL("Tvec9::assign(const DT x, ... , const DT a)");
00089     
00090     Superclass::_buffer[0] = x;  
00091     Superclass::_buffer[1] = y;  
00092     Superclass::_buffer[2] = z;  
00093     Superclass::_buffer[3] = c;
00094     Superclass::_buffer[4] = t;  
00095     Superclass::_buffer[5] = u;  
00096     Superclass::_buffer[6] = v;  
00097     Superclass::_buffer[7] = w;
00098     Superclass::_buffer[8] = a;
00099   }
00101 };
00102 
00103 
00104 //-----------------------------------------------------------------------------------
00106 
00107 //-----------------------------------------------------------------------------------
00109 typedef Tvec9<MLfloat>   Vector9f;
00111 typedef Tvec9<MLdouble>  Vector9d;
00113 typedef Tvec9<MLldouble> Vector9ld;
00115 typedef Tvec9<MLdouble>  Vector9;
00117 
00118 
00119 #ifdef ML_DEPRECATED
00120 
00121 
00122 
00123 
00124 ML_DEPRECATED typedef Tvec9<MLfloat>   vecf9;
00127 ML_DEPRECATED typedef Tvec9<MLdouble>  vecd9;
00130 ML_DEPRECATED typedef Tvec9<MLldouble> vecld9;
00133 ML_DEPRECATED typedef Tvec9<MLdouble> vec9;
00135 
00136 #endif // ML_DEPRECATED
00137 
00138 
00139 ML_LA_END_NAMESPACE
00140 
00141 #endif //of __mlVector9_H
00142 
00143 
00144