GEL
2
GEL is a library for Geometry and Linear Algebra
|
00001 #ifndef __CGLA__ARITHVEC3FLOAT_H__ 00002 #define __CGLA__ARITHVEC3FLOAT_H__ 00003 00004 #include "ArithVecFloat.h" 00005 00006 namespace CGLA { 00007 00008 template<class T, class V> 00009 class ArithVec3Float: public ArithVecFloat<T,V,3> 00010 { 00011 public: 00012 00014 ArithVec3Float(T a, T b, T c): ArithVecFloat<T,V,3>(a,b,c) {} 00015 00017 ArithVec3Float() {} 00018 00023 void get_spherical( T&, T&, T& ) const; 00024 00029 void set_spherical( T, T, T); 00030 00031 }; 00032 00034 template<class T, class V> 00035 inline V cross( const ArithVec3Float<T,V>& x, 00036 const ArithVec3Float<T,V>& y ) 00037 { 00038 return V( x[1] * y[2] - x[2] * y[1], 00039 x[2] * y[0] - x[0] * y[2], 00040 x[0] * y[1] - x[1] * y[0] ); 00041 } 00042 00046 template<class T, class V> 00047 void orthogonal(const ArithVec3Float<T,V>&, 00048 ArithVec3Float<T,V>&, 00049 ArithVec3Float<T,V>&); 00050 00051 } 00052 00053 #endif 00054