- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List

transform2.hpp

    00001
    00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
    00004 // Created : 2005-12-21
    00005 // Updated : 2006-11-13
    00006 // Licence : This source is under MIT License
    00007 // File    : glm/gtx/transform2.hpp
    00009 // Dependency:
    00010 // - GLM core
    00011 // - GLM_GTX_transform
    00013
    00014 #ifndef glm_gtx_transform2
    00015 #define glm_gtx_transform2
    00016
    00017 // Dependency:
    00018 #include "../glm.hpp"
    00019 #include "../gtx/transform.hpp"
    00020
    00021 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
    00022 #       pragma message("GLM: GLM_GTX_transform2 extension included")
    00023 #endif
    00024
    00025 namespace glm{
    00026 namespace gtx{
    00027 namespace transform2
    00028 {
    00029         using namespace gtx::transform;
    00030
    00033
    00036         template <typename T>
    00037         detail::tmat3x3<T> shearX2D(
    00038                 detail::tmat3x3<T> const & m,
    00039                 T y);
    00040
    00043         template <typename T>
    00044         detail::tmat3x3<T> shearY2D(
    00045                 detail::tmat3x3<T> const & m,
    00046                 T x);
    00047
    00050         template <typename T>
    00051         detail::tmat4x4<T> shearX3D(
    00052                 const detail::tmat4x4<T> & m,
    00053                 T y,
    00054                 T z);
    00055
    00058         template <typename T>
    00059         detail::tmat4x4<T> shearY3D(
    00060                 const detail::tmat4x4<T> & m,
    00061                 T x,
    00062                 T z);
    00063
    00066         template <typename T>
    00067         detail::tmat4x4<T> shearZ3D(
    00068                 const detail::tmat4x4<T> & m,
    00069                 T x,
    00070                 T y);
    00071
    00072         //template <typename T> GLM_FUNC_QUALIFIER detail::tmat4x4<T> shear(const detail::tmat4x4<T> & m, shearPlane, planePoint, angle)
    00073         // Identity + tan(angle) * cross(Normal, OnPlaneVector)     0
    00074         // - dot(PointOnPlane, normal) * OnPlaneVector              1
    00075
    00076         // Reflect functions seem to don't work
    00077         //template <typename T> detail::tmat3x3<T> reflect2D(const detail::tmat3x3<T> & m, const detail::tvec3<T>& normal){return reflect2DGTX(m, normal);}                                                                     //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)
    00078         //template <typename T> detail::tmat4x4<T> reflect3D(const detail::tmat4x4<T> & m, const detail::tvec3<T>& normal){return reflect3DGTX(m, normal);}                                                                     //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)
    00079
    00082         template <typename T>
    00083         detail::tmat3x3<T> proj2D(
    00084                 const detail::tmat3x3<T> & m,
    00085                 const detail::tvec3<T>& normal);
    00086
    00089         template <typename T>
    00090         detail::tmat4x4<T> proj3D(
    00091                 const detail::tmat4x4<T> & m,
    00092                 const detail::tvec3<T>& normal);
    00093
    00096         template <typename valType>
    00097         detail::tmat4x4<valType> scaleBias(
    00098                 valType scale,
    00099                 valType bias);
    00100
    00103         template <typename valType>
    00104         detail::tmat4x4<valType> scaleBias(
    00105                 detail::tmat4x4<valType> const & m,
    00106                 valType scale,
    00107                 valType bias);
    00108
    00110 }// namespace transform2
    00111 }// namespace gtx
    00112 }// namespace glm
    00113
    00114 #include "transform2.inl"
    00115
    00116 namespace glm{using namespace gtx::transform2;}
    00117
    00118 #endif//glm_gtx_transform2