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