random.hpp
Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 #ifndef GLM_GTX_random
00040 #define GLM_GTX_random GLM_VERSION
00041 
00042 // Dependency:
00043 #include "../glm.hpp"
00044 #include "../gtc/random.hpp"
00045 
00046 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00047 #       pragma message("GLM: GLM_GTX_random extension included")
00048 #endif
00049 
00050 namespace glm
00051 {
00054 
00057     template <typename T> T signedRand1();
00058         
00059         template <> float signedRand1(); 
00060     template <> double signedRand1(); 
00061     template <typename T> detail::tvec2<T> signedRand2(); 
00062     template <typename T> detail::tvec3<T> signedRand3(); 
00063     template <typename T> detail::tvec4<T> signedRand4(); 
00064     
00065         template <typename T> detail::tvec2<T> normalizedRand2(); 
00066         template <typename T> detail::tvec2<T> normalizedRand2(T Min, T Max); 
00067         template <typename T> detail::tvec3<T> normalizedRand3(); 
00068         template <typename T> detail::tvec3<T> normalizedRand3(T Min, T Max); 
00069 
00070     template <typename T> T compRand1(); 
00071         template <> float compRand1(); 
00072     template <> double compRand1(); 
00073     template <typename T> T compRand1(T Min, T Max); 
00074     template <typename T> detail::tvec2<T> compRand2(T Min, T Max); 
00075     template <typename T> detail::tvec3<T> compRand3(T Min, T Max); 
00076     template <typename T> detail::tvec4<T> compRand4(T Min, T Max); 
00077     template <typename T> detail::tvec2<T> compRand2(const detail::tvec2<T>& Min, const detail::tvec2<T>& Max); 
00078     template <typename T> detail::tvec3<T> compRand3(const detail::tvec3<T>& Min, const detail::tvec3<T>& Max); 
00079     template <typename T> detail::tvec3<T> compRand4(const detail::tvec4<T>& Min, const detail::tvec4<T>& Max); 
00080 
00081     template <typename T> detail::tvec2<T> vecRand2(); 
00082     template <typename T> detail::tvec2<T> vecRand2(T MinRadius, T MaxRadius); 
00083     template <typename T> detail::tvec3<T> vecRand3(); 
00084     template <typename T> detail::tvec3<T> vecRand3(T MinRadius, T MaxRadius); 
00085     template <typename T> detail::tvec4<T> vecRand4(); 
00086     template <typename T> detail::tvec4<T> vecRand4(T MinRadius, T MaxRadius); 
00087 
00088     template <typename T> T gaussRand1(T mean, T std_deviation); 
00089     template <typename T> detail::tvec2<T> gaussRand2(T mean, T std_deviation); 
00090     template <typename T> detail::tvec3<T> gaussRand3(T mean, T std_deviation); 
00091     template <typename T> detail::tvec4<T> gaussRand4(T mean, T std_deviation); 
00092     template <typename T> detail::tvec2<T> gaussRand2(const detail::tvec2<T>& mean, T std_deviation); 
00093     template <typename T> detail::tvec3<T> gaussRand3(const detail::tvec3<T>& mean, T std_deviation); 
00094     template <typename T> detail::tvec4<T> gaussRand4(const detail::tvec4<T>& mean, T std_deviation); 
00095     template <typename T> detail::tvec2<T> gaussRand2(T  mean, const detail::tvec2<T>& std_deviation); 
00096     template <typename T> detail::tvec3<T> gaussRand3(T  mean, const detail::tvec3<T>& std_deviation); 
00097     template <typename T> detail::tvec4<T> gaussRand4(T  mean, const detail::tvec4<T>& std_deviation); 
00098     template <typename T> detail::tvec2<T> gaussRand2(const detail::tvec2<T>& mean, const detail::tvec2<T>& std_deviation); 
00099     template <typename T> detail::tvec3<T> gaussRand3(const detail::tvec3<T>& mean, const detail::tvec3<T>& std_deviation); 
00100     template <typename T> detail::tvec4<T> gaussRand4(const detail::tvec4<T>& mean, const detail::tvec4<T>& std_deviation); 
00101 
00103 }//namespace glm
00104 
00105 #include "random.inl"
00106 
00107 #endif//GLM_GTX_random