Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef RTC_VEC6_H
00020 #define RTC_VEC6_H
00021
00022
00023 #include "rtc/rtcMath.h"
00024 #include "rtc/rtcVec.h"
00025
00026
00027 namespace rtc {
00028
00029
00030 template <class T, int M> class Vec;
00031 template <class T> class Vec6;
00032
00036 template <class T>
00037 class Vec6: public Vec<T,6> {
00038 public:
00039
00040 using Vec<T,6>::x;
00041 using Vec<T,6>::set;
00042
00043
00044 Vec6();
00045 Vec6(const T* d);
00046 Vec6(const T a);
00047 Vec6(const T x0, const T x1, const T x2,
00048 const T x3, const T x4, const T x5);
00049 Vec6(const Vec<T,6>& v);
00050
00051
00052 template <class U> Vec6(const Vec<U,6>& v);
00053
00054
00055 void set(const T x0, const T x1, const T x2,
00056 const T x3, const T x4, const T x5);
00057 };
00058
00059
00060 typedef Vec6<bool> Vec6b;
00061 typedef Vec6<signed char> Vec6c;
00062 typedef Vec6<unsigned char> Vec6uc;
00063 typedef Vec6<signed short int> Vec6s;
00064 typedef Vec6<unsigned short int> Vec6us;
00065 typedef Vec6<int> Vec6i;
00066 typedef Vec6<unsigned int> Vec6ui;
00067 typedef Vec6<float> Vec6f;
00068 typedef Vec6<double> Vec6d;
00069
00070
00071
00072
00073
00074
00075
00078 template <class T>
00079 inline Vec6<T>::Vec6() {}
00080
00083 template <class T>
00084 inline Vec6<T>::Vec6(const T* d) : Vec<T,6>(d) {}
00085
00088 template <class T>
00089 inline Vec6<T>::Vec6(const T a) : Vec<T,6>(a) {}
00090
00093 template <class T>
00094 inline Vec6<T>::Vec6(const T x0, const T x1, const T x2,
00095 const T x3, const T x4, const T x5) {
00096 set(x0,x1,x2,x3,x4,x5);
00097 }
00098
00101 template <class T>
00102 inline Vec6<T>::Vec6(const Vec<T,6>& v) : Vec<T,6>(v) {}
00103
00104
00105
00108 template <class T> template <class U>
00109 inline Vec6<T>::Vec6(const Vec<U,6>& v) : Vec<T,6>(v) {}
00110
00111
00112
00115 template <class T>
00116 inline void Vec6<T>::set(const T x0, const T x1, const T x2,
00117 const T x3, const T x4, const T x5) {
00118 x[0] = x0; x[1] = x1; x[2] = x2;
00119 x[3] = x3; x[4] = x4; x[5] = x5;
00120 }
00121
00122
00123 }
00124
00125 #endif // RTC_VEC6_H defined
00126