Back to Mame

0.9.8: func_matrix.hpp Source File

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

latest4.8 KB
Original Source

| | 0.9.8 |

func_matrix.hpp

Go to the documentation of this file.

1

15 #pragma once

16

17 // Dependencies

18 #include "../detail/precision.hpp"

19 #include "../detail/setup.hpp"

20 #include "../detail/type_mat.hpp"

21 #include "../vec2.hpp"

22 #include "../vec3.hpp"

23 #include "../vec4.hpp"

24 #include "../mat2x2.hpp"

25 #include "../mat2x3.hpp"

26 #include "../mat2x4.hpp"

27 #include "../mat3x2.hpp"

28 #include "../mat3x3.hpp"

29 #include "../mat3x4.hpp"

30 #include "../mat4x2.hpp"

31 #include "../mat4x3.hpp"

32 #include "../mat4x4.hpp"

33

34 namespace glm{

35 namespace detail

36 {

37template <typename T, precision P>

38struct outerProduct_trait<T, P, tvec2, tvec2>

39 {

40typedef tmat2x2<T, P> type;

41 };

42

43template <typename T, precision P>

44struct outerProduct_trait<T, P, tvec2, tvec3>

45 {

46typedef tmat3x2<T, P> type;

47 };

48

49template <typename T, precision P>

50struct outerProduct_trait<T, P, tvec2, tvec4>

51 {

52typedef tmat4x2<T, P> type;

53 };

54

55template <typename T, precision P>

56struct outerProduct_trait<T, P, tvec3, tvec2>

57 {

58typedef tmat2x3<T, P> type;

59 };

60

61template <typename T, precision P>

62struct outerProduct_trait<T, P, tvec3, tvec3>

63 {

64typedef tmat3x3<T, P> type;

65 };

66

67template <typename T, precision P>

68struct outerProduct_trait<T, P, tvec3, tvec4>

69 {

70typedef tmat4x3<T, P> type;

71 };

72

73template <typename T, precision P>

74struct outerProduct_trait<T, P, tvec4, tvec2>

75 {

76typedef tmat2x4<T, P> type;

77 };

78

79template <typename T, precision P>

80struct outerProduct_trait<T, P, tvec4, tvec3>

81 {

82typedef tmat3x4<T, P> type;

83 };

84

85template <typename T, precision P>

86struct outerProduct_trait<T, P, tvec4, tvec4>

87 {

88typedef tmat4x4<T, P> type;

89 };

90

91 }//namespace detail

92

95

103template <typename T, precision P, template <typename, precision> class matType>

104 GLM_FUNC_DECL matType<T, P> matrixCompMult(matType<T, P> const & x, matType<T, P> const & y);

105

114template <typename T, precision P, template <typename, precision> class vecTypeA, template <typename, precision> class vecTypeB>

115 GLM_FUNC_DECL typename detail::outerProduct_trait<T, P, vecTypeA, vecTypeB>::type outerProduct(vecTypeA<T, P> const & c, vecTypeB<T, P> const & r);

116

123 # if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2012))

124template <typename T, precision P, template <typename, precision> class matType>

125 GLM_FUNC_DECL typename matType<T, P>::transpose_type transpose(matType<T, P> const & x);

126 # endif

127

134template <typename T, precision P, template <typename, precision> class matType>

135 GLM_FUNC_DECL T determinant(matType<T, P> const & m);

136

143template <typename T, precision P, template <typename, precision> class matType>

144 GLM_FUNC_DECL matType<T, P> inverse(matType<T, P> const & m);

145

147 }//namespace glm

148

149 #include "func_matrix.inl"

glm::determinant

GLM_FUNC_DECL T determinant(matType< T, P > const &m)

Returns the transposed matrix of x.

glm

Definition: _noise.hpp:11

glm::inverse

GLM_FUNC_DECL matType< T, P > inverse(matType< T, P > const &m)

Return the inverse of a squared matrix.

glm::outerProduct

GLM_FUNC_DECL detail::outerProduct_trait< T, P, vecTypeA, vecTypeB >::type outerProduct(vecTypeA< T, P > const &c, vecTypeB< T, P > const &r)

Treats the first parameter c as a column vector and the second parameter r as a row vector and does a...

glm::matrixCompMult

GLM_FUNC_DECL matType< T, P > matrixCompMult(matType< T, P > const &x, matType< T, P > const &y)

Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and...


Generated by 1.8.10