Back to Mame

0.9.8: quaternion.hpp Source File

3rdparty/glm/doc/api/a00088_source.html

latest8.7 KB
Original Source

| | 0.9.8 |

gtx/quaternion.hpp

Go to the documentation of this file.

1

14 #pragma once

15

16 // Dependency:

17 #include "../glm.hpp"

18 #include "../gtc/constants.hpp"

19 #include "../gtc/quaternion.hpp"

20 #include "../gtx/norm.hpp"

21

22 #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)

23 # pragma message("GLM: GLM_GTX_quaternion extension included")

24 #endif

25

26 namespace glm

27 {

30

34template<typename T, precision P>

35 GLM_FUNC_DECL tvec3<T, P> cross(

36 tquat<T, P> const & q,

37 tvec3<T, P> const & v);

38

42template<typename T, precision P>

43 GLM_FUNC_DECL tvec3<T, P> cross(

44 tvec3<T, P> const & v,

45 tquat<T, P> const & q);

46

51template<typename T, precision P>

52 GLM_FUNC_DECL tquat<T, P> squad(

53 tquat<T, P> const & q1,

54 tquat<T, P> const & q2,

55 tquat<T, P> const & s1,

56 tquat<T, P> const & s2,

57 T const & h);

58

62template<typename T, precision P>

63 GLM_FUNC_DECL tquat<T, P> intermediate(

64 tquat<T, P> const & prev,

65 tquat<T, P> const & curr,

66 tquat<T, P> const & next);

67

71template<typename T, precision P>

72 GLM_FUNC_DECL tquat<T, P> exp(

73 tquat<T, P> const & q);

74

78template<typename T, precision P>

79 GLM_FUNC_DECL tquat<T, P> log(

80 tquat<T, P> const & q);

81

85template<typename T, precision P>

86 GLM_FUNC_DECL tquat<T, P> pow(

87 tquat<T, P> const & x,

88 T const & y);

89

93//template<typename T, precision P>

94//tquat<T, P> sqrt(

95// tquat<T, P> const & q);

96

100template<typename T, precision P>

101 GLM_FUNC_DECL tvec3<T, P> rotate(

102 tquat<T, P> const & q,

103 tvec3<T, P> const & v);

104

108template<typename T, precision P>

109 GLM_FUNC_DECL tvec4<T, P> rotate(

110 tquat<T, P> const & q,

111 tvec4<T, P> const & v);

112

116template<typename T, precision P>

117 GLM_FUNC_DECL T extractRealComponent(

118 tquat<T, P> const & q);

119

123template<typename T, precision P>

124 GLM_FUNC_DECL tmat3x3<T, P> toMat3(

125 tquat<T, P> const & x){return mat3_cast(x);}

126

130template<typename T, precision P>

131 GLM_FUNC_DECL tmat4x4<T, P> toMat4(

132 tquat<T, P> const & x){return mat4_cast(x);}

133

137template<typename T, precision P>

138 GLM_FUNC_DECL tquat<T, P> toQuat(

139 tmat3x3<T, P> const & x){return quat_cast(x);}

140

144template<typename T, precision P>

145 GLM_FUNC_DECL tquat<T, P> toQuat(

146 tmat4x4<T, P> const & x){return quat_cast(x);}

147

151template<typename T, precision P>

152 GLM_FUNC_DECL tquat<T, P> shortMix(

153 tquat<T, P> const & x,

154 tquat<T, P> const & y,

155 T const & a);

156

160template<typename T, precision P>

161 GLM_FUNC_DECL tquat<T, P> fastMix(

162 tquat<T, P> const & x,

163 tquat<T, P> const & y,

164 T const & a);

165

171template<typename T, precision P>

172 GLM_FUNC_DECL tquat<T, P> rotation(

173 tvec3<T, P> const & orig,

174 tvec3<T, P> const & dest);

175

179template<typename T, precision P>

180 GLM_FUNC_DECL T length2(tquat<T, P> const & q);

181

183 }//namespace glm

184

185 #include "quaternion.inl"

glm::pow

GLM_FUNC_DECL tquat< T, P > pow(tquat< T, P > const &x, T const &y)

Returns x raised to the y power.

glm::length2

GLM_FUNC_DECL T length2(tquat< T, P > const &q)

Returns the squared length of x.

glm

Definition: _noise.hpp:11

glm::toMat4

GLM_FUNC_DECL tmat4x4< T, P > toMat4(tquat< T, P > const &x)

Converts a quaternion to a 4 * 4 matrix.

Definition: gtx/quaternion.hpp:131

glm::cross

GLM_FUNC_DECL tvec3< T, P > cross(tvec3< T, P > const &v, tquat< T, P > const &q)

Compute a cross product between a vector and a quaternion.

glm::shortMix

GLM_FUNC_DECL tquat< T, P > shortMix(tquat< T, P > const &x, tquat< T, P > const &y, T const &a)

Quaternion interpolation using the rotation short path.

glm::toMat3

GLM_FUNC_DECL tmat3x3< T, P > toMat3(tquat< T, P > const &x)

Converts a quaternion to a 3 * 3 matrix.

Definition: gtx/quaternion.hpp:124

glm::rotation

GLM_FUNC_DECL tquat< T, P > rotation(tvec3< T, P > const &orig, tvec3< T, P > const &dest)

Compute the rotation between two vectors.

glm::mat4_cast

GLM_FUNC_DECL tmat4x4< T, P > mat4_cast(tquat< T, P > const &x)

Converts a quaternion to a 4 * 4 matrix.

glm::extractRealComponent

GLM_FUNC_DECL T extractRealComponent(tquat< T, P > const &q)

Extract the real component of a quaternion.

glm::intermediate

GLM_FUNC_DECL tquat< T, P > intermediate(tquat< T, P > const &prev, tquat< T, P > const &curr, tquat< T, P > const &next)

Returns an intermediate control point for squad interpolation.

glm::exp

GLM_FUNC_DECL tquat< T, P > exp(tquat< T, P > const &q)

Returns a exp of a quaternion.

glm::rotate

GLM_FUNC_DECL tvec4< T, P > rotate(tquat< T, P > const &q, tvec4< T, P > const &v)

Rotates a 4 components vector by a quaternion.

glm::fastMix

GLM_FUNC_DECL tquat< T, P > fastMix(tquat< T, P > const &x, tquat< T, P > const &y, T const &a)

Quaternion normalized linear interpolation.

glm::toQuat

GLM_FUNC_DECL tquat< T, P > toQuat(tmat4x4< T, P > const &x)

Converts a 4 * 4 matrix to a quaternion.

Definition: gtx/quaternion.hpp:145

glm::quat_cast

GLM_FUNC_DECL tquat< T, P > quat_cast(tmat3x3< T, P > const &x)

Converts a 3 * 3 matrix to a quaternion.

glm::mat3_cast

GLM_FUNC_DECL tmat3x3< T, P > mat3_cast(tquat< T, P > const &x)

Converts a quaternion to a 3 * 3 matrix.

glm::squad

GLM_FUNC_DECL tquat< T, P > squad(tquat< T, P > const &q1, tquat< T, P > const &q2, tquat< T, P > const &s1, tquat< T, P > const &s2, T const &h)

Compute a point on a path according squad equation.

glm::log

GLM_FUNC_DECL tquat< T, P > log(tquat< T, P > const &q)

Returns a log of a quaternion.


Generated by 1.8.10