/*====================ÉCOLE POLYTECHNIQUE DE MONTRÉAL============================

	NOM DU FICHIER :vector2f.h

	DESCRIPTION :	Fichier contenant la déclaration de la classe vector2f, un vecteur 2D

	AUTEUR : Martin Bisson, Anne-Marie Buki, Mylène Denis & Jean-François Pérusse

	DATE DE CRÉATION : 2004-3-17

	MISES À JOUR :

===============================================================================*/

#ifndef VECTOR2F_H
#define VECTOR2F_H

class vector2f
{
    float PosX, PosY;
public:
    vector2f(float PosX = 0, float PosY = 0);
    vector2f operator+(const vector2f& Vecteur) const;
    vector2f operator-(const vector2f& Vecteur) const;
    vector2f operator/(const float UnFloat) const;
    vector2f operator*(const float UnFloat) const;
    float SideProduct(const vector2f Vecteur) const;
    vector2f operator-() const;
    bool operator==(const vector2f& Vecteur) const;
    float GetPosX() const { return PosX; }
    float GetPosY() const { return PosY; }
    void SetPosX(float PosX) { this->PosX = PosX; }
    void SetPosY(float PosY) { this->PosY = PosY; }
    float GetNorm() const;
    vector2f GetNormalVector() const;
};

vector2f operator*(const float UnFloat, const vector2f Vecteur);

#endif
