type_mat3x2.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 tmat3x2
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 tmat3x2(
72  ctor);
73  GLM_FUNC_DECL explicit tmat3x2(
74  T const & s);
76  T const & x0, T const & y0,
77  T const & x1, T const & y1,
78  T const & x2, T const & y2);
80  col_type const & v0,
81  col_type const & v1,
82  col_type const & v2);
83 
85  // Conversions
86  template<
87  typename X1, typename Y1,
88  typename X2, typename Y2,
89  typename X3, typename Y3>
91  X1 const & x1, Y1 const & y1,
92  X2 const & x2, Y2 const & y2,
93  X3 const & x3, Y3 const & y3);
94 
95  template <typename V1, typename V2, typename V3>
97  tvec2<V1, P> const & v1,
98  tvec2<V2, P> const & v2,
99  tvec2<V3, P> const & v3);
100 
101  // Matrix conversions
102  template <typename U, precision Q>
103  GLM_FUNC_DECL explicit tmat3x2(tmat3x2<U, Q> const & m);
104 
105  GLM_FUNC_DECL explicit tmat3x2(tmat2x2<T, P> const & x);
106  GLM_FUNC_DECL explicit tmat3x2(tmat3x3<T, P> const & x);
107  GLM_FUNC_DECL explicit tmat3x2(tmat4x4<T, P> const & x);
108  GLM_FUNC_DECL explicit tmat3x2(tmat2x3<T, P> const & x);
109  GLM_FUNC_DECL explicit tmat3x2(tmat2x4<T, P> const & x);
110  GLM_FUNC_DECL explicit tmat3x2(tmat3x4<T, P> const & x);
111  GLM_FUNC_DECL explicit tmat3x2(tmat4x2<T, P> const & x);
112  GLM_FUNC_DECL explicit tmat3x2(tmat4x3<T, P> const & x);
113 
114  // Accesses
116  GLM_FUNC_DECL col_type const & operator[](length_t i) const;
117 
119  template <typename U>
121  template <typename U>
123  template <typename U>
125  template <typename U>
127  template <typename U>
129  template <typename U>
131  template <typename U>
133 
135  // Increment and decrement operators
136 
141  };
142 
143  // Binary operators
144  template <typename T, precision P>
146  tmat3x2<T, P> const & m,
147  T const & s);
148 
149  template <typename T, precision P>
151  tmat3x2<T, P> const & m1,
152  tmat3x2<T, P> const & m2);
153 
154  template <typename T, precision P>
156  tmat3x2<T, P> const & m,
157  T const & s);
158 
159  template <typename T, precision P>
161  tmat3x2<T, P> const & m1,
162  tmat3x2<T, P> const & m2);
163 
164  template <typename T, precision P>
166  tmat3x2<T, P> const & m,
167  T const & s);
168 
169  template <typename T, precision P>
171  T const & s,
172  tmat3x2<T, P> const & m);
173 
174  template <typename T, precision P>
176  tmat3x2<T, P> const & m,
177  typename tmat3x2<T, P>::row_type const & v);
178 
179  template <typename T, precision P>
181  typename tmat3x2<T, P>::col_type const & v,
182  tmat3x2<T, P> const & m);
183 
184  template <typename T, precision P>
186  tmat3x2<T, P> const & m1,
187  tmat2x3<T, P> const & m2);
188 
189  template <typename T, precision P>
191  tmat3x2<T, P> const & m1,
192  tmat3x3<T, P> const & m2);
193 
194  template <typename T, precision P>
196  tmat3x2<T, P> const & m1,
197  tmat4x3<T, P> const & m2);
198 
199  template <typename T, precision P>
201  tmat3x2<T, P> const & m,
202  T const & s);
203 
204  template <typename T, precision P>
206  T const & s,
207  tmat3x2<T, P> const & m);
208 
209  // Unary constant operators
210  template <typename T, precision P>
212  tmat3x2<T, P> const & m);
213 
214 }//namespace detail
215 }//namespace glm
216 
217 #ifndef GLM_EXTERNAL_TEMPLATE
218 #include "type_mat3x2.inl"
219 #endif
glm::detail::tmat3x2::operator[]
GLM_FUNC_DECL col_type & operator[](length_t i)
glm::detail::tmat3x2::ctor
ctor
Definition: type_mat3x2.hpp:50
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
glm::detail::tmat3x2::operator+=
GLM_FUNC_DECL tmat3x2< T, P > & operator+=(U s)
detail
glm::detail::tmat3x2::operator--
GLM_FUNC_DECL tmat3x2< T, P > & operator--()
glm::detail::tmat3x2::value
col_type value[3]
Definition: type_mat3x2.hpp:62
glm::detail::tmat3x2::operator*=
GLM_FUNC_DECL tmat3x2< T, P > & operator*=(U s)
glm::detail::tmat3x2::transpose_type
tmat2x3< T, P > transpose_type
Definition: type_mat3x2.hpp:56
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::tmat3x2::row_type
tvec3< T, P > row_type
Definition: type_mat3x2.hpp:54
glm::detail::tmat3x2::type
tmat3x2< T, P > type
Definition: type_mat3x2.hpp:55
glm::detail::tmat3x2::size_type
std::size_t size_type
Definition: type_mat3x2.hpp:52
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::tmat3x2::operator=
GLM_FUNC_DECL tmat3x2< T, P > & operator=(tmat3x2< T, P > const &m)
glm::detail::tmat3x2::operator-=
GLM_FUNC_DECL tmat3x2< T, P > & operator-=(U 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::tmat3x2::value_type
T value_type
Definition: type_mat3x2.hpp:51
Eigen::Triplet< double >
glm::detail::operator-
GLM_FUNC_DECL tmat2x2< T, P > operator-(tmat2x2< T, P > const &m, T const &s)
glm::detail::tmat3x2::tmat3x2
GLM_FUNC_DECL tmat3x2()
type_vec2.hpp
glm::length_t
int length_t
Definition: setup.hpp:755
glm::detail::tmat3x2::length
GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const
glm::detail::tmat3x2::col_type
tvec2< T, P > col_type
Definition: type_mat3x2.hpp:53
glm::detail::tmat3x2::_null
@ _null
Definition: type_mat3x2.hpp:50
glm::detail::tmat3x2::operator/=
GLM_FUNC_DECL tmat3x2< T, P > & operator/=(U s)
type_vec3.hpp
GLM_FUNC_DECL
#define GLM_FUNC_DECL
Definition: setup.hpp:728
glm::detail::tvec2
Definition: type_mat.hpp:36
glm::detail::tmat3x2::operator++
GLM_FUNC_DECL tmat3x2< T, P > & operator++()
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