type_mat2x3.hpp
Go to the documentation of this file.
1 
29 #pragma once
30 
31 #include "../fwd.hpp"
32 #include "type_vec2.hpp"
33 #include "type_vec3.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 tmat2x3
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 tmat2x3(
72  ctor);
73  GLM_FUNC_DECL explicit tmat2x3(
74  T const & s);
76  T const & x0, T const & y0, T const & z0,
77  T const & x1, T const & y1, T const & z1);
79  col_type const & v0,
80  col_type const & v1);
81 
83  // Conversions
84  template <typename X1, typename Y1, typename Z1, typename X2, typename Y2, typename Z2>
86  X1 const & x1, Y1 const & y1, Z1 const & z1,
87  X2 const & x2, Y2 const & y2, Z2 const & z2);
88 
89  template <typename U, typename V>
91  tvec3<U, P> const & v1,
92  tvec3<V, P> const & v2);
93 
95  // Matrix conversion
96  template <typename U, precision Q>
97  GLM_FUNC_DECL explicit tmat2x3(tmat2x3<U, Q> const & m);
98 
99  GLM_FUNC_DECL explicit tmat2x3(tmat2x2<T, P> const & x);
100  GLM_FUNC_DECL explicit tmat2x3(tmat3x3<T, P> const & x);
101  GLM_FUNC_DECL explicit tmat2x3(tmat4x4<T, P> const & x);
102  GLM_FUNC_DECL explicit tmat2x3(tmat2x4<T, P> const & x);
103  GLM_FUNC_DECL explicit tmat2x3(tmat3x2<T, P> const & x);
104  GLM_FUNC_DECL explicit tmat2x3(tmat3x4<T, P> const & x);
105  GLM_FUNC_DECL explicit tmat2x3(tmat4x2<T, P> const & x);
106  GLM_FUNC_DECL explicit tmat2x3(tmat4x3<T, P> const & x);
107 
108  // Accesses
110  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
111 
113  template <typename U>
115  template <typename U>
117  template <typename U>
119  template <typename U>
121  template <typename U>
123  template <typename U>
125  template <typename U>
127 
129  // Increment and decrement operators
130 
135  };
136 
137  // Binary operators
138 
139  template <typename T, precision P>
141  tmat2x3<T, P> const & m,
142  T const & s);
143 
144  template <typename T, precision P>
146  tmat2x3<T, P> const & m1,
147  tmat2x3<T, P> const & m2);
148 
149  template <typename T, precision P>
151  tmat2x3<T, P> const & m,
152  T const & s);
153 
154  template <typename T, precision P>
156  tmat2x3<T, P> const & m1,
157  tmat2x3<T, P> const & m2);
158 
159  template <typename T, precision P>
161  tmat2x3<T, P> const & m,
162  T const & s);
163 
164  template <typename T, precision P>
166  T const & s,
167  tmat2x3<T, P> const & m);
168 
169  template <typename T, precision P>
171  tmat2x3<T, P> const & m,
172  typename tmat2x3<T, P>::row_type const & v);
173 
174  template <typename T, precision P>
176  typename tmat2x3<T, P>::col_type const & v,
177  tmat2x3<T, P> const & m);
178 
179  template <typename T, precision P>
181  tmat2x3<T, P> const & m1,
182  tmat2x2<T, P> const & m2);
183 
184  template <typename T, precision P>
186  tmat2x3<T, P> const & m1,
187  tmat3x2<T, P> const & m2);
188 
189  template <typename T, precision P>
191  tmat2x3<T, P> const & m1,
192  tmat4x2<T, P> const & m2);
193 
194  template <typename T, precision P>
196  tmat2x3<T, P> const & m,
197  T const & s);
198 
199  template <typename T, precision P>
201  T const & s,
202  tmat2x3<T, P> const & m);
203 
204  // Unary constant operators
205  template <typename T, precision P>
207  tmat2x3<T, P> const & m);
208 
209 }//namespace detail
210 }//namespace glm
211 
212 #ifndef GLM_EXTERNAL_TEMPLATE
213 #include "type_mat2x3.inl"
214 #endif
glm::detail::tmat2x3::type
tmat2x3< T, P > type
Definition: type_mat2x3.hpp:55
glm::detail::tmat2x3::value_type
T value_type
Definition: type_mat2x3.hpp:51
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::tmat2x3::operator/=
GLM_FUNC_DECL tmat2x3< T, P > & operator/=(U s)
detail
glm::detail::tmat2x3::operator=
GLM_FUNC_DECL tmat2x3< T, P > & operator=(tmat2x3< T, P > const &m)
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::tmat2x3::size_type
std::size_t size_type
Definition: type_mat2x3.hpp:52
glm::detail::tmat2x3::operator++
GLM_FUNC_DECL tmat2x3< 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::operator*
GLM_FUNC_DECL tmat2x2< T, P > operator*(tmat2x2< T, P > const &m, T const &s)
glm
Definition: _literals.hpp:31
glm::detail::tmat2x3::transpose_type
tmat3x2< T, P > transpose_type
Definition: type_mat2x3.hpp:56
glm::detail::tmat2x3::operator[]
GLM_FUNC_DECL col_type & operator[](length_t i)
glm::detail::tmat2x3::ctor
ctor
Definition: type_mat2x3.hpp:50
Eigen::Triplet< double >
glm::detail::operator-
GLM_FUNC_DECL tmat2x2< T, P > operator-(tmat2x2< T, P > const &m, T const &s)
glm::detail::tmat2x3::col_type
tvec3< T, P > col_type
Definition: type_mat2x3.hpp:53
glm::detail::tmat2x3::operator+=
GLM_FUNC_DECL tmat2x3< T, P > & operator+=(U s)
type_vec2.hpp
glm::detail::tmat2x3::value
col_type value[2]
Definition: type_mat2x3.hpp:62
glm::detail::tmat2x3::tmat2x3
GLM_FUNC_DECL tmat2x3()
glm::detail::tmat2x3::operator--
GLM_FUNC_DECL tmat2x3< T, P > & operator--()
glm::detail::tmat2x3::operator*=
GLM_FUNC_DECL tmat2x3< T, P > & operator*=(U s)
glm::length_t
int length_t
Definition: setup.hpp:755
glm::detail::tmat2x3::operator-=
GLM_FUNC_DECL tmat2x3< T, P > & operator-=(U s)
glm::detail::tmat2x3::length
GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const
glm::detail::tmat2x3::_null
@ _null
Definition: type_mat2x3.hpp:50
type_vec3.hpp
GLM_FUNC_DECL
#define GLM_FUNC_DECL
Definition: setup.hpp:728
glm::detail::tmat2x3::row_type
tvec2< T, P > row_type
Definition: type_mat2x3.hpp:54
glm::detail::tvec2
Definition: type_mat.hpp:36
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