GEL  2
GEL is a library for Geometry and Linear Algebra
/Users/jab/Documents/Teaching/02585/GEL2_and_demos/GEL/src/CGLA/ArithVec3Float.h
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 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations