#ifndef __VECTOR_H__ #define __VECTOR_H__ #include <math.h> #include <string.h> class vector4; class mat4x4; class vector4{ public: float x, y, z, w; vector4(); vector4(float x0, float y0, float z0, float w0); void vec(float x0, float y0, float z0, float w0); void null(void); float& operator[](int i); float length(void); void negate(void); void normalize(void); void cross(vector4& v1, vector4& v2); void operator+=(vector4& v); void operator-=(vector4& v); void operator*=(vector4& v); vector4 operator+(vector4& v); vector4 operator-(vector4& v); vector4 operator*(vector4& v); vector4 operator*(mat4x4& m); }; class mat4x4 { public: float m[4][4]; void null(void); void load_identity(void); void set_rotation(vector4& dir, float rad); vector4 operator*(vector4& v); mat4x4 operator*(mat4x4& m1); }; #endif