18 #ifndef ZENI_VECTOR3F_HXX
19 #define ZENI_VECTOR3F_HXX
34 :
i(0.0
f),
j(0.0
f),
k(0.0
f), degenerate(degenerate_)
39 :
i(i_),
j(j_),
k(k_), degenerate(degenerate_)
44 :
i(rhs.
i),
j(rhs.
j),
k(rhs.
k), degenerate(rhs.degenerate || degenerate_)
49 :
i(rhs.
x),
j(rhs.
y),
k(rhs.
z)
54 :
i(rhs.
x),
j(rhs.
y),
k(0.0
f)
104 return *
this = *
this % rhs;
139 return i *
i +
j *
j +
k *
k;
183 return float(acos((a * a + b * b - c * c) / (2 * a * b)));
187 assert(-1 < index && index < 3);
188 const float *
const ptr = &
i;
193 assert(-1 < index && index < 3);
194 float *
const ptr = &
i;
float magnitude2() const
Get the 'magnitude squared' of the vector.
Vector3f get_ik() const
Get just the i and k parts.
Vector3f operator/(const float &rhs) const
Get the scalar... something.
Vector3f & operator%=(const Vector3f &rhs)
Set equal to the cross-product.
Vector3f & operator/=(const float &rhs)
Set equal to the scalar something.
Vector3f get_i() const
Get just the i-part.
Vector3f divide_by(const Vector3f &rhs) const
Divide corresponding members.
GLboolean GLboolean GLboolean GLboolean a
Vector3f multiply_by(const Vector3f &rhs) const
Multiply corresponding members.
Vector3f get_ij() const
Get just the i and j parts.
float magnitude() const
Get the magnitude of the vector.
Vector3f get_j() const
Get just the j-part.
Vector3f get_jk() const
Get just the j and k parts.
A 3D Point represented with floats.
float operator*(const Vector3f &rhs) const
Get the dot-product.
A Featureful 3-Space Vector Class.
Vector3f & operator*=(const float &rhs)
Set equal to the scalar multiple.
Vector3f get_k() const
Get just the k-part.
Quaternion operator*(const float &lhs, const Quaternion &rhs)
const float & operator[](const int &index) const
Get 'index'.
float angle_between(const Vector3f &rhs) const
Find the angle between the Vector3fs.
Vector3f(const bool °enerate_=false)
The best way to create a Vector3f.
Vector3f operator-() const
Get the negation.
Vector3f & operator-=(const Vector3f &rhs)
Set equal to the difference.
EGLSurface EGLint EGLint y
Vector3f & operator+=(const Vector3f &rhs)
Set equal to the sum.
Vector3f operator%(const Vector3f &rhs) const
Get the cross-product.
GLdouble GLdouble GLdouble b
GLint GLint GLint GLint z
Vector3f operator+(const Vector3f &rhs) const
Get the sum.