GLM Version 0.9.0

func_geometric.hpp

00001 
00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
00004 // Created : 2008-08-03
00005 // Updated : 2010-02-04
00006 // Licence : This source is under MIT License
00007 // File    : glm/core/func_geometric.hpp
00009 
00010 #ifndef glm_core_func_geometric
00011 #define glm_core_func_geometric
00012 
00013 namespace glm
00014 {
00015         namespace test{
00016                 void main_core_func_geometric();
00017         }//namespace test
00018 
00019         namespace core{
00020         namespace function{
00022         namespace geometric{
00023 
00026         template <typename genType> 
00027         typename genType::value_type length(
00028                 genType const & x); 
00029 
00032         template <typename genType> 
00033         typename genType::value_type distance(
00034                 genType const & p0, 
00035                 genType const & p1);
00036 
00039     template <typename genType> 
00040         typename genType::value_type dot(
00041                 genType const & x, 
00042                 genType const & y);
00043 
00046     template <typename T> 
00047         detail::tvec3<T> cross(
00048                 detail::tvec3<T> const & x, 
00049                 detail::tvec3<T> const & y);
00050 
00053         template <typename genType> 
00054         genType normalize(
00055                 genType const & x);
00056 
00059     template <typename genType> 
00060         genType faceforward(
00061                 genType const & N, 
00062                 genType const & I, 
00063                 genType const & Nref);
00064   
00068     template <typename genType> 
00069         genType reflect(
00070                 genType const & I, 
00071                 genType const & N);
00072   
00077     template <typename genType> 
00078         genType refract(
00079                 genType const & I, 
00080                 genType const & N, 
00081                 typename genType::value_type const & eta);
00082 
00083         }//namespace geometric
00084         }//namespace function
00085         }//namespace core
00086 
00087         using namespace core::function::geometric;
00088 }//namespace glm
00089 
00090 #include "func_geometric.inl"
00091 
00092 #endif//glm_core_func_geometric