ML Reference
MeVis/Foundation/Sources/MLLinearAlgebra/mlVector7.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //=====================================================================================
00004 
00009 //=====================================================================================
00010 
00011 #ifndef __mlVector7_H
00012 #define __mlVector7_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 Tvec7 : public FloatingPointVector<DT,7> {
00034 public:
00035   
00037   typedef FloatingPointVector<DT,7> Superclass;
00038 
00040   typedef DT ComponentType;
00041   
00042   //--------------------------------------------------------------------
00044 
00045   //--------------------------------------------------------------------
00048   inline explicit Tvec7(const DT value=0) : Superclass(value)
00049   {
00050     ML_TRACE_IN_TIME_CRITICAL("Tvec7::Tvec7(const DT value=0)");
00051   }
00052   
00054   inline Tvec7(const Tvec7<DT>& v) : Superclass(v)
00055   {
00056     ML_TRACE_IN_TIME_CRITICAL("Tvec7::Tvec7(const Tvec7<DT>& v)");
00057   }
00058   
00062   inline Tvec7(const Superclass &v) : Superclass(v)
00063   {
00064     ML_TRACE_IN_TIME_CRITICAL("Tvec7::Tvec7(const Superclass &v)");
00065   }
00066   
00069   inline Tvec7(const DT x, const DT y, const DT z, const DT c, 
00070                const DT t, const DT u, const DT v)
00071   {
00072     ML_TRACE_IN_TIME_CRITICAL("Tvec7::Tvec7(const DT x, ... , const DT v)");
00073     
00074     assign(x,y,z,c,t,u,v);
00075   }
00077   
00078   //--------------------------------------------------------------------
00080 
00081   //--------------------------------------------------------------------
00083   inline void assign(const DT x, const DT y, const DT z, const DT c, 
00084                      const DT t, const DT u, const DT v)
00085   {
00086     ML_TRACE_IN_TIME_CRITICAL("Tvec7::assign(const DT x, ... , const DT v)");
00087     
00088     Superclass::_buffer[0] = x;
00089     Superclass::_buffer[1] = y;
00090     Superclass::_buffer[2] = z;
00091     Superclass::_buffer[3] = c;
00092     Superclass::_buffer[4] = t;
00093     Superclass::_buffer[5] = u;
00094     Superclass::_buffer[6] = v;
00095   }
00097 };
00098 
00099 
00100 //-----------------------------------------------------------------------------------
00102 
00103 //-----------------------------------------------------------------------------------
00105 typedef Tvec7<MLfloat>   Vector7f;
00107 typedef Tvec7<MLdouble>  Vector7d;
00109 typedef Tvec7<MLldouble> Vector7ld;
00111 typedef Tvec7<MLdouble>  Vector7;
00113 
00114 
00115 #ifdef ML_DEPRECATED
00116 
00117 
00118 
00119 
00120 ML_DEPRECATED typedef Tvec7<MLfloat>   vecf7;
00123 ML_DEPRECATED typedef Tvec7<MLdouble>  vecd7;
00126 ML_DEPRECATED typedef Tvec7<MLldouble> vecld7;
00129 ML_DEPRECATED typedef Tvec7<MLdouble> vec7;
00131 
00132 #endif // ML_DEPRECATED
00133 
00134 
00135 ML_LA_END_NAMESPACE
00136 
00137 #endif //of __mlVector7_H
00138 
00139 
00140