21 Vector3(
const T& x_,
const T& y_,
const T& z_)
38 x =
static_cast<T
>(position.
x);
39 y =
static_cast<T
>(position.
y);
40 z =
static_cast<T
>(position.
z);
45 assert(v.size() == 3);
84 return (
x == a.
x) && (
y == a.
y) && (
z == a.
z);
89 return (
x != a.
x) || (
y != a.
y) || (
z != a.
z);
95 (
x == a.
x &&
y < a.
y) ||
96 (
x == a.
x &&
y == a.
y &&
z < a.
z);
194 return (
x - v.
x) * (
x - v.
x)
195 + (
y - v.
y) * (
y - v.
y)
196 + (
z - v.
z) * (
z - v.
z);
250 const double norm = std::sqrt(
SqrNorm());
258 return x *
x +
y *
y +
z *
z;
263 o <<
"(" << vec.
x <<
"," << vec.
y <<
"," << vec.
z <<
")";
287 template <
typename T>
293 size_t value = hasher(v.
x);
294 value ^= hasher(v.
y) + 0x9e3779b9 + (value << 6) + (value >> 2);
295 value ^= hasher(v.
z) + 0x9e3779b9 + (value << 6) + (value >> 2);
Main class, basically a JsonVariant with extra utility functions it doesn't inherit JsonVariant direc...
bool operator!=(const Vector3 &a) const
Vector3 operator/(const Vector3 &v) const
Vector3 operator+(const T d) const
Vector3 operator+(const Vector3 &a) const
Vector3(const ProtocolCraft::NetworkPosition &position)
Vector3 & operator+=(const Vector3 &v)
Vector3 & operator*=(const Vector3 &v)
double SqrDist(const Vector3 &v) const
double dot(const Vector3 &v) const
ProtocolCraft::NetworkPosition ToNetworkPosition() const
ProtocolCraft::Json::Value Serialize() const
bool operator==(const Vector3 &a) const
Vector3 operator-(const T d) const
Vector3(const std::array< T, 3 > &v)
Vector3 & operator/=(const Vector3 &v)
bool operator<(const Vector3 &a) const
T & operator[](const int i)
Vector3 operator/(const T d) const
Vector3(const Vector3< U > &position)
Vector3(const std::vector< T > &v)
Vector3 operator-(const Vector3 &a) const
friend std::ostream & operator<<(std::ostream &o, const Vector3 &vec)
Vector3 & operator-=(const Vector3 &v)
Vector3 operator*(const Vector3 &v) const
Vector3 operator*(const T d) const
Vector3(const T &x_, const T &y_, const T &z_)
size_t operator()(const Botcraft::Vector3< T > &v) const