9#ifndef __SKY_FLOAT3_H__
10#define __SKY_FLOAT3_H__
17# define M_PI_F (3.1415926535897932f)
20# define M_PI_2_F (1.5707963267948966f)
23# define M_2PI_F (6.2831853071795864f)
35 explicit float3(
float value) :
x(value),
y(value),
z(value) {}
37 explicit float3(
int value) :
x(value),
y(value),
z(value) {}
41 operator const float *()
const
53 return {a.
x *
b, a.
y *
b, a.
z *
b};
58 return {a.
x *
b, a.
y *
b, a.
z *
b};
63 return {a.
x -
b.x, a.
y -
b.y, a.
z -
b.z};
68 return {-a.
x, -a.
y, -a.
z};
73 return x *
x +
y *
y +
z *
z;
83 return (a -
b).length();
88 return {a.
x +
b.x, a.
y +
b.y, a.
z +
b.z};
100 return {a.
x *
b.x, a.
y *
b.y, a.
z *
b.z};
116 return a.
x *
b.x + a.
y *
b.y + a.
z *
b.z;
121 return float3::distance(a,
b);
136 return f.
x + f.
y + f.
z;
SIMD_FORCE_INLINE const btScalar & z() const
Return the z value.
VecBase< float, 3 > float3
float len_squared(float3 f)
float3 make_float3(float x, float y, float z)
float dot(const float3 &a, const float3 &b)
float reduce_add(float3 f)
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)
float3(float x, float y, float z)
void operator+=(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)
friend float3 operator-(const float3 &a)
friend float3 operator*(float b, const float3 &a)