#ifndef VECTOR3D_H #define VECTOR3D_H #include class Vector3D { public: Vector3D(); Vector3D(float ix, float iy, float iz); Vector3D(const Vector3D& orig); virtual ~Vector3D(); float getX() const; float getY() const; float getZ() const; void setX(float ix); void setY(float iy); void setZ(float iz); void set(float ix, float iy, float iz); void set(const Vector3D& v); void setInverse(const Vector3D& v); void setMul(const Vector3D& v, float f); void setAngles(float lengthAngle, float widthAngle); void add(const Vector3D& v); void sub(const Vector3D& v); void mul(float f); void addMul(const Vector3D& v, float f); void cross(float ix, float iy, float iz); void cross(const Vector3D& v); void normalize(); float length() const; float dot(const Vector3D& v) const; float dotInverse(const Vector3D& v) const; private: float x; float y; float z; }; std::ostream& operator<<(std::ostream& os, const Vector3D& v); #endif