24 explicit float3(
float value) :
x(value),
y(value),
z(value) {}
28 float3(
float x_,
float y_,
float z_) :
x{x_},
y{y_},
z{z_} {}
32 return {0.0f, 0.0f, 0.0f};
37 return {a.
x *
b, a.
y *
b, a.
z *
b};
42 return {a.
x *
b, a.
y *
b, a.
z *
b};
47 return {a.
x -
b.x, a.
y -
b.y, a.
z -
b.z};
52 return {-a.
x, -a.
y, -a.
z};
57 return a.
x ==
b.x && a.
y ==
b.y && a.
z ==
b.z;
62 return x *
x +
y *
y +
z *
z;
72 return (a -
b).length();
77 return {a.
x +
b.x, a.
y +
b.y, a.
z +
b.z};
89 return {a.
x *
b.x, a.
y *
b.y, a.
z *
b.z};
95 return (
len != 0.0f) ? *
this * (1.0f /
len) : *
this;
106 return a.
x *
b.x + a.
y *
b.y + a.
z *
b.z;
111 return float3::distance(a,
b);
ATTR_WARN_UNUSED_RESULT const BMVert * v
float dot(const float3 &a, const float3 &b)
float3 project(const float3 &n, const float3 &v)
float distance(const float3 &a, const float3 &b)
friend float3 operator*(const float3 &a, float b)
friend float3 operator-(const float3 &a, const float3 &b)
friend bool operator==(const float3 &a, const float3 &b)
float length_squared() const
friend float3 operator+(const float3 &a, const float3 &b)
float3(const float(*ptr)[3])
static float distance(const float3 &a, const float3 &b)
friend float3 operator*(const float3 &a, const float3 &b)
void operator+=(const float3 &b)
float3(float x_, float y_, float z_)
friend float3 operator-(const float3 &a)
friend float3 operator*(float b, const float3 &a)