ML Reference
|
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