#ifndef VECTOR3D_H
#define VECTOR3D_H


class Vector3D {
public:
	double x, y, z;
	Vector3D();
	Vector3D(double x, double y, double z);
	Vector3D& operator= (Vector3D v);
	Vector3D operator+ (Vector3D v);
	Vector3D operator- (Vector3D v);
	Vector3D operator* (double value);
	Vector3D operator/ (double value);
	Vector3D& operator+= (Vector3D v);
	Vector3D& operator-= (Vector3D v);
	Vector3D& operator*= (double value);
	Vector3D& operator/= (double value);
	Vector3D operator- ();
	double length();
	double dotProduct(Vector3D v);
	Vector3D crossProduct(Vector3D v);
	void unitize();
	Vector3D unit();
	void rotate(Vector3D eje, double angulo);
};

#endif
