// // vector2d.h // // A vector in 2d space // // Copyright (C) J. Belson 2000.12.16 // #ifndef _VECTOR2D_H_ #define _VECTOR2D_H_ #include /** * Represents a vector in 2d space */ class vector2d { private: public: float i, j; vector2d(float i, float j); vector2d() {}; float dot_product(vector2d &v); // Not defined in two dimensions?? // vector3d vector_product(vector2d &v); float magnitude(void); void normalise(void); void rotate(float radians); void print(void) { std::cout << "(" << i << ", " << j << ")" << std::endl; }; vector2d operator+(vector2d v); vector2d operator*(float f); friend std::ostream& operator<<(std::ostream& str, vector2d& v); void dump(void); }; #endif // _VECTOR3D_H_