Back to Mame

0.9.8: type_mat2x3.hpp Source File

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

latest7.1 KB
Original Source

| | 0.9.8 |

type_mat2x3.hpp

Go to the documentation of this file.

1

4 #pragma once

5

6 #include "../fwd.hpp"

7 #include "type_vec2.hpp"

8 #include "type_vec3.hpp"

9 #include "type_mat.hpp"

10 #include <limits>

11 #include <cstddef>

12

13 namespace glm

14 {

15template <typename T, precision P = defaultp>

16struct tmat2x3

17 {

18typedef tvec3<T, P> col_type;

19typedef tvec2<T, P> row_type;

20typedef tmat2x3<T, P> type;

21typedef tmat3x2<T, P> transpose_type;

22typedef T value_type;

23

24private:

25 col_type value[2];

26

27public:

28// -- Constructors --

29

30 GLM_FUNC_DECL tmat2x3() GLM_DEFAULT_CTOR;

31 GLM_FUNC_DECL tmat2x3(tmat2x3<T, P> const & m) GLM_DEFAULT;

32 template <precision Q>

33 GLM_FUNC_DECL tmat2x3(tmat2x3<T, Q> const & m);

34

35 GLM_FUNC_DECL GLM_CONSTEXPR_CTOR explicit tmat2x3(ctor);

36 GLM_FUNC_DECL explicit tmat2x3(T scalar);

37 GLM_FUNC_DECL tmat2x3(

38 T x0, T y0, T z0,

39 T x1, T y1, T z1);

40 GLM_FUNC_DECL tmat2x3(

41 col_type const & v0,

42 col_type const & v1);

43

44// -- Conversions --

45

46 template <typename X1, typename Y1, typename Z1, typename X2, typename Y2, typename Z2>

47 GLM_FUNC_DECL tmat2x3(

48 X1 x1, Y1 y1, Z1 z1,

49 X2 x2, Y2 y2, Z2 z2);

50

51 template <typename U, typename V>

52 GLM_FUNC_DECL tmat2x3(

53 tvec3<U, P> const & v1,

54 tvec3<V, P> const & v2);

55

56// -- Matrix conversions --

57

58 template <typename U, precision Q>

59 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat2x3<U, Q> const & m);

60

61 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat2x2<T, P> const & x);

62 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat3x3<T, P> const & x);

63 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat4x4<T, P> const & x);

64 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat2x4<T, P> const & x);

65 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat3x2<T, P> const & x);

66 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat3x4<T, P> const & x);

67 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat4x2<T, P> const & x);

68 GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat4x3<T, P> const & x);

69

70// -- Accesses --

71

72 typedef length_t length_type;

73 GLM_FUNC_DECL GLM_CONSTEXPR length_type length() const;

74

75 GLM_FUNC_DECL col_type & operator[](length_type i);

76 GLM_FUNC_DECL col_type const & operator[](length_type i) const;

77

78// -- Unary arithmetic operators --

79

80 GLM_FUNC_DECL tmat2x3<T, P> & operator=(tmat2x3<T, P> const & m) GLM_DEFAULT;

81

82 template <typename U>

83 GLM_FUNC_DECL tmat2x3<T, P> & operator=(tmat2x3<U, P> const & m);

84 template <typename U>

85 GLM_FUNC_DECL tmat2x3<T, P> & operator+=(U s);

86 template <typename U>

87 GLM_FUNC_DECL tmat2x3<T, P> & operator+=(tmat2x3<U, P> const & m);

88 template <typename U>

89 GLM_FUNC_DECL tmat2x3<T, P> & operator-=(U s);

90 template <typename U>

91 GLM_FUNC_DECL tmat2x3<T, P> & operator-=(tmat2x3<U, P> const & m);

92 template <typename U>

93 GLM_FUNC_DECL tmat2x3<T, P> & operator*=(U s);

94 template <typename U>

95 GLM_FUNC_DECL tmat2x3<T, P> & operator/=(U s);

96

97// -- Increment and decrement operators --

