diff options
Diffstat (limited to 'src/math/vector2f.h')
| -rw-r--r-- | src/math/vector2f.h | 60 | 
1 files changed, 34 insertions, 26 deletions
| diff --git a/src/math/vector2f.h b/src/math/vector2f.h index ba60aa1..1a5f4de 100644 --- a/src/math/vector2f.h +++ b/src/math/vector2f.h @@ -19,96 +19,104 @@ class Vector2f  public:  	/// default constructor  	Vector2f(); -	 +  	/// assignment constructor  	Vector2f(const float x, const float y); -	 +  	/// copy constructor  	Vector2f(const Vector2f &other); -	 +  	/// assign (0,0)  	void clear(); -	 +  	/// assignment operator  	void assign(const float x, const float y); -	 +  	/// assignment operator  	void assign(const Vector2f &other); -	 +  	/// assignment operator  	Vector2f & operator=(const Vector2f &other); -	 +  	/// vector subtraction  	Vector2f & operator-=(const Vector2f &other); -	 +  	/// vector sum  	Vector2f & operator+=(const Vector2f &other); -	 +  	/// vector subtraction  	inline Vector2f operator+(const Vector2f &other) const { -		Vector2f v(coord[0] + other.coord[0], coord[1]+other.coord[1]); +		Vector2f v(coord[0] + other.coord[0], coord[1] + other.coord[1]);  		return v;  	} -	 +  	/// vector sum  	inline Vector2f operator-(const Vector2f &other) const {  		Vector2f v(coord[0] - other.coord[0], coord[1] - other.coord[1]);  		return v;  	} -	 +  	/// scalar product  	inline Vector2f operator*(const float scalar) const {  		Vector2f v(coord[0]*scalar, coord[1]*scalar);  		return v;  	} -	 +  	/// scalar division  	inline Vector2f operator/(const float scalar) const { -		Vector2f v(coord[0]/scalar, coord[1]/scalar); +		Vector2f v(coord[0] / scalar, coord[1] / scalar);  		return v;  	} -	 +  	/// array operator  	inline float& operator[](const size_t index) {  		return coord[index];  	} -	 +  	/// array operator  	inline float operator[](const size_t index) const {  		return coord[index];  	} -	 +  	/// x coordinate  	inline float width() const {  		return coord[0];  	} -	 +  	/// y coordinate  	inline float height() const {  		return coord[1];  	}  	/// x coordinate -	inline float x() const { return coord[0]; } -	 +	inline float x() const { +		return coord[0]; +	} +  	/// y coordinate -	inline float y() const { return coord[1]; } +	inline float y() const { +		return coord[1]; +	}  	/// mutable reference to the x coordinate -	inline float & get_x() { return coord[0]; } +	inline float & get_x() { +		return coord[0]; +	}  	/// mutable reference to the y coordinate -	inline float & get_y() { return coord[1]; } -	 +	inline float & get_y() { +		return coord[1]; +	} +  	/// a pointer to the internal data  	inline float *ptr() const {  		return (float *) coord;  	} -	 +  	inline bool contains(const Vector2f &other) const {  		return ((other.coord[0] >= 0) && (other.coord[1] >= 0) && (other.coord[0] <= coord[0]) && (other.coord[1] <= coord[1]));  	} -	 +  	inline bool contains(float x, float y) const {  		return ((x >= 0) && (y >= 0) && (x <= coord[0]) && (y <= coord[1]));  	} | 
