#ifndef ROBOT_VECTOR_H
#define ROBOT_VECTOR_H

#pragma once

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

public:
	Cvector();
	Cvector(double x, double y, double z);
	~Cvector();

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

	double 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
