transform2.hpp
Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 #pragma once
00040 
00041 // Dependency:
00042 #include "../glm.hpp"
00043 #include "../gtx/transform.hpp"
00044 
00045 #if(defined(GLM_MESSAGES) && !defined(GLM_EXT_INCLUDED))
00046 #       pragma message("GLM: GLM_GTX_transform2 extension included")
00047 #endif
00048 
00049 namespace glm
00050 {
00053 
00056         template <typename T, precision P>
00057         GLM_FUNC_DECL detail::tmat3x3<T, P> shearX2D(
00058                 detail::tmat3x3<T, P> const & m, 
00059                 T y);
00060 
00063         template <typename T, precision P> 
00064         GLM_FUNC_DECL detail::tmat3x3<T, P> shearY2D(
00065                 detail::tmat3x3<T, P> const & m, 
00066                 T x);
00067 
00070         template <typename T, precision P> 
00071         GLM_FUNC_DECL detail::tmat4x4<T, P> shearX3D(
00072                 const detail::tmat4x4<T, P> & m,
00073                 T y, 
00074                 T z);
00075 
00078         template <typename T, precision P> 
00079         GLM_FUNC_DECL detail::tmat4x4<T, P> shearY3D(
00080                 const detail::tmat4x4<T, P> & m, 
00081                 T x, 
00082                 T z);
00083 
00086         template <typename T, precision P> 
00087         GLM_FUNC_DECL detail::tmat4x4<T, P> shearZ3D(
00088                 const detail::tmat4x4<T, P> & m, 
00089                 T x, 
00090                 T y);
00091 
00092         //template <typename T> GLM_FUNC_QUALIFIER detail::tmat4x4<T, P> shear(const detail::tmat4x4<T, P> & m, shearPlane, planePoint, angle)
00093         // Identity + tan(angle) * cross(Normal, OnPlaneVector)     0
00094         // - dot(PointOnPlane, normal) * OnPlaneVector              1
00095 
00096         // Reflect functions seem to don't work
00097         //template <typename T> detail::tmat3x3<T, P> reflect2D(const detail::tmat3x3<T, P> & m, const detail::tvec3<T, P>& normal){return reflect2DGTX(m, normal);}                                                                    //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)
00098         //template <typename T> detail::tmat4x4<T, P> reflect3D(const detail::tmat4x4<T, P> & m, const detail::tvec3<T, P>& normal){return reflect3DGTX(m, normal);}                                                                    //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)
00099                 
00102         template <typename T, precision P> 
00103         GLM_FUNC_DECL detail::tmat3x3<T, P> proj2D(
00104                 const detail::tmat3x3<T, P> & m, 
00105                 const detail::tvec3<T, P>& normal);
00106 
00109         template <typename T, precision P> 
00110         GLM_FUNC_DECL detail::tmat4x4<T, P> proj3D(
00111                 const detail::tmat4x4<T, P> & m, 
00112                 const detail::tvec3<T, P>& normal);
00113 
00116         template <typename valType, precision P> 
00117         GLM_FUNC_DECL detail::tmat4x4<valType, P> scaleBias(
00118                 valType scale, 
00119                 valType bias);
00120 
00123         template <typename valType, precision P> 
00124         GLM_FUNC_DECL detail::tmat4x4<valType, P> scaleBias(
00125                 detail::tmat4x4<valType, P> const & m, 
00126                 valType scale, 
00127                 valType bias);
00128 
00130 }// namespace glm
00131 
00132 #include "transform2.inl"


rtabmap
Author(s): Mathieu Labbe
autogenerated on Sat Jul 23 2016 11:44:27