root/week1oplossing/vector3.cpp

User picture

Author: machiel.sleeuwaert

Revision: 13 («Previous)

(Oct 15 14:12 2008 UTC) Over 3 years ago


  

 
Show/hide line numbers
#include "vector3.h"
using namespace Machiel;

Vector3::Vector3():m_x(0),m_y(0),m_z(0)
{}

Vector3::Vector3(float x, float y, float z):m_x(x),m_y(y),m_z(z)
{}

Vector3::~Vector3()
{}

tstring Vector3::ToString(){

	tstringstream temp;
	temp << m_x << "," << m_y << "," << m_z; 
	return temp.str();
}

Vector3::Vector3(const Vector3& p)
{
	m_x = p.m_x; 
	m_y = p.m_y;
	m_z = p.m_z;
}

Vector3& Vector3::operator=(const Vector3& p)
{
	m_x = p.m_x; 
	m_y = p.m_y;
	m_z = p.m_z;

	return *this;
}

Vector3 Vector3::operator+(const Vector3& p)
{
	return Vector3(m_x + p.m_x,m_y + p.m_y,m_z + p.m_z);
}

Vector3 Vector3::operator-(const Vector3& p)
{
	return Vector3(m_x - p.m_x,m_y - p.m_y,m_z - p.m_z);
}

Vector3 Vector3::operator*(const Vector3& p)
{
	return Vector3(m_x * p.m_x,m_y * p.m_y,m_z * p.m_z);
}

Vector3& Vector3::operator*=(const Vector3& p)
{

	m_x *= p.m_x; 
	m_y *= p.m_y;
	m_z *= p.m_z;

	return *this;
}

Vector3& Vector3::operator-=(const Vector3& p)
{

	m_x -= p.m_x; 
	m_y -= p.m_y;
	m_z -= p.m_z;

	return *this;
}
Vector3& Vector3::operator+=(const Vector3& p)
{

	m_x += p.m_x; 
	m_y += p.m_y;
	m_z += p.m_z;

	return *this;
}

bool Vector3::operator!=(const Vector3& p)
{
	return (m_x != p.m_x || m_y != p.m_y || m_z != p.m_z);
}

bool Vector3::operator==(const Vector3& p)
{
	return (m_x == p.m_x && m_y == p.m_y && m_z == p.m_z);
}

Vector3 Machiel::operator*(int n, Vector3& p)
{
	return Vector3(n * p.m_x,n * p.m_y,n * p.m_z);
}

tstringstream& Machiel::operator<<(tstringstream& stream, Vector3& vector3)
{
	stream << vector3.m_x << "," << vector3.m_y << "," << vector3.m_z; 
	return stream;
}
tstring Machiel::operator+(tstring string, Vector3& vector3)
{
	tstringstream temp;
	temp << string;
	temp << vector3;
	return temp.str();
}