# GLM: norm.hpp Source File

- Main Page
- Namespaces
- Files

- File List

# norm.hpp

    00001
    00002 // OpenGL Mathematics Copyright (c) 2005 - 2009 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.h
    00009 // Dependency:
    00010 // - GLM core
    00011 // - GLM_GTX_quaternion
    00012 // - GLM_GTC_double_float
    00014 // ToDo:
    00015 // - Study the validity of the notion of length2 to quaternion
    00017
    00018 #ifndef glm_gtx_norm
    00019 #define glm_gtx_norm
    00020
    00021 // Dependency:
    00022 #include "../glm.hpp"
    00023 #include "../gtc/double_float.hpp"
    00024 #include "../gtx/quaternion.hpp"
    00025
    00026 namespace glm
    00027 {
    00028         namespace test{
    00029                 void main_gtx_norm();
    00030         }//namespace test
    00031
    00032         namespace gtx{
    00034         namespace norm
    00035         {
    00038                 template <typename T>
    00039                 T length2(
    00040                         const T x);
    00041
    00044                 template <typename T>
    00045                 T length2(
    00046                         const detail::tvec2<T> & x);
    00047
    00050                 template <typename T>
    00051                 T length2(
    00052                         const detail::tvec3<T>& x);
    00053
    00056                 template <typename T>
    00057                 T length2(
    00058                         const detail::tvec4<T>& x);
    00059
    00062                 template <typename T>
    00063                 T length2(
    00064                         const detail::tquat<T>& q);
    00065
    00068                 template <typename T>
    00069                 T distance2(
    00070                         const T p0,
    00071                         const T p1);
    00072
    00075                 template <typename T>
    00076                 T distance2(
    00077                         const detail::tvec2<T>& p0,
    00078                         const detail::tvec2<T>& p1);
    00079
    00082                 template <typename T>
    00083                 T distance2(
    00084                         const detail::tvec3<T>& p0,
    00085                         const detail::tvec3<T>& p1);
    00086
    00089                 template <typename T>
    00090                 T distance2(
    00091                         const detail::tvec4<T>& p0,
    00092                         const detail::tvec4<T>& p1);
    00093
    00096                 template <typename T>
    00097                 T l1Norm(
    00098                         const detail::tvec3<T>& x,
    00099                         const detail::tvec3<T>& y);
    00100
    00103                 template <typename T>
    00104                 T l1Norm(
    00105                         const detail::tvec3<T>& v);
    00106
    00109                 template <typename T>
    00110                 T l2Norm(
    00111                         const detail::tvec3<T>& x,
    00112                         const detail::tvec3<T>& y);
    00113
    00116                 template <typename T>
    00117                 T l2Norm(
    00118                         const detail::tvec3<T>& x);
    00119
    00122                 template <typename T>
    00123                 T lxNorm(
    00124                         const detail::tvec3<T>& x,
    00125                         const detail::tvec3<T>& y,
    00126                         unsigned int Depth);
    00127
    00130                 template <typename T>
    00131                 T lxNorm(
    00132                         const detail::tvec3<T>& x,
    00133                         unsigned int Depth);
    00134
    00135         }//namespace norm
    00136         }//namespace gtx
    00137 }//namespace glm
    00138
    00139 #define GLM_GTX_norm namespace gtx::norm
    00140 #ifndef GLM_GTX_GLOBAL
    00141 namespace glm {using GLM_GTX_norm;}
    00142 #endif//GLM_GTX_GLOBAL
    00143
    00144 #include "norm.inl"
    00145
    00146 #endif//glm_gtx_norm