norm.hpp Source File

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List

# norm.hpp

    00001
    00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
    00004 // Created : 2005-12-21
    00005 // Updated : 2008-07-24
    00006 // Licence : This source is under MIT License
    00007 // File    : glm/gtx/norm.hpp
    00009 // Dependency:
    00010 // - GLM core
    00011 // - GLM_GTX_quaternion
    00013 // ToDo:
    00014 // - Study the validity of the notion of length2 to quaternion
    00016
    00017 #ifndef glm_gtx_norm
    00018 #define glm_gtx_norm
    00019
    00020 // Dependency:
    00021 #include "../glm.hpp"
    00022 #include "../gtx/quaternion.hpp"
    00023
    00024 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
    00025 #       pragma message("GLM: GLM_GTX_norm extension included")
    00026 #endif
    00027
    00028 namespace glm
    00029 {
    00030         namespace test{
    00031                 void main_gtx_norm();
    00032         }//namespace test
    00033
    00034         namespace gtx{
    00036         namespace norm
    00037         {
    00040
    00043                 template <typename T>
    00044                 T length2(
    00045                         const T x);
    00046
    00049                 template <typename T>
    00050                 T length2(
    00051                         const detail::tvec2<T> & x);
    00052
    00055                 template <typename T>
    00056                 T length2(
    00057                         const detail::tvec3<T>& x);
    00058
    00061                 template <typename T>
    00062                 T length2(
    00063                         const detail::tvec4<T>& x);
    00064
    00067                 template <typename T>
    00068                 T length2(
    00069                         const detail::tquat<T>& q);
    00070
    00073                 template <typename T>
    00074                 T distance2(
    00075                         const T p0,
    00076                         const T p1);
    00077
    00080                 template <typename T>
    00081                 T distance2(
    00082                         const detail::tvec2<T>& p0,
    00083                         const detail::tvec2<T>& p1);
    00084
    00087                 template <typename T>
    00088                 T distance2(
    00089                         const detail::tvec3<T>& p0,
    00090                         const detail::tvec3<T>& p1);
    00091
    00094                 template <typename T>
    00095                 T distance2(
    00096                         const detail::tvec4<T>& p0,
    00097                         const detail::tvec4<T>& p1);
    00098
    00101                 template <typename T>
    00102                 T l1Norm(
    00103                         const detail::tvec3<T>& x,
    00104                         const detail::tvec3<T>& y);
    00105
    00108                 template <typename T>
    00109                 T l1Norm(
    00110                         const detail::tvec3<T>& v);
    00111
    00114                 template <typename T>
    00115                 T l2Norm(
    00116                         const detail::tvec3<T>& x,
    00117                         const detail::tvec3<T>& y);
    00118
    00121                 template <typename T>
    00122                 T l2Norm(
    00123                         const detail::tvec3<T>& x);
    00124
    00127                 template <typename T>
    00128                 T lxNorm(
    00129                         const detail::tvec3<T>& x,
    00130                         const detail::tvec3<T>& y,
    00131                         unsigned int Depth);
    00132
    00135                 template <typename T>
    00136                 T lxNorm(
    00137                         const detail::tvec3<T>& x,
    00138                         unsigned int Depth);
    00139
    00141
    00142         }//namespace norm
    00143         }//namespace gtx
    00144 }//namespace glm
    00145
    00146 #include "norm.inl"
    00147
    00148 namespace glm{using namespace gtx::norm;}
    00149
    00150 #endif//glm_gtx_norm