00001 00002 00007 #ifndef VECTOR_H 00008 #define VECTOR_H 00009 00010 class Vector { 00011 public: 00012 Vector (); // zero vector 00013 Vector (GLfloat val); // x=y=z=val 00014 Vector (GLfloat x, GLfloat y, GLfloat z); 00015 Vector (Vector v); 00016 ~Vector (); 00017 00018 GLfloat x; // public variables to make life easier 00019 GLfloat y; 00020 GLfloat z; 00021 00022 void operator= (Vector v); 00023 void operator= (GLfloat val); 00024 Vector operator+ (Vector v); 00025 Vector operator+ (GLfloat val); 00026 Vector operator- (Vector v); 00027 Vector operator- (GLfloat val); 00028 Vector operator* (Vector v); // vector product 00029 Vector operator* (GLfloat val); // scalar product 00030 }; 00031 00032 #endif