type_mat4x3.hpp
Go to the documentation of this file.
1 
29 #pragma once
30 
31 #include "../fwd.hpp"
32 #include "type_vec3.hpp"
33 #include "type_vec4.hpp"
34 #include "type_mat.hpp"
35 #if GLM_HAS_INITIALIZER_LISTS
36 # include <initializer_list>
37 #endif
38 #if GLM_HAS_RVALUE_REFERENCES
39 # include <algorithm>
40 #endif
41 #include <limits>
42 #include <cstddef>
43 
44 namespace glm{
45 namespace detail
46 {
47  template <typename T, precision P>
48  struct tmat4x3
49  {
50  enum ctor{_null};
51  typedef T value_type;
52  typedef std::size_t size_type;
57 
59 
60  private:
61  // Data
63 
64  public:
65  // Constructors
68  template <precision Q>
70 
71  GLM_FUNC_DECL explicit tmat4x3(
72  ctor Null);
73  GLM_FUNC_DECL explicit tmat4x3(
74  T const & x);
76  T const & x0, T const & y0, T const & z0,
77  T const & x1, T const & y1, T const & z1,
78  T const & x2, T const & y2, T const & z2,
79  T const & x3, T const & y3, T const & z3);
81  col_type const & v0,
82  col_type const & v1,
83  col_type const & v2,
84  col_type const & v3);
85 
87  // Conversions
88 
89  template <
90  typename X1, typename Y1, typename Z1,
91  typename X2, typename Y2, typename Z2,
92  typename X3, typename Y3, typename Z3,
93  typename X4, typename Y4, typename Z4>
95  X1 const & x1, Y1 const & y1, Z1 const & z1,
96  X2 const & x2, Y2 const & y2, Z2 const & z2,
97  X3 const & x3, Y3 const & y3, Z3 const & z3,
98  X4 const & x4, Y4 const & y4, Z4 const & z4);
99 
100  template <typename V1, typename V2, typename V3, typename V4>
102  tvec3<V1, P> const & v1,
103  tvec3<V2, P> const & v2,
104  tvec3<V3, P> const & v3,
105  tvec3<V4, P> const & v4);
106 
107  // Matrix conversions
108  template <typename U, precision Q>
109  GLM_FUNC_DECL explicit tmat4x3(tmat4x3<U, Q> const & m);
110 
111  GLM_FUNC_DECL explicit tmat4x3(tmat2x2<T, P> const & x);
112  GLM_FUNC_DECL explicit tmat4x3(tmat3x3<T, P> const & x);
113  GLM_FUNC_DECL explicit tmat4x3(tmat4x4<T, P> const & x);
114  GLM_FUNC_DECL explicit tmat4x3(tmat2x3<T, P> const & x);
115  GLM_FUNC_DECL explicit tmat4x3(tmat3x2<T, P> const & x);
116  GLM_FUNC_DECL explicit tmat4x3(tmat2x4<T, P> const & x);
117  GLM_FUNC_DECL explicit tmat4x3(tmat4x2<T, P> const & x);
118  GLM_FUNC_DECL explicit tmat4x3(tmat3x4<T, P> const & x);
119 
120  // Accesses
122  GLM_FUNC_DECL col_type const & operator[](size_type i) const;
123 
125  template <typename U>
127  template <typename U>
129  template <typename U>
131  template <typename U>
133  template <typename U>
135  template <typename U>
137  template <typename U>
139 
141  // Increment and decrement operators
142 
147  };
148 
149  // Binary operators
150  template <typename T, precision P>
152  tmat4x3<T, P> const & m,
153  T const & s);
154 
155  template <typename T, precision P>
157  tmat4x3<T, P> const & m1,
158  tmat4x3<T, P> const & m2);
159 
160  template <typename T, precision P>
162  tmat4x3<T, P> const & m,
163  T const & s);
164 
165  template <typename T, precision P>
167  tmat4x3<T, P> const & m1,
168  tmat4x3<T, P> const & m2);
169 
170  template <typename T, precision P>
172  tmat4x3<T, P> const & m,
173  T const & s);
174 
175  template <typename T, precision P>
177  T const & s,
178  tmat4x3<T, P> const & m);
179 
180  template <typename T, precision P>
182  tmat4x3<T, P> const & m,
183  typename tmat4x3<T, P>::row_type const & v);
184 
185  template <typename T, precision P>
187  typename tmat4x3<T, P>::col_type const & v,
188  tmat4x3<T, P> const & m);
189 
190  template <typename T, precision P>
192  tmat4x3<T, P> const & m1,
193  tmat2x4<T, P> const & m2);
194 
195  template <typename T, precision P>
197  tmat4x3<T, P> const & m1,
198  tmat3x4<T, P> const & m2);
199 
200  template <typename T, precision P>
202  tmat4x3<T, P> const & m1,
203  tmat4x4<T, P> const & m2);
204 
205  template <typename T, precision P>
207  tmat4x3<T, P> const & m,
208  T const & s);
209 
210  template <typename T, precision P>
212  T const & s,
213  tmat4x3<T, P> const & m);
214 
215  // Unary constant operators
216  template <typename T, precision P>
218  tmat4x3<T, P> const & m);
219 
220 }//namespace detail
221 }//namespace glm
222 
223 #ifndef GLM_EXTERNAL_TEMPLATE
224 #include "type_mat4x3.inl"
225 #endif //GLM_EXTERNAL_TEMPLATE
glm::detail::tmat4x3::ctor
ctor
Definition: type_mat4x3.hpp:50
glm::detail::tmat4x3::operator=
GLM_FUNC_DECL tmat4x3< T, P > & operator=(tmat4x3< T, P > const &m)
glm::detail::tmat3x3
Definition: type_mat.hpp:43
glm::detail::tmat4x3
Definition: type_mat.hpp:46
glm::detail::tmat2x3
Definition: type_mat.hpp:40
glm::detail::tmat3x2
Definition: type_mat.hpp:42
glm::detail::tmat4x2
Definition: type_mat.hpp:45
glm::detail::tmat2x2
Definition: type_mat.hpp:39
Z2
Cyclic< 2 > Z2
glm::detail::tmat4x3::operator--
GLM_FUNC_DECL tmat4x3< T, P > & operator--()
glm::detail::tmat4x3::length
GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const
detail
glm::detail::tmat4x3::tmat4x3
GLM_FUNC_DECL tmat4x3()
glm::detail::tvec3
Definition: type_mat.hpp:37
glm::detail::tmat3x4
Definition: type_mat.hpp:44
glm::detail::tmat4x4
Definition: type_mat.hpp:47
glm::detail::tmat2x4
Definition: type_mat.hpp:41
glm::detail::tmat4x3::type
tmat4x3< T, P > type
Definition: type_mat4x3.hpp:55
glm::detail::tmat4x3::operator-=
GLM_FUNC_DECL tmat4x3< T, P > & operator-=(U s)
Z3
Cyclic< 3 > Z3
glm::detail::tmat4x3::value
col_type value[4]
Definition: type_mat4x3.hpp:62
glm::detail::operator+
GLM_FUNC_DECL tmat2x2< T, P > operator+(tmat2x2< T, P > const &m, T const &s)
glm::detail::tmat4x3::operator++
GLM_FUNC_DECL tmat4x3< T, P > & operator++()
glm::detail::operator/
GLM_FUNC_DECL tmat2x2< T, P > operator/(tmat2x2< T, P > const &m, T const &s)
glm::detail::operator*
GLM_FUNC_DECL tmat2x2< T, P > operator*(tmat2x2< T, P > const &m, T const &s)
glm::detail::tmat4x3::operator+=
GLM_FUNC_DECL tmat4x3< T, P > & operator+=(U s)
glm::detail::tvec4
Definition: type_mat.hpp:38
glm
Definition: _literals.hpp:31
Eigen::Triplet< double >
glm::detail::operator-
GLM_FUNC_DECL tmat2x2< T, P > operator-(tmat2x2< T, P > const &m, T const &s)
type_vec4.hpp
glm::detail::tmat4x3::operator/=
GLM_FUNC_DECL tmat4x3< T, P > & operator/=(U s)
glm::detail::tmat4x3::transpose_type
tmat3x4< T, P > transpose_type
Definition: type_mat4x3.hpp:56
glm::detail::tmat4x3::col_type
tvec3< T, P > col_type
Definition: type_mat4x3.hpp:53
glm::detail::tmat4x3::operator[]
GLM_FUNC_DECL col_type & operator[](size_type i)
glm::detail::tmat4x3::value_type
T value_type
Definition: type_mat4x3.hpp:51
glm::length_t
int length_t
Definition: setup.hpp:755
glm::detail::tmat4x3::size_type
std::size_t size_type
Definition: type_mat4x3.hpp:52
type_vec3.hpp
glm::detail::tmat4x3::row_type
tvec4< T, P > row_type
Definition: type_mat4x3.hpp:54
GLM_FUNC_DECL
#define GLM_FUNC_DECL
Definition: setup.hpp:728
glm::detail::tmat4x3::operator*=
GLM_FUNC_DECL tmat4x3< T, P > & operator*=(U s)
glm::detail::tmat4x3::_null
@ _null
Definition: type_mat4x3.hpp:50
type_mat.hpp
GLM_CONSTEXPR
#define GLM_CONSTEXPR
Definition: setup.hpp:801


rtabmap
Author(s): Mathieu Labbe
autogenerated on Thu Jul 25 2024 02:50:22