- 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 namespace gtx{
    00030 namespace norm
    00031 {
    00034
    00037         template <typename T>
    00038         T length2(
    00039                 const T x);
    00040
    00043         template <typename T>
    00044         T length2(
    00045                 const detail::tvec2<T> & x);
    00046
    00049         template <typename T>
    00050         T length2(
    00051                 const detail::tvec3<T>& x);
    00052
    00055         template <typename T>
    00056         T length2(
    00057                 const detail::tvec4<T>& x);
    00058
    00061         template <typename T>
    00062         T length2(
    00063                 const detail::tquat<T>& q);
    00064
    00067         template <typename T>
    00068         T distance2(
    00069                 const T p0,
    00070                 const T p1);
    00071
    00074         template <typename T>
    00075         T distance2(
    00076                 const detail::tvec2<T>& p0,
    00077                 const detail::tvec2<T>& p1);
    00078
    00081         template <typename T>
    00082         T distance2(
    00083                 const detail::tvec3<T>& p0,
    00084                 const detail::tvec3<T>& p1);
    00085
    00088         template <typename T>
    00089         T distance2(
    00090                 const detail::tvec4<T>& p0,
    00091                 const detail::tvec4<T>& p1);
    00092
    00095         template <typename T>
    00096         T l1Norm(
    00097                 const detail::tvec3<T>& x,
    00098                 const detail::tvec3<T>& y);
    00099
    00102         template <typename T>
    00103         T l1Norm(
    00104                 const detail::tvec3<T>& v);
    00105
    00108         template <typename T>
    00109         T l2Norm(
    00110                 const detail::tvec3<T>& x,
    00111                 const detail::tvec3<T>& y);
    00112
    00115         template <typename T>
    00116         T l2Norm(
    00117                 const detail::tvec3<T>& x);
    00118
    00121         template <typename T>
    00122         T lxNorm(
    00123                 const detail::tvec3<T>& x,
    00124                 const detail::tvec3<T>& y,
    00125                 unsigned int Depth);
    00126
    00129         template <typename T>
    00130         T lxNorm(
    00131                 const detail::tvec3<T>& x,
    00132                 unsigned int Depth);
    00133
    00135 }//namespace norm
    00136 }//namespace gtx
    00137 }//namespace glm
    00138
    00139 #include "norm.inl"
    00140
    00141 namespace glm{using namespace gtx::norm;}
    00142
    00143 #endif//glm_gtx_norm