2017-08-15 19:22:51 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" / >
< meta http-equiv = "X-UA-Compatible" content = "IE=9" / >
< meta name = "generator" content = "Doxygen 1.8.10" / >
2017-08-17 17:53:21 +00:00
< title > 0.9.9 API documenation: geometric.hpp Source File< / title >
2017-08-15 19:22:51 +00:00
< link href = "tabs.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "jquery.js" > < / script >
< script type = "text/javascript" src = "dynsections.js" > < / script >
< link href = "search/search.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "search/searchdata.js" > < / script >
< script type = "text/javascript" src = "search/search.js" > < / script >
< script type = "text/javascript" >
$(document).ready(function() { init_search(); });
< / script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" / >
< / head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr style = "height: 56px;" >
< td id = "projectalign" style = "padding-left: 0.5em;" >
< div id = "projectname" > 0.9.9 API documenation
< / div >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
< script type = "text/javascript" >
var searchBox = new SearchBox("searchBox", "search",false,'Search');
< / script >
< div id = "navrow1" class = "tabs" >
< ul class = "tablist" >
< li > < a href = "index.html" > < span > Main  Page< / span > < / a > < / li >
< li > < a href = "modules.html" > < span > Modules< / span > < / a > < / li >
< li class = "current" > < a href = "files.html" > < span > Files< / span > < / a > < / li >
< li >
< div id = "MSearchBox" class = "MSearchBoxInactive" >
< span class = "left" >
< img id = "MSearchSelect" src = "search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
< input type = "text" id = "MSearchField" value = "Search" accesskey = "S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
< / span > < span class = "right" >
< a id = "MSearchClose" href = "javascript:searchBox.CloseResultsWindow()" > < img id = "MSearchCloseImg" border = "0" src = "search/close.png" alt = "" / > < / a >
< / span >
< / div >
< / li >
< / ul >
< / div >
< div id = "navrow2" class = "tabs2" >
< ul class = "tablist" >
< li > < a href = "files.html" > < span > File  List< / span > < / a > < / li >
< / ul >
< / div >
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
< / div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
< iframe src = "javascript:void(0)" frameborder = "0"
name="MSearchResults" id="MSearchResults">
< / iframe >
< / div >
< div id = "nav-path" class = "navpath" >
< ul >
2017-08-17 17:53:21 +00:00
< li class = "navelem" > < a class = "el" href = "dir_934f46a345653ef2b3014a1b37a162c1.html" > G:< / a > < / li > < li class = "navelem" > < a class = "el" href = "dir_98f7f9d41f9d3029bd68cf237526a774.html" > Source< / a > < / li > < li class = "navelem" > < a class = "el" href = "dir_9344afb825aed5e2f5be1d2015dde43c.html" > G-Truc< / a > < / li > < li class = "navelem" > < a class = "el" href = "dir_45973f864e07b2505003ae343b7c8af7.html" > glm< / a > < / li > < li class = "navelem" > < a class = "el" href = "dir_304be5dfae1339a7705426c0b536faf2.html" > glm< / a > < / li > < / ul >
2017-08-15 19:22:51 +00:00
< / div >
< / div > <!-- top -->
< div class = "header" >
< div class = "headertitle" >
2017-08-17 17:53:21 +00:00
< div class = "title" > geometric.hpp< / div > < / div >
2017-08-15 19:22:51 +00:00
< / div > <!-- header -->
< div class = "contents" >
< a href = "a00034.html" > Go to the documentation of this file.< / a > < div class = "fragment" > < div class = "line" > < a name = "l00001" > < / a > < span class = "lineno" > 1< / span >   < / div >
2017-08-17 17:53:21 +00:00
< div class = "line" > < a name = "l00013" > < / a > < span class = "lineno" > 13< / span >   < span class = "preprocessor" > #pragma once< / span > < / div >
2017-08-15 19:22:51 +00:00
< div class = "line" > < a name = "l00014" > < / a > < span class = "lineno" > 14< / span >   < / div >
2017-08-17 17:53:21 +00:00
< div class = "line" > < a name = "l00015" > < / a > < span class = "lineno" > 15< / span >   < span class = "preprocessor" > #include " < a class = "code" href = "a00123.html" > detail/type_vec3.hpp< / a > " < / span > < / div >
< div class = "line" > < a name = "l00016" > < / a > < span class = "lineno" > 16< / span >   < / div >
< div class = "line" > < a name = "l00017" > < / a > < span class = "lineno" > 17< / span >   < span class = "keyword" > namespace < / span > < a class = "code" href = "a00135.html" > glm< / a > < / div >
< div class = "line" > < a name = "l00018" > < / a > < span class = "lineno" > 18< / span >   {< / div >
< div class = "line" > < a name = "l00021" > < / a > < span class = "lineno" > 21< / span >   < / div >
< div class = "line" > < a name = "l00029" > < / a > < span class = "lineno" > 29< / span >   < span class = "keyword" > template< / span > < length_t L, < span class = "keyword" > typename< / span > T, qualifier Q> < / div >
< div class = "line" > < a name = "l00030" > < / a > < span class = "lineno" > 30< / span >   GLM_FUNC_DECL T < a class = "code" href = "a00142.html#ga0cdabbb000834d994a1d6dc56f8f5263" > length< / a > (vec< L, T, Q> < span class = "keyword" > const< / span > & x);< / div >
< div class = "line" > < a name = "l00031" > < / a > < span class = "lineno" > 31< / span >   < / div >
< div class = "line" > < a name = "l00039" > < / a > < span class = "lineno" > 39< / span >   < span class = "keyword" > template< / span > < length_t L, < span class = "keyword" > typename< / span > T, qualifier Q> < / div >
< div class = "line" > < a name = "l00040" > < / a > < span class = "lineno" > 40< / span >   GLM_FUNC_DECL T < a class = "code" href = "a00142.html#gaa68de6c53e20dfb2dac2d20197562e3f" > distance< / a > (vec< L, T, Q> < span class = "keyword" > const< / span > & p0, vec< L, T, Q> < span class = "keyword" > const< / span > & p1);< / div >
< div class = "line" > < a name = "l00041" > < / a > < span class = "lineno" > 41< / span >   < / div >
< div class = "line" > < a name = "l00049" > < / a > < span class = "lineno" > 49< / span >   < span class = "keyword" > template< / span > < length_t L, < span class = "keyword" > typename< / span > T, qualifier Q> < / div >
< div class = "line" > < a name = "l00050" > < / a > < span class = "lineno" > 50< / span >   GLM_FUNC_DECL T < a class = "code" href = "a00142.html#gaad6c5d9d39bdc0bf43baf1b22e147a0a" > dot< / a > (vec< L, T, Q> < span class = "keyword" > const< / span > & x, vec< L, T, Q> < span class = "keyword" > const< / span > & y);< / div >
< div class = "line" > < a name = "l00051" > < / a > < span class = "lineno" > 51< / span >   < / div >
< div class = "line" > < a name = "l00058" > < / a > < span class = "lineno" > 58< / span >   < span class = "keyword" > template< / span > < < span class = "keyword" > typename< / span > T, qualifier Q> < / div >
< div class = "line" > < a name = "l00059" > < / a > < span class = "lineno" > 59< / span >   GLM_FUNC_DECL vec< 3, T, Q> < a class = "code" href = "a00142.html#gaeeec0794212fe84fc9d261de067c9587" > cross< / a > (vec< 3, T, Q> < span class = "keyword" > const< / span > & x, vec< 3, T, Q> < span class = "keyword" > const< / span > & y);< / div >
< div class = "line" > < a name = "l00060" > < / a > < span class = "lineno" > 60< / span >   < / div >
< div class = "line" > < a name = "l00069" > < / a > < span class = "lineno" > 69< / span >   < span class = "keyword" > template< / span > < length_t L, < span class = "keyword" > typename< / span > T, qualifier Q> < / div >
< div class = "line" > < a name = "l00070" > < / a > < span class = "lineno" > 70< / span >   GLM_FUNC_DECL vec< L, T, Q> < a class = "code" href = "a00142.html#ga3b8d3dcae77870781392ed2902cce597" > normalize< / a > (vec< L, T, Q> < span class = "keyword" > const< / span > & x);< / div >
< div class = "line" > < a name = "l00071" > < / a > < span class = "lineno" > 71< / span >   < / div >
< div class = "line" > < a name = "l00079" > < / a > < span class = "lineno" > 79< / span >   < span class = "keyword" > template< / span > < length_t L, < span class = "keyword" > typename< / span > T, qualifier Q> < / div >
< div class = "line" > < a name = "l00080" > < / a > < span class = "lineno" > 80< / span >   GLM_FUNC_DECL vec< L, T, Q> < a class = "code" href = "a00142.html#ga7aed0a36c738169402404a3a5d54e43b" > faceforward< / a > (< / div >
< div class = "line" > < a name = "l00081" > < / a > < span class = "lineno" > 81< / span >   vec< L, T, Q> < span class = "keyword" > const< / span > & N,< / div >
< div class = "line" > < a name = "l00082" > < / a > < span class = "lineno" > 82< / span >   vec< L, T, Q> < span class = "keyword" > const< / span > & I,< / div >
< div class = "line" > < a name = "l00083" > < / a > < span class = "lineno" > 83< / span >   vec< L, T, Q> < span class = "keyword" > const< / span > & Nref);< / div >
< div class = "line" > < a name = "l00084" > < / a > < span class = "lineno" > 84< / span >   < / div >
< div class = "line" > < a name = "l00093" > < / a > < span class = "lineno" > 93< / span >   < span class = "keyword" > template< / span > < length_t L, < span class = "keyword" > typename< / span > T, qualifier Q> < / div >
< div class = "line" > < a name = "l00094" > < / a > < span class = "lineno" > 94< / span >   GLM_FUNC_DECL vec< L, T, Q> < a class = "code" href = "a00142.html#ga5631dd1d5618de5450b1ea3cf3e94905" > reflect< / a > (< / div >
< div class = "line" > < a name = "l00095" > < / a > < span class = "lineno" > 95< / span >   vec< L, T, Q> < span class = "keyword" > const< / span > & I,< / div >
< div class = "line" > < a name = "l00096" > < / a > < span class = "lineno" > 96< / span >   vec< L, T, Q> < span class = "keyword" > const< / span > & N);< / div >
< div class = "line" > < a name = "l00097" > < / a > < span class = "lineno" > 97< / span >   < / div >
< div class = "line" > < a name = "l00107" > < / a > < span class = "lineno" > 107< / span >   < span class = "keyword" > template< / span > < length_t L, < span class = "keyword" > typename< / span > T, qualifier Q> < / div >
< div class = "line" > < a name = "l00108" > < / a > < span class = "lineno" > 108< / span >   GLM_FUNC_DECL vec< L, T, Q> < a class = "code" href = "a00142.html#ga01da3dff9e2ef6b9d4915c3047e22b74" > refract< / a > (< / div >
< div class = "line" > < a name = "l00109" > < / a > < span class = "lineno" > 109< / span >   vec< L, T, Q> < span class = "keyword" > const< / span > & I,< / div >
< div class = "line" > < a name = "l00110" > < / a > < span class = "lineno" > 110< / span >   vec< L, T, Q> < span class = "keyword" > const< / span > & N,< / div >
< div class = "line" > < a name = "l00111" > < / a > < span class = "lineno" > 111< / span >   T eta);< / div >
< div class = "line" > < a name = "l00112" > < / a > < span class = "lineno" > 112< / span >   < / div >
< div class = "line" > < a name = "l00114" > < / a > < span class = "lineno" > 114< / span >   }< span class = "comment" > //namespace glm< / span > < / div >
< div class = "line" > < a name = "l00115" > < / a > < span class = "lineno" > 115< / span >   < / div >
< div class = "line" > < a name = "l00116" > < / a > < span class = "lineno" > 116< / span >   < span class = "preprocessor" > #include " detail/func_geometric.inl" < / span > < / div >
< div class = "ttc" id = "a00142_html_gaad6c5d9d39bdc0bf43baf1b22e147a0a" > < div class = "ttname" > < a href = "a00142.html#gaad6c5d9d39bdc0bf43baf1b22e147a0a" > glm::dot< / a > < / div > < div class = "ttdeci" > GLM_FUNC_DECL T dot(vec< L, T, Q > const & x, vec< L, T, Q > const & y)< / div > < div class = "ttdoc" > Returns the dot product of x and y, i.e., result = x * y. < / div > < / div >
< div class = "ttc" id = "a00135_html" > < div class = "ttname" > < a href = "a00135.html" > glm< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "a00015_source.html#l00020" > common.hpp:20< / a > < / div > < / div >
< div class = "ttc" id = "a00142_html_ga7aed0a36c738169402404a3a5d54e43b" > < div class = "ttname" > < a href = "a00142.html#ga7aed0a36c738169402404a3a5d54e43b" > glm::faceforward< / a > < / div > < div class = "ttdeci" > GLM_FUNC_DECL vec< L, T, Q > faceforward(vec< L, T, Q > const & N, vec< L, T, Q > const & I, vec< L, T, Q > const & Nref)< / div > < div class = "ttdoc" > If dot(Nref, I) < 0.0 , return N , otherwise , return -N . < / div > < / div >
< div class = "ttc" id = "a00123_html" > < div class = "ttname" > < a href = "a00123.html" > type_vec3.hpp< / a > < / div > < div class = "ttdoc" > Core features < / div > < / div >
< div class = "ttc" id = "a00142_html_gaeeec0794212fe84fc9d261de067c9587" > < div class = "ttname" > < a href = "a00142.html#gaeeec0794212fe84fc9d261de067c9587" > glm::cross< / a > < / div > < div class = "ttdeci" > GLM_FUNC_DECL vec< 3, T, Q > cross(vec< 3, T, Q > const & x, vec< 3, T, Q > const & y)< / div > < div class = "ttdoc" > Returns the cross product of x and y. < / div > < / div >
< div class = "ttc" id = "a00142_html_gaa68de6c53e20dfb2dac2d20197562e3f" > < div class = "ttname" > < a href = "a00142.html#gaa68de6c53e20dfb2dac2d20197562e3f" > glm::distance< / a > < / div > < div class = "ttdeci" > GLM_FUNC_DECL T distance(vec< L, T, Q > const & p0, vec< L, T, Q > const & p1)< / div > < div class = "ttdoc" > Returns the distance betwwen p0 and p1, i.e., length(p0 - p1). < / div > < / div >
< div class = "ttc" id = "a00142_html_ga01da3dff9e2ef6b9d4915c3047e22b74" > < div class = "ttname" > < a href = "a00142.html#ga01da3dff9e2ef6b9d4915c3047e22b74" > glm::refract< / a > < / div > < div class = "ttdeci" > GLM_FUNC_DECL vec< L, T, Q > refract(vec< L, T, Q > const & I, vec< L, T, Q > const & N, T eta)< / div > < div class = "ttdoc" > For the incident vector I and surface normal N, and the ratio of indices of refraction eta...< / div > < / div >
< div class = "ttc" id = "a00142_html_ga0cdabbb000834d994a1d6dc56f8f5263" > < div class = "ttname" > < a href = "a00142.html#ga0cdabbb000834d994a1d6dc56f8f5263" > glm::length< / a > < / div > < div class = "ttdeci" > GLM_FUNC_DECL T length(vec< L, T, Q > const & x)< / div > < div class = "ttdoc" > Returns the length of x, i.e., sqrt(x * x). < / div > < / div >
< div class = "ttc" id = "a00142_html_ga5631dd1d5618de5450b1ea3cf3e94905" > < div class = "ttname" > < a href = "a00142.html#ga5631dd1d5618de5450b1ea3cf3e94905" > glm::reflect< / a > < / div > < div class = "ttdeci" > GLM_FUNC_DECL vec< L, T, Q > reflect(vec< L, T, Q > const & I, vec< L, T, Q > const & N)< / div > < div class = "ttdoc" > For the incident vector I and surface orientation N, returns the reflection direction : result = I - ...< / div > < / div >
< div class = "ttc" id = "a00142_html_ga3b8d3dcae77870781392ed2902cce597" > < div class = "ttname" > < a href = "a00142.html#ga3b8d3dcae77870781392ed2902cce597" > glm::normalize< / a > < / div > < div class = "ttdeci" > GLM_FUNC_DECL vec< L, T, Q > normalize(vec< L, T, Q > const & x)< / div > < div class = "ttdoc" > Returns a vector in the same direction as x but with length of 1. < / div > < / div >
2017-08-15 19:22:51 +00:00
< / div > <!-- fragment --> < / div > <!-- contents -->
<!-- start footer part -->
< hr class = "footer" / > < address class = "footer" > < small >
Generated by   < a href = "http://www.doxygen.org/index.html" >
< img class = "footer" src = "doxygen.png" alt = "doxygen" / >
< / a > 1.8.10
< / small > < / address >
< / body >
< / html >