matrix_transform.hpp
Go to the documentation of this file.
1 
46 #pragma once
47 
48 // Dependencies
49 #include "../mat4x4.hpp"
50 #include "../vec2.hpp"
51 #include "../vec3.hpp"
52 #include "../vec4.hpp"
53 #include "../gtc/constants.hpp"
54 
55 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
56 # pragma message("GLM: GLM_GTC_matrix_transform extension included")
57 #endif
58 
59 namespace glm
60 {
63 
84  template <typename T, precision P>
85  GLM_FUNC_DECL detail::tmat4x4<T, P> translate(
86  detail::tmat4x4<T, P> const & m,
87  detail::tvec3<T, P> const & v);
88 
100  template <typename T, precision P>
101  GLM_FUNC_DECL detail::tmat4x4<T, P> rotate(
102  detail::tmat4x4<T, P> const & m,
103  T const & angle,
104  detail::tvec3<T, P> const & axis);
105 
116  template <typename T, precision P>
117  GLM_FUNC_DECL detail::tmat4x4<T, P> scale(
118  detail::tmat4x4<T, P> const & m,
119  detail::tvec3<T, P> const & v);
120 
132  template <typename T>
133  GLM_FUNC_DECL detail::tmat4x4<T, defaultp> ortho(
134  T const & left,
135  T const & right,
136  T const & bottom,
137  T const & top,
138  T const & zNear,
139  T const & zFar);
140 
150  template <typename T>
151  GLM_FUNC_DECL detail::tmat4x4<T, defaultp> ortho(
152  T const & left,
153  T const & right,
154  T const & bottom,
155  T const & top);
156 
167  template <typename T>
168  GLM_FUNC_DECL detail::tmat4x4<T, defaultp> frustum(
169  T const & left,
170  T const & right,
171  T const & bottom,
172  T const & top,
173  T const & near,
174  T const & far);
175 
184  template <typename T>
185  GLM_FUNC_DECL detail::tmat4x4<T, defaultp> perspective(
186  T const & fovy,
187  T const & aspect,
188  T const & near,
189  T const & far);
190 
200  template <typename T>
201  GLM_FUNC_DECL detail::tmat4x4<T, defaultp> perspectiveFov(
202  T const & fov,
203  T const & width,
204  T const & height,
205  T const & near,
206  T const & far);
207 
215  template <typename T>
216  GLM_FUNC_DECL detail::tmat4x4<T, defaultp> infinitePerspective(
217  T fovy, T aspect, T near);
218 
226  template <typename T>
227  GLM_FUNC_DECL detail::tmat4x4<T, defaultp> tweakedInfinitePerspective(
228  T fovy, T aspect, T near);
229 
237  template <typename T>
238  GLM_FUNC_DECL detail::tmat4x4<T, defaultp> tweakedInfinitePerspective(
239  T fovy, T aspect, T near, T ep);
240 
250  template <typename T, typename U, precision P>
251  GLM_FUNC_DECL detail::tvec3<T, P> project(
252  detail::tvec3<T, P> const & obj,
253  detail::tmat4x4<T, P> const & model,
254  detail::tmat4x4<T, P> const & proj,
255  detail::tvec4<U, P> const & viewport);
256 
266  template <typename T, typename U, precision P>
267  GLM_FUNC_DECL detail::tvec3<T, P> unProject(
268  detail::tvec3<T, P> const & win,
269  detail::tmat4x4<T, P> const & model,
270  detail::tmat4x4<T, P> const & proj,
271  detail::tvec4<U, P> const & viewport);
272 
281  template <typename T, precision P, typename U>
282  GLM_FUNC_DECL detail::tmat4x4<T, P> pickMatrix(
283  detail::tvec2<T, P> const & center,
284  detail::tvec2<T, P> const & delta,
285  detail::tvec4<U, P> const & viewport);
286 
294  template <typename T, precision P>
295  GLM_FUNC_DECL detail::tmat4x4<T, P> lookAt(
296  detail::tvec3<T, P> const & eye,
297  detail::tvec3<T, P> const & center,
298  detail::tvec3<T, P> const & up);
299 
301 }//namespace glm
302 
303 #include "matrix_transform.inl"
GLM_FUNC_DECL detail::tmat4x4< T, defaultp > perspectiveFov(T const &fov, T const &width, T const &height, T const &near, T const &far)
GLM_FUNC_DECL detail::tvec3< T, P > axis(detail::tquat< T, P > const &x)
GLM_FUNC_DECL detail::tmat4x4< T, defaultp > tweakedInfinitePerspective(T fovy, T aspect, T near)
GLM_FUNC_DECL detail::tmat4x4< T, P > scale(detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
GLM_FUNC_DECL detail::tmat4x4< T, defaultp > perspective(T const &fovy, T const &aspect, T const &near, T const &far)
GLM_FUNC_DECL detail::tvec3< T, P > unProject(detail::tvec3< T, P > const &win, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
GLM_FUNC_DECL T angle(detail::tquat< T, P > const &x)
GLM_FUNC_DECL detail::tvec3< T, P > project(detail::tvec3< T, P > const &obj, detail::tmat4x4< T, P > const &model, detail::tmat4x4< T, P > const &proj, detail::tvec4< U, P > const &viewport)
GLM_FUNC_DECL vecType proj(vecType const &x, vecType const &Normal)
GLM_FUNC_DECL detail::tmat4x4< T, P > pickMatrix(detail::tvec2< T, P > const &center, detail::tvec2< T, P > const &delta, detail::tvec4< U, P > const &viewport)
GLM_FUNC_DECL detail::tmat4x4< T, defaultp > ortho(T const &left, T const &right, T const &bottom, T const &top, T const &zNear, T const &zFar)
GLM_FUNC_DECL detail::tmat4x4< T, P > lookAt(detail::tvec3< T, P > const &eye, detail::tvec3< T, P > const &center, detail::tvec3< T, P > const &up)
GLM_FUNC_DECL detail::tmat4x4< T, P > translate(detail::tmat4x4< T, P > const &m, detail::tvec3< T, P > const &v)
#define GLM_FUNC_DECL
Definition: setup.hpp:728
GLM_FUNC_DECL detail::tmat4x4< T, defaultp > infinitePerspective(T fovy, T aspect, T near)
GLM_FUNC_DECL detail::tmat4x4< T, P > rotate(detail::tmat4x4< T, P > const &m, T const &angle, detail::tvec3< T, P > const &axis)
GLM_FUNC_DECL detail::tmat4x4< T, defaultp > frustum(T const &left, T const &right, T const &bottom, T const &top, T const &near, T const &far)


rtabmap
Author(s): Mathieu Labbe
autogenerated on Mon Dec 14 2020 03:34:59