00001
00002
00004
00005
00006
00007
00009
00010
00011
00012
00014
00015
00017
00018 #ifndef glm_gtx_norm
00019 #define glm_gtx_norm
00020
00021
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 }
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 }
00136 }
00137 }
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