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_VEC5_H
00020 #define RTC_VEC5_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 Vec5;
00032
00036 template <class T>
00037 class Vec5: public Vec<T,5> {
00038 public:
00039
00040 using Vec<T,5>::x;
00041 using Vec<T,5>::set;
00042
00043
00044 Vec5();
00045 Vec5(const T* d);
00046 Vec5(const T a);
00047 Vec5(const T x0, const T x1, const T x2, const T x3, const T x4);
00048 Vec5(const Vec<T,5>& v);
00049
00050
00051 template <class U> Vec5(const Vec<U,5>& v);
00052
00053
00054 void set(const T x0, const T x1, const T x2, const T x3, const T x4);
00055 };
00056
00057
00058 typedef Vec5<bool> Vec5b;
00059 typedef Vec5<signed char> Vec5c;
00060 typedef Vec5<unsigned char> Vec5uc;
00061 typedef Vec5<signed short int> Vec5s;
00062 typedef Vec5<unsigned short int> Vec5us;
00063 typedef Vec5<int> Vec5i;
00064 typedef Vec5<unsigned int> Vec5ui;
00065 typedef Vec5<float> Vec5f;
00066 typedef Vec5<double> Vec5d;
00067
00068
00069
00070
00071
00072
00073
00076 template <class T>
00077 inline Vec5<T>::Vec5() {}
00078
00081 template <class T>
00082 inline Vec5<T>::Vec5(const T* d) : Vec<T,5>(d) {}
00083
00086 template <class T>
00087 inline Vec5<T>::Vec5(const T a) : Vec<T,5>(a) {}
00088
00091 template <class T>
00092 inline Vec5<T>::Vec5(const T x0, const T x1, const T x2, const T x3, const T x4) {
00093 set(x0,x1,x2,x3,x4);
00094 }
00095
00098 template <class T>
00099 inline Vec5<T>::Vec5(const Vec<T,5>& v) : Vec<T,5>(v) {}
00100
00101
00102
00105 template <class T> template <class U>
00106 inline Vec5<T>::Vec5(const Vec<U,5>& v) : Vec<T,5>(v) {}
00107
00108
00109
00112 template <class T>
00113 inline void Vec5<T>::set(const T x0, const T x1, const T x2, const T x3, const T x4) {
00114 x[0] = x0; x[1] = x1; x[2] = x2; x[3] = x3; x[4] = x4;
00115 }
00116
00117
00118 }
00119
00120 #endif // RTC_VEC5_H defined
00121
00122