98

99 GLM_FUNC_DECL tmat2x3<T, P> & operator++ ();

100 GLM_FUNC_DECL tmat2x3<T, P> & operator-- ();

101 GLM_FUNC_DECL tmat2x3<T, P> operator++(int);

102 GLM_FUNC_DECL tmat2x3<T, P> operator--(int);

103 };

104

105// -- Unary operators --

106

107 template <typename T, precision P>

108 GLM_FUNC_DECL tmat2x3<T, P> operator+(tmat2x3<T, P> const & m);

109

110 template <typename T, precision P>

111 GLM_FUNC_DECL tmat2x3<T, P> operator-(tmat2x3<T, P> const & m);

112

113// -- Binary operators --

114

115 template <typename T, precision P>

116 GLM_FUNC_DECL tmat2x3<T, P> operator+(tmat2x3<T, P> const & m, T scalar);

117

118 template <typename T, precision P>

119 GLM_FUNC_DECL tmat2x3<T, P> operator+(tmat2x3<T, P> const & m1, tmat2x3<T, P> const & m2);

120

121 template <typename T, precision P>

122 GLM_FUNC_DECL tmat2x3<T, P> operator-(tmat2x3<T, P> const & m, T scalar);

123

124 template <typename T, precision P>

125 GLM_FUNC_DECL tmat2x3<T, P> operator-(tmat2x3<T, P> const & m1, tmat2x3<T, P> const & m2);

126

127 template <typename T, precision P>

128 GLM_FUNC_DECL tmat2x3<T, P> operator*(tmat2x3<T, P> const & m, T scalar);

129

130 template <typename T, precision P>

131 GLM_FUNC_DECL tmat2x3<T, P> operator*(T scalar, tmat2x3<T, P> const & m);

132

133 template <typename T, precision P>

134 GLM_FUNC_DECL typename tmat2x3<T, P>::col_type operator*(tmat2x3<T, P> const & m, typename tmat2x3<T, P>::row_type const & v);

135

136 template <typename T, precision P>

137 GLM_FUNC_DECL typename tmat2x3<T, P>::row_type operator*(typename tmat2x3<T, P>::col_type const & v, tmat2x3<T, P> const & m);

138

139 template <typename T, precision P>

140 GLM_FUNC_DECL tmat2x3<T, P> operator*(tmat2x3<T, P> const & m1, tmat2x2<T, P> const & m2);

141

142 template <typename T, precision P>

143 GLM_FUNC_DECL tmat3x3<T, P> operator*(tmat2x3<T, P> const & m1, tmat3x2<T, P> const & m2);

144

145 template <typename T, precision P>

146 GLM_FUNC_DECL tmat4x3<T, P> operator*(tmat2x3<T, P> const & m1, tmat4x2<T, P> const & m2);

147

148 template <typename T, precision P>

149 GLM_FUNC_DECL tmat2x3<T, P> operator/(tmat2x3<T, P> const & m, T scalar);

150

151 template <typename T, precision P>

152 GLM_FUNC_DECL tmat2x3<T, P> operator/(T scalar, tmat2x3<T, P> const & m);

153

154// -- Boolean operators --

155

156 template <typename T, precision P>

157 GLM_FUNC_DECL bool operator==(tmat2x3<T, P> const & m1, tmat2x3<T, P> const & m2);

158

159 template <typename T, precision P>

160 GLM_FUNC_DECL bool operator!=(tmat2x3<T, P> const & m1, tmat2x3<T, P> const & m2);

161 }//namespace glm

162

163 #ifndef GLM_EXTERNAL_TEMPLATE

164 #include "type_mat2x3.inl"

165 #endif

type_vec3.hpp

GLM Core

glm

Definition: _noise.hpp:11

type_mat.hpp

GLM Core

type_vec2.hpp

GLM Core

glm::length

GLM_FUNC_DECL T length(vecType< T, P > const &x)

Returns the length of x, i.e., sqrt(x * x).


Generated by 1.8.10