44 #ifndef AI_VECTOR3D_H_INC 45 #define AI_VECTOR3D_H_INC 53 #include "./Compiler/pushpack1.h" 57 template<
typename TReal>
class aiMatrix3x3t;
58 template<
typename TReal>
class aiMatrix4x4t;
62 template <
typename TReal>
67 aiVector3t () : x(), y(), z() {}
68 aiVector3t (TReal _x, TReal _y, TReal _z) : x(_x), y(_y), z(_z) {}
69 explicit aiVector3t (TReal _xyz) : x(_xyz), y(_xyz), z(_xyz) {}
70 aiVector3t (
const aiVector3t& o) : x(o.x), y(o.y), z(o.z) {}
75 const aiVector3t& operator += (
const aiVector3t& o);
76 const aiVector3t& operator -= (
const aiVector3t& o);
77 const aiVector3t& operator *= (TReal f);
78 const aiVector3t& operator /= (TReal f);
81 aiVector3t& operator *= (
const aiMatrix3x3t<TReal>& mat);
82 aiVector3t& operator *= (
const aiMatrix4x4t<TReal>& mat);
85 TReal operator[](
unsigned int i)
const;
86 TReal& operator[](
unsigned int i);
89 bool operator== (
const aiVector3t& other)
const;
90 bool operator!= (
const aiVector3t& other)
const;
91 bool operator < (
const aiVector3t& other)
const;
93 bool Equal(
const aiVector3t& other, TReal epsilon = 1e-6)
const;
95 template <
typename TOther>
96 operator aiVector3t<TOther> ()
const;
104 void Set( TReal pX, TReal pY, TReal pZ);
108 TReal SquareLength()
const;
113 TReal Length()
const;
117 aiVector3t& Normalize();
124 const aiVector3t SymMul(
const aiVector3t& o);
139 #endif // __cplusplus 141 #include "./Compiler/poppack1.h" 147 #endif // __cplusplus 149 #endif // AI_VECTOR3D_H_INC Definition: vector3.h:134