00001
00002
00004
00005
00006
00007
00009
00010
00011
00013
00014
00016
00017 #ifndef glm_gtx_norm
00018 #define glm_gtx_norm
00019
00020
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 }
00136 }
00137 }
00138
00139 #include "norm.inl"
00140
00141 namespace glm{using namespace gtx::norm;}
00142
00143 #endif//glm_gtx_norm