#ifndef MATH_VECTOR3D_H
#define MATH_VECTOR3D_H

class Cvector
{
public:
	float x,y,z;

	Cvector();
	Cvector(float x, float y, float z);
	~Cvector();

	Cvector operator+ (const Cvector &v);	// vector addition operator
	Cvector operator- (const Cvector &v);	// vector subtraction operator
	Cvector operator* (const float scale);	// vector scalar operator
	float operator* (const Cvector &v);		// dot product operator
	Cvector operator^ (const Cvector &v);	// cross product operator

	float length();			// returns the length of a vector
	void normalize();		// normalize a vector
	Cvector normalized();	// returns the normalized version of a vector
	Cvector negate();		// returns the negated version of a vector
};

#endif
