1 #ifndef BLUB_VECTOR2_HPP
2 #define BLUB_VECTOR2_HPP
4 #include "blub/core/globals.hpp"
5 #include "blub/math/predecl.hpp"
6 #include "blub/serialization/access.hpp"
7 #include "blub/serialization/nameValuePair.hpp"
23 #ifndef BLUB_NO_OGRE3D
24 vector2(
const Ogre::Vector2 &vec);
25 operator Ogre::Vector2()
const;
34 vector2(
const real& fX,
const real& fY)
69 inline bool operator == (
const vector2& rkVector )
const
71 return ( x == rkVector.x && y == rkVector.y );
74 inline bool operator != (
const vector2& rkVector )
const
76 return ( x != rkVector.x || y != rkVector.y );
80 inline vector2 operator + (
const vector2& rkVector )
const
87 inline vector2 operator - (
const vector2& rkVector )
const
94 inline vector2 operator * (
const real fScalar )
const
101 inline vector2 operator * (
const vector2& rhs)
const
108 inline vector2 operator / (
const real fScalar )
const
110 BASSERT( fScalar != 0.0 );
112 real fInv = 1.0f / fScalar;
119 inline vector2 operator / (
const vector2& rhs)
const
126 inline const vector2& operator + ()
const
131 inline vector2 operator - ()
const
133 return vector2(-x, -y);
137 inline friend vector2 operator * (
const real fScalar,
const vector2& rkVector )
140 fScalar * rkVector.x,
141 fScalar * rkVector.y);
144 inline friend vector2 operator / (
const real fScalar,
const vector2& rkVector )
147 fScalar / rkVector.x,
148 fScalar / rkVector.y);
151 inline friend vector2 operator + (
const vector2& lhs,
const real rhs)
158 inline friend vector2 operator + (
const real lhs,
const vector2& rhs)
165 inline friend vector2 operator - (
const vector2& lhs,
const real rhs)
172 inline friend vector2 operator - (
const real lhs,
const vector2& rhs)
180 inline vector2& operator += (
const vector2& rkVector )
188 inline vector2& operator += (
const real fScaler )
196 inline vector2& operator -= (
const vector2& rkVector )
204 inline vector2& operator -= (
const real fScaler )
212 inline vector2& operator *= (
const real fScalar )
220 inline vector2& operator *= (
const vector2& rkVector )
228 inline vector2& operator /= (
const real fScalar )
230 BASSERT( fScalar != 0.0 );
232 real fInv = 1.0f / fScalar;
240 inline vector2& operator /= (
const vector2& rkVector )
252 BLUB_SERIALIZATION_ACCESS
253 template<
typename Archive>
254 void serialize(Archive & readWrite,
const unsigned int version)
258 readWrite & BLUB_SERIALIZATION_NAMEVALUEPAIR(x);
259 readWrite & BLUB_SERIALIZATION_NAMEVALUEPAIR(y);
265 std::ostream& operator<< (std::ostream& ostr,
const vector2& toCast);
266 std::size_t hash_value(
const vector2& value);
271 #endif // BLUB_VECTOR2_HPP
Definition: vector2.hpp:20
Definition: predecl.hpp:25
Definition: deadlineTimer.hpp:10
Definition: axisAlignedBox.hpp:10
vector2 & operator=(const real fScalar)
Definition: vector2.hpp:61