29 Vec3D(
float x0 = 0.0f,
float y0 = 0.0f,
float z0 = 0.0f) :
x(x0),
y(y0),
z(z0) { }
49 return x * v.
x +
y * v.
y +
z * v.
z;
95 return x *
x +
y *
y +
z *
z;
105 *
this *= (1.0f /
length());
118 in >> v.
x >> v.
y >> v.
z;
124 out << v.
x <<
" " << v.
y <<
" " << v.
z;
153 Vec2D(
float x0 = 0.0f,
float y0 = 0.0f) :
x(x0),
y(y0) { }
173 return x * v.
x +
y * v.
y;
210 return x *
x +
y *
y;
220 *
this *= (1.0f /
length());
243inline void rotate(
float x0,
float y0,
float* x,
float* y,
float angle)
247 *x = xa*cosf(angle) - ya*sinf(angle) + x0;
248 *y = xa*sinf(angle) + ya*cosf(angle) + y0;
AaBox3D & operator+=(Vec3D const &offset)
Vec2D(float x0=0.0f, float y0=0.0f)
Vec2D & operator=(Vec2D const &v)=default
friend std::istream & operator>>(std::istream &in, Vec2D &v)
float operator*(Vec2D const &v) const
Vec2D(Vec2D const &v)=default
Vec2D & operator*=(float d)
Vec2D operator+(Vec2D const &v) const
Vec2D & operator-=(Vec2D const &v)
float lengthSquared() const
friend Vec2D operator*(float d, Vec2D const &v)
Vec2D operator-(Vec2D const &v) const
Vec2D & operator+=(Vec2D const &v)
Vec2D operator*(float d) const
Vec3D(Vec3D const &v)=default
Vec3D operator+(Vec3D const &v) const
float operator*(Vec3D const &v) const
Vec3D operator-(Vec3D const &v) const
Vec3D operator*(float d) const
Vec3D(float x0=0.0f, float y0=0.0f, float z0=0.0f)
float lengthSquared() const
Vec3D & operator=(Vec3D const &v)=default
friend std::istream & operator>>(std::istream &in, Vec3D &v)
Vec3D & operator-=(Vec3D const &v)
Vec3D & operator*=(float d)
friend Vec3D operator*(float d, Vec3D const &v)
friend std::ostream & operator<<(std::ostream &out, Vec3D const &v)
Vec3D & operator+=(Vec3D const &v)
Vec3D operator%(Vec3D const &v) const
void rotate(float x0, float y0, float *x, float *y, float angle)