ML Reference
MeVis/Foundation/Sources/MLLinearAlgebra/mlVector10.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //=====================================================================================
00004 
00009 //=====================================================================================
00010 
00011 #ifndef __mlVector10_H
00012 #define __mlVector10_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 Tvec10 : public FloatingPointVector<DT,10> {
00034 public:
00035   
00037   typedef FloatingPointVector<DT,10> Superclass;
00038 
00040   typedef DT ComponentType;
00041   
00042   //--------------------------------------------------------------------
00044 
00045   //--------------------------------------------------------------------
00048   inline explicit Tvec10(const DT value=0) : Superclass(value)
00049   {
00050     ML_TRACE_IN_TIME_CRITICAL("Tvec10::Tvec10(const DT value=0)");
00051   }
00052   
00054   inline Tvec10(const Tvec10<DT>& v) : Superclass(v)
00055   {
00056     ML_TRACE_IN_TIME_CRITICAL("Tvec10::Tvec10(const Tvec10<DT>& v)");
00057   }
00058   
00062   inline Tvec10(const Superclass &v) : Superclass(v)
00063   {
00064     ML_TRACE_IN_TIME_CRITICAL("Tvec10::Tvec10(const Superclass &v)");
00065   }
00066   
00069   inline Tvec10(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, const DT b)
00072   {
00073     ML_TRACE_IN_TIME_CRITICAL("Tvec10::Tvec10(const DT x, ... , const DT b)");
00074     
00075     assign(x,y,z,c,t,u,v,w,a,b);
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, const DT b)
00087   {
00088     ML_TRACE_IN_TIME_CRITICAL("Tvec10::assign(const DT x, ... , const DT b)");
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     Superclass::_buffer[9] = b;
00100   }
00102 };
00103 
00104 
00105 //-----------------------------------------------------------------------------------
00107 
00108 //-----------------------------------------------------------------------------------
00110 typedef Tvec10<MLfloat>   Vector10f;
00112 typedef Tvec10<MLdouble>  Vector10d;
00114 typedef Tvec10<MLldouble> Vector10ld;
00116 typedef Tvec10<MLdouble>  Vector10;
00118 
00119 
00120 #ifdef ML_DEPRECATED
00121 
00122 
00123 
00124 
00125 ML_DEPRECATED typedef Tvec10<MLfloat>   vecf10;
00128 ML_DEPRECATED typedef Tvec10<MLdouble>  vecd10;
00131 ML_DEPRECATED typedef Tvec10<MLldouble> vecld10;
00134 ML_DEPRECATED typedef Tvec10<MLdouble> vec10;
00136 
00137 #endif // ML_DEPRECATED
00138 
00139 
00140 ML_LA_END_NAMESPACE
00141 
00142 #endif //of __mlVector10_H
00143 
00144 
00145