source: OGRE/trunk/ogrenew/Docs/api/html/OgreMath_8h-source.html @ 692

Revision 692, 71.6 KB checked in by mattausch, 19 years ago (diff)

adding ogre 1.2 and dependencies

Line 
1<html>
2<head>
3<title>OgreMath.h Source File - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
4<link type="text/css" rel="stylesheet" href="style.css">
5</head>
6
7<body>
8<!-- Generated by Doxygen 1.3.6 -->
9<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
10<h1>OgreMath.h</h1><a href="OgreMath_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
1100002 <span class="comment">-----------------------------------------------------------------------------</span>
1200003 <span class="comment">This source file is part of OGRE</span>
1300004 <span class="comment">    (Object-oriented Graphics Rendering Engine)</span>
1400005 <span class="comment">For the latest info, see http://www.ogre3d.org/</span>
1500006 <span class="comment"></span>
1600007 <span class="comment">Copyright (c) 2000-2005 The OGRE Team</span>
1700008 <span class="comment">Also see acknowledgements in Readme.html</span>
1800009 <span class="comment"></span>
1900010 <span class="comment">This program is free software; you can redistribute it and/or modify it under</span>
2000011 <span class="comment">the terms of the GNU Lesser General Public License as published by the Free Software</span>
2100012 <span class="comment">Foundation; either version 2 of the License, or (at your option) any later</span>
2200013 <span class="comment">version.</span>
2300014 <span class="comment"></span>
2400015 <span class="comment">This program is distributed in the hope that it will be useful, but WITHOUT</span>
2500016 <span class="comment">ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS</span>
2600017 <span class="comment">FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</span>
2700018 <span class="comment"></span>
2800019 <span class="comment">You should have received a copy of the GNU Lesser General Public License along with</span>
2900020 <span class="comment">this program; if not, write to the Free Software Foundation, Inc., 59 Temple</span>
3000021 <span class="comment">Place - Suite 330, Boston, MA 02111-1307, USA, or go to</span>
3100022 <span class="comment">http://www.gnu.org/copyleft/lesser.txt.</span>
3200023 <span class="comment">-----------------------------------------------------------------------------</span>
3300024 <span class="comment">*/</span>
3400025 <span class="preprocessor">#ifndef __Math_H__</span>
3500026 <span class="preprocessor"></span><span class="preprocessor">#define __Math_H__</span>
3600027 <span class="preprocessor"></span>
3700028 <span class="preprocessor">#include "<a class="code" href="OgrePrerequisites_8h.html">OgrePrerequisites.h</a>"</span>
3800029
3900030 <span class="keyword">namespace </span>Ogre
4000031 {
41<a name="l00037"></a><a class="code" href="classOgre_1_1Radian.html">00037</a>     <span class="keyword">class </span><a class="code" href="classOgre_1_1Radian.html">Radian</a>
4200038     {
43<a name="l00039"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">00039</a>         <a class="code" href="namespaceOgre.html#a465">Real</a> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a>;
4400040
4500041     <span class="keyword">public</span>:
46<a name="l00042"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana0">00042</a>         <span class="keyword">explicit</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana0">Radian</a> ( <a class="code" href="namespaceOgre.html#a465">Real</a> r=0 ) : <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a>(r) {}
4700043         <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana0">Radian</a> ( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d );
48<a name="l00044"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana2">00044</a>         <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana2">operator = </a>( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a465">Real</a>&amp; f ) { <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> = f; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
49<a name="l00045"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana3">00045</a>         <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana2">operator = </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; r ) { <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> = r.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a>; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
5000046         <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana2">operator = </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d );
5100047
5200048         <a class="code" href="namespaceOgre.html#a465">Real</a> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana5">valueDegrees</a>() <span class="keyword">const</span>; <span class="comment">// see bottom of this file</span>
53<a name="l00049"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana6">00049</a>         <a class="code" href="namespaceOgre.html#a465">Real</a> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana6">valueRadians</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a>; }
5400050         <a class="code" href="namespaceOgre.html#a465">Real</a> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana7">valueAngleUnits</a>() <span class="keyword">const</span>;
5500051
56<a name="l00052"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana8">00052</a>         <a class="code" href="classOgre_1_1Radian.html">Radian</a> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana8">operator + </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; r )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana0">Radian</a> ( <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> + r.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> ); }
5700053         <a class="code" href="classOgre_1_1Radian.html">Radian</a> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana8">operator + </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d ) <span class="keyword">const</span>;
58<a name="l00054"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana10">00054</a>         <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana10">operator += </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; r ) { <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> += r.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a>; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
5900055         <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana10">operator += </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d );
60<a name="l00056"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana12">00056</a>         <a class="code" href="classOgre_1_1Radian.html">Radian</a> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana12">operator - </a>() { <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana0">Radian</a>(-<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a>); }
61<a name="l00057"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana13">00057</a>         <a class="code" href="classOgre_1_1Radian.html">Radian</a> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana12">operator - </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; r )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana0">Radian</a> ( <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> - r.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> ); }
6200058         <a class="code" href="classOgre_1_1Radian.html">Radian</a> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana12">operator - </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d ) <span class="keyword">const</span>;
63<a name="l00059"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana15">00059</a>         <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana15">operator -= </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; r ) { <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> -= r.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a>; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
6400060         <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana15">operator -= </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d );
65<a name="l00061"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana17">00061</a>         <a class="code" href="classOgre_1_1Radian.html">Radian</a> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana17">operator * </a>( <a class="code" href="namespaceOgre.html#a465">Real</a> f )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana0">Radian</a> ( <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> * f ); }
66<a name="l00062"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana18">00062</a>         <a class="code" href="classOgre_1_1Radian.html">Radian</a> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana17">operator * </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; f )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana0">Radian</a> ( <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> * f.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> ); }
67<a name="l00063"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana19">00063</a>         <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana19">operator *= </a>( <a class="code" href="namespaceOgre.html#a465">Real</a> f ) { <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> *= f; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
68<a name="l00064"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana20">00064</a>         <a class="code" href="classOgre_1_1Radian.html">Radian</a> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana20">operator / </a>( <a class="code" href="namespaceOgre.html#a465">Real</a> f )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana0">Radian</a> ( <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> / f ); }
69<a name="l00065"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana21">00065</a>         <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana21">operator /= </a>( <a class="code" href="namespaceOgre.html#a465">Real</a> f ) { <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> /= f; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
7000066
71<a name="l00067"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana22">00067</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana22">operator &lt;  </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; r )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> &lt;  r.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a>; }
72<a name="l00068"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana23">00068</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana23">operator &lt;= </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; r )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> &lt;= r.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a>; }
73<a name="l00069"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana24">00069</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana24">operator == </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; r )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> == r.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a>; }
74<a name="l00070"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana25">00070</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana25">operator != </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; r )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> != r.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a>; }
75<a name="l00071"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana26">00071</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana26">operator &gt;= </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; r )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> &gt;= r.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a>; }
76<a name="l00072"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana27">00072</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana27">operator &gt;  </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; r )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> &gt;  r.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a>; }
7700073     };
7800074
79<a name="l00080"></a><a class="code" href="classOgre_1_1Degree.html">00080</a>     <span class="keyword">class </span><a class="code" href="classOgre_1_1Degree.html">Degree</a>
8000081     {
81<a name="l00082"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">00082</a>         <a class="code" href="namespaceOgre.html#a465">Real</a> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a>; <span class="comment">// if you get an error here - make sure to define/typedef 'Real' first</span>
8200083
8300084     <span class="keyword">public</span>:
84<a name="l00085"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea0">00085</a>         <span class="keyword">explicit</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea0">Degree</a> ( <a class="code" href="namespaceOgre.html#a465">Real</a> d=0 ) : <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a>(d) {}
85<a name="l00086"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea1">00086</a>         <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea0">Degree</a> ( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; r ) : <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a>(r.valueDegrees()) {}
86<a name="l00087"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea2">00087</a>         <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea2">operator = </a>( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a465">Real</a>&amp; f ) { <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> = f; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
87<a name="l00088"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea3">00088</a>         <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea2">operator = </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d ) { <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> = d.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a>; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
88<a name="l00089"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea4">00089</a>         <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea2">operator = </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; r ) { <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> = r.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana5">valueDegrees</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
8900090
90<a name="l00091"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea5">00091</a>         <a class="code" href="namespaceOgre.html#a465">Real</a> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea5">valueDegrees</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a>; }
9100092         <a class="code" href="namespaceOgre.html#a465">Real</a> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea6">valueRadians</a>() <span class="keyword">const</span>; <span class="comment">// see bottom of this file</span>
9200093         <a class="code" href="namespaceOgre.html#a465">Real</a> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea7">valueAngleUnits</a>() <span class="keyword">const</span>;
9300094
94<a name="l00095"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea8">00095</a>         <a class="code" href="classOgre_1_1Degree.html">Degree</a> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea8">operator + </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea0">Degree</a> ( <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> + d.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> ); }
95<a name="l00096"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea9">00096</a>         <a class="code" href="classOgre_1_1Degree.html">Degree</a> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea8">operator + </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; r )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea0">Degree</a> ( <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> + r.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana5">valueDegrees</a>() ); }
96<a name="l00097"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea10">00097</a>         <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea10">operator += </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d ) { <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> += d.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a>; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
97<a name="l00098"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea11">00098</a>         <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea10">operator += </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; r ) { <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> += r.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana5">valueDegrees</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
98<a name="l00099"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea12">00099</a>         <a class="code" href="classOgre_1_1Degree.html">Degree</a> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea12">operator - </a>() { <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea0">Degree</a>(-<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a>); }
99<a name="l00100"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea13">00100</a>         <a class="code" href="classOgre_1_1Degree.html">Degree</a> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea12">operator - </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea0">Degree</a> ( <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> - d.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> ); }
100<a name="l00101"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea14">00101</a>         <a class="code" href="classOgre_1_1Degree.html">Degree</a> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea12">operator - </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; r )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea0">Degree</a> ( <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> - r.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana5">valueDegrees</a>() ); }
101<a name="l00102"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea15">00102</a>         <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea15">operator -= </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d ) { <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> -= d.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a>; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
102<a name="l00103"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea16">00103</a>         <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea15">operator -= </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; r ) { <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> -= r.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana5">valueDegrees</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
103<a name="l00104"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea17">00104</a>         <a class="code" href="classOgre_1_1Degree.html">Degree</a> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea17">operator * </a>( <a class="code" href="namespaceOgre.html#a465">Real</a> f )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea0">Degree</a> ( <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> * f ); }
104<a name="l00105"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea18">00105</a>         <a class="code" href="classOgre_1_1Degree.html">Degree</a> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea17">operator * </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; f )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea0">Degree</a> ( <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> * f.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> ); }
105<a name="l00106"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea19">00106</a>         <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea19">operator *= </a>( <a class="code" href="namespaceOgre.html#a465">Real</a> f ) { <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> *= f; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
106<a name="l00107"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea20">00107</a>         <a class="code" href="classOgre_1_1Degree.html">Degree</a> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea20">operator / </a>( <a class="code" href="namespaceOgre.html#a465">Real</a> f )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea0">Degree</a> ( <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> / f ); }
107<a name="l00108"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea21">00108</a>         <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea21">operator /= </a>( <a class="code" href="namespaceOgre.html#a465">Real</a> f ) { <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> /= f; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }
10800109
109<a name="l00110"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea22">00110</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea22">operator &lt;  </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> &lt;  d.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a>; }
110<a name="l00111"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea23">00111</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea23">operator &lt;= </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> &lt;= d.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a>; }
111<a name="l00112"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea24">00112</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea24">operator == </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> == d.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a>; }
112<a name="l00113"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea25">00113</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea25">operator != </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> != d.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a>; }
113<a name="l00114"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea26">00114</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea26">operator &gt;= </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> &gt;= d.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a>; }
114<a name="l00115"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea27">00115</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea27">operator &gt;  </a>( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> &gt;  d.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a>; }
11500116     };
11600117
117<a name="l00124"></a><a class="code" href="classOgre_1_1Angle.html">00124</a>     <span class="keyword">class </span><a class="code" href="classOgre_1_1Angle.html">Angle</a>
11800125     {
119<a name="l00126"></a><a class="code" href="classOgre_1_1Angle.html#Ogre_1_1Angler0">00126</a>         <a class="code" href="namespaceOgre.html#a465">Real</a> <a class="code" href="classOgre_1_1Angle.html#Ogre_1_1Angler0">mAngle</a>;
12000127     <span class="keyword">public</span>:
121<a name="l00128"></a><a class="code" href="classOgre_1_1Angle.html#Ogre_1_1Anglea0">00128</a>         <span class="keyword">explicit</span> <a class="code" href="classOgre_1_1Angle.html#Ogre_1_1Anglea0">Angle</a> ( <a class="code" href="namespaceOgre.html#a465">Real</a> angle ) : <a class="code" href="classOgre_1_1Angle.html#Ogre_1_1Angler0">mAngle</a>(angle) {}
12200129         <a class="code" href="classOgre_1_1Angle.html#Ogre_1_1Anglea1">operator Radian</a>();
12300130         <a class="code" href="classOgre_1_1Angle.html#Ogre_1_1Anglea2">operator Degree</a>();
12400131     };
12500132
12600133     <span class="comment">// these functions could not be defined within the class definition of class</span>
12700134     <span class="comment">// Radian because they required class Degree to be defined</span>
128<a name="l00135"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana1">00135</a>     <span class="keyword">inline</span> Radian::Radian ( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d ) : mRad(d.valueRadians()) {
12900136     }
130<a name="l00137"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana4">00137</a>     <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; Radian::operator = ( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d ) {
13100138         <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> = d.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea6">valueRadians</a>(); <span class="keywordflow">return</span> *<span class="keyword">this</span>;
13200139     }
133<a name="l00140"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana9">00140</a>     <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a> Radian::operator + ( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d )<span class="keyword"> const </span>{
13400141         <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana0">Radian</a> ( <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> + d.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea6">valueRadians</a>() );
13500142     }
136<a name="l00143"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana11">00143</a>     <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; Radian::operator += ( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d ) {
13700144         <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> += d.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea6">valueRadians</a>();
13800145         <span class="keywordflow">return</span> *<span class="keyword">this</span>;
13900146     }
140<a name="l00147"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana14">00147</a>     <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a> Radian::operator - ( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d )<span class="keyword"> const </span>{
14100148         <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana0">Radian</a> ( <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> - d.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea6">valueRadians</a>() );
14200149     }
143<a name="l00150"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana16">00150</a>     <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; Radian::operator -= ( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; d ) {
14400151         <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> -= d.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea6">valueRadians</a>();
14500152         <span class="keywordflow">return</span> *<span class="keyword">this</span>;
14600153     }
14700154
148<a name="l00165"></a><a class="code" href="classOgre_1_1Math.html">00165</a>     <span class="keyword">class </span><a class="code" href="OgrePlatform_8h.html#a16">_OgreExport</a> Math
14900166     {
15000167    <span class="keyword">public</span>:
151<a name="l00173"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathw2">00173</a>        <span class="keyword">enum</span> AngleUnit
15200174        {
15300175            AU_DEGREE,
15400176            AU_RADIAN
15500177        };
15600178
15700179     <span class="keyword">protected</span>:
15800180        <span class="comment">// angle units used by the api</span>
159<a name="l00181"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Matht0">00181</a>        <span class="keyword">static</span> AngleUnit msAngleUnit;
16000182
161<a name="l00184"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Matht1">00184</a>         <span class="keyword">static</span> <span class="keywordtype">int</span> mTrigTableSize;
16200185
163<a name="l00187"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Matht2">00187</a>         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a465">Real</a> mTrigTableFactor;
164<a name="l00188"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Matht3">00188</a>         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a465">Real</a>* mSinTable;
165<a name="l00189"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Matht4">00189</a>         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a465">Real</a>* mTanTable;
16600190
16700193         <span class="keywordtype">void</span> buildTrigTables();
16800194
16900195         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a465">Real</a> SinTable (<a class="code" href="namespaceOgre.html#a465">Real</a> fValue);
17000196         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a465">Real</a> TanTable (<a class="code" href="namespaceOgre.html#a465">Real</a> fValue);
17100197     <span class="keyword">public</span>:
17200203         Math(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> trigTableSize = 4096);
17300204
17400207         ~Math();
17500208
176<a name="l00209"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe0">00209</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> IAbs (<span class="keywordtype">int</span> iValue) { <span class="keywordflow">return</span> ( iValue &gt;= 0 ? iValue : -iValue ); }
177<a name="l00210"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe1">00210</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> ICeil (<span class="keywordtype">float</span> fValue) { <span class="keywordflow">return</span> int(ceil(fValue)); }
178<a name="l00211"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe2">00211</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> IFloor (<span class="keywordtype">float</span> fValue) { <span class="keywordflow">return</span> int(floor(fValue)); }
17900212         <span class="keyword">static</span> <span class="keywordtype">int</span> ISign (<span class="keywordtype">int</span> iValue);
18000213
181<a name="l00214"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe4">00214</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Abs (<a class="code" href="namespaceOgre.html#a465">Real</a> fValue) { <span class="keywordflow">return</span> <a class="code" href="namespaceOgre.html#a465">Real</a>(fabs(fValue)); }
182<a name="l00215"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe5">00215</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a> Abs (<span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; dValue) { <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>(fabs(dValue.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea5">valueDegrees</a>())); }
183<a name="l00216"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe6">00216</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a> Abs (<span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; rValue) { <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>(fabs(rValue.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana6">valueRadians</a>())); }
18400217         <span class="keyword">static</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a> ACos (<a class="code" href="namespaceOgre.html#a465">Real</a> fValue);
18500218         <span class="keyword">static</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a> ASin (<a class="code" href="namespaceOgre.html#a465">Real</a> fValue);
186<a name="l00219"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe9">00219</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a> ATan (<a class="code" href="namespaceOgre.html#a465">Real</a> fValue) { <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>(atan(fValue)); }
187<a name="l00220"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe10">00220</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a> ATan2 (<a class="code" href="namespaceOgre.html#a465">Real</a> fY, <a class="code" href="namespaceOgre.html#a465">Real</a> fX) { <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>(atan2(fY,fX)); }
188<a name="l00221"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe11">00221</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Ceil (<a class="code" href="namespaceOgre.html#a465">Real</a> fValue) { <span class="keywordflow">return</span> <a class="code" href="namespaceOgre.html#a465">Real</a>(ceil(fValue)); }
18900222
190<a name="l00230"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe12">00230</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Cos (<span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; fValue, <span class="keywordtype">bool</span> useTables = <span class="keyword">false</span>) {
19100231             <span class="keywordflow">return</span> (!useTables) ? <a class="code" href="namespaceOgre.html#a465">Real</a>(cos(fValue.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana6">valueRadians</a>())) : SinTable(fValue.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana6">valueRadians</a>() + HALF_PI);
19200232         }
193<a name="l00240"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe13">00240</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Cos (<a class="code" href="namespaceOgre.html#a465">Real</a> fValue, <span class="keywordtype">bool</span> useTables = <span class="keyword">false</span>) {
19400241             <span class="keywordflow">return</span> (!useTables) ? <a class="code" href="namespaceOgre.html#a465">Real</a>(cos(fValue)) : SinTable(fValue + HALF_PI);
19500242         }
19600243
197<a name="l00244"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe14">00244</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Exp (<a class="code" href="namespaceOgre.html#a465">Real</a> fValue) { <span class="keywordflow">return</span> <a class="code" href="namespaceOgre.html#a465">Real</a>(exp(fValue)); }
19800245
199<a name="l00246"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe15">00246</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Floor (<a class="code" href="namespaceOgre.html#a465">Real</a> fValue) { <span class="keywordflow">return</span> <a class="code" href="namespaceOgre.html#a465">Real</a>(floor(fValue)); }
20000247
201<a name="l00248"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe16">00248</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> <a class="code" href="classOgre_1_1Log.html">Log</a> (<a class="code" href="namespaceOgre.html#a465">Real</a> fValue) { <span class="keywordflow">return</span> <a class="code" href="namespaceOgre.html#a465">Real</a>(log(fValue)); }
20200249
203<a name="l00250"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe17">00250</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Pow (<a class="code" href="namespaceOgre.html#a465">Real</a> fBase, <a class="code" href="namespaceOgre.html#a465">Real</a> fExponent) { <span class="keywordflow">return</span> <a class="code" href="namespaceOgre.html#a465">Real</a>(pow(fBase,fExponent)); }
20400251
20500252         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Sign (<a class="code" href="namespaceOgre.html#a465">Real</a> fValue);
206<a name="l00253"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe19">00253</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a> Sign ( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; rValue )
20700254         {
20800255             <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>(Sign(rValue.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana6">valueRadians</a>()));
20900256         }
210<a name="l00257"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe20">00257</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a> Sign ( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; dValue )
21100258         {
21200259             <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>(Sign(dValue.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea5">valueDegrees</a>()));
21300260         }
21400261
215<a name="l00269"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe21">00269</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Sin (<span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; fValue, <span class="keywordtype">bool</span> useTables = <span class="keyword">false</span>) {
21600270             <span class="keywordflow">return</span> (!useTables) ? <a class="code" href="namespaceOgre.html#a465">Real</a>(sin(fValue.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana6">valueRadians</a>())) : SinTable(fValue.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana6">valueRadians</a>());
21700271         }
218<a name="l00279"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe22">00279</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Sin (<a class="code" href="namespaceOgre.html#a465">Real</a> fValue, <span class="keywordtype">bool</span> useTables = <span class="keyword">false</span>) {
21900280             <span class="keywordflow">return</span> (!useTables) ? <a class="code" href="namespaceOgre.html#a465">Real</a>(sin(fValue)) : SinTable(fValue);
22000281         }
22100282
222<a name="l00283"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe23">00283</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Sqr (<a class="code" href="namespaceOgre.html#a465">Real</a> fValue) { <span class="keywordflow">return</span> fValue*fValue; }
22300284
224<a name="l00285"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe24">00285</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Sqrt (<a class="code" href="namespaceOgre.html#a465">Real</a> fValue) { <span class="keywordflow">return</span> <a class="code" href="namespaceOgre.html#a465">Real</a>(sqrt(fValue)); }
22500286
226<a name="l00287"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe25">00287</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a> Sqrt (<span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; fValue) { <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>(sqrt(fValue.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana6">valueRadians</a>())); }
22700288
228<a name="l00289"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe26">00289</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a> Sqrt (<span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; fValue) { <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>(sqrt(fValue.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea5">valueDegrees</a>())); }
22900290
23000294         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a465">Real</a> InvSqrt(<a class="code" href="namespaceOgre.html#a465">Real</a> fValue);
23100295
23200296         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a465">Real</a> UnitRandom ();  <span class="comment">// in [0,1]</span>
23300297
23400298         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a465">Real</a> RangeRandom (<a class="code" href="namespaceOgre.html#a465">Real</a> fLow, <a class="code" href="namespaceOgre.html#a465">Real</a> fHigh);  <span class="comment">// in [fLow,fHigh]</span>
23500299
23600300         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a465">Real</a> SymmetricRandom ();  <span class="comment">// in [-1,1]</span>
23700301
238<a name="l00309"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe31">00309</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Tan (<span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; fValue, <span class="keywordtype">bool</span> useTables = <span class="keyword">false</span>) {
23900310             <span class="keywordflow">return</span> (!useTables) ? <a class="code" href="namespaceOgre.html#a465">Real</a>(tan(fValue.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana6">valueRadians</a>())) : TanTable(fValue.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana6">valueRadians</a>());
24000311         }
241<a name="l00319"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe32">00319</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Tan (<a class="code" href="namespaceOgre.html#a465">Real</a> fValue, <span class="keywordtype">bool</span> useTables = <span class="keyword">false</span>) {
24200320             <span class="keywordflow">return</span> (!useTables) ? <a class="code" href="namespaceOgre.html#a465">Real</a>(tan(fValue)) : TanTable(fValue);
24300321         }
24400322
245<a name="l00323"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe33">00323</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> DegreesToRadians(<a class="code" href="namespaceOgre.html#a465">Real</a> degrees) { <span class="keywordflow">return</span> degrees * fDeg2Rad; }
246<a name="l00324"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathe34">00324</a>         <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> RadiansToDegrees(<a class="code" href="namespaceOgre.html#a465">Real</a> radians) { <span class="keywordflow">return</span> radians * fRad2Deg; }
24700325
24800332        <span class="keyword">static</span> <span class="keywordtype">void</span> setAngleUnit(AngleUnit unit);
24900334        <span class="keyword">static</span> AngleUnit getAngleUnit(<span class="keywordtype">void</span>);
25000335
25100337        <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a465">Real</a> AngleUnitsToRadians(<a class="code" href="namespaceOgre.html#a465">Real</a> units);
25200339        <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a465">Real</a> RadiansToAngleUnits(<a class="code" href="namespaceOgre.html#a465">Real</a> radians);
25300341        <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a465">Real</a> AngleUnitsToDegrees(<a class="code" href="namespaceOgre.html#a465">Real</a> units);
25400343        <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a465">Real</a> DegreesToAngleUnits(<a class="code" href="namespaceOgre.html#a465">Real</a> degrees);
25500344
25600366         <span class="keyword">static</span> <span class="keywordtype">bool</span> pointInTri2D(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector2.html">Vector2</a>&amp; p, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector2.html">Vector2</a>&amp; a,
25700367             <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector2.html">Vector2</a>&amp; b, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector2.html">Vector2</a>&amp; c);
25800368
25900393         <span class="keyword">static</span> <span class="keywordtype">bool</span> pointInTri3D(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; p, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; a,
26000394             <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; b, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; c, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; normal);
26100396         <span class="keyword">static</span> std::pair&lt;bool, Real&gt; intersects(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Ray.html">Ray</a>&amp; ray, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Plane.html">Plane</a>&amp; plane);
26200397
26300399         <span class="keyword">static</span> std::pair&lt;bool, Real&gt; intersects(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Ray.html">Ray</a>&amp; ray, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Sphere.html">Sphere</a>&amp; sphere,
26400400             <span class="keywordtype">bool</span> discardInside = <span class="keyword">true</span>);
26500401         
26600403         <span class="keyword">static</span> std::pair&lt;bool, Real&gt; intersects(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Ray.html">Ray</a>&amp; ray, <span class="keyword">const</span> <a class="code" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a>&amp; box);
26700404
26800427         <span class="keyword">static</span> <span class="keywordtype">bool</span> intersects(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Ray.html">Ray</a>&amp; ray, <span class="keyword">const</span> <a class="code" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a>&amp; box,
26900428             <a class="code" href="namespaceOgre.html#a465">Real</a>* d1, <a class="code" href="namespaceOgre.html#a465">Real</a>* d2);
27000429
27100454         <span class="keyword">static</span> std::pair&lt;bool, Real&gt; intersects(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Ray.html">Ray</a>&amp; ray, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; a,
27200455             <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; b, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; c, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; normal,
27300456             <span class="keywordtype">bool</span> positiveSide = <span class="keyword">true</span>, <span class="keywordtype">bool</span> negativeSide = <span class="keyword">true</span>);
27400457
27500478         <span class="keyword">static</span> std::pair&lt;bool, Real&gt; intersects(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Ray.html">Ray</a>&amp; ray, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; a,
27600479             <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; b, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; c,
27700480             <span class="keywordtype">bool</span> positiveSide = <span class="keyword">true</span>, <span class="keywordtype">bool</span> negativeSide = <span class="keyword">true</span>);
27800481
27900483         <span class="keyword">static</span> <span class="keywordtype">bool</span> intersects(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Sphere.html">Sphere</a>&amp; sphere, <span class="keyword">const</span> <a class="code" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a>&amp; box);
28000484
28100486         <span class="keyword">static</span> <span class="keywordtype">bool</span> intersects(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Plane.html">Plane</a>&amp; plane, <span class="keyword">const</span> <a class="code" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a>&amp; box);
28200487
28300493         <span class="keyword">static</span> std::pair&lt;bool, Real&gt; intersects(
28400494             <span class="keyword">const</span> <a class="code" href="classOgre_1_1Ray.html">Ray</a>&amp; ray, <span class="keyword">const</span> std::vector&lt;Plane&gt;&amp; planeList,
28500495             <span class="keywordtype">bool</span> normalIsOutside);
28600501         <span class="keyword">static</span> std::pair&lt;bool, Real&gt; intersects(
28700502             <span class="keyword">const</span> <a class="code" href="classOgre_1_1Ray.html">Ray</a>&amp; ray, <span class="keyword">const</span> std::list&lt;Plane&gt;&amp; planeList,
28800503             <span class="keywordtype">bool</span> normalIsOutside);
28900504
29000508         <span class="keyword">static</span> <span class="keywordtype">bool</span> intersects(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Sphere.html">Sphere</a>&amp; sphere, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Plane.html">Plane</a>&amp; plane);
29100509
29200512         <span class="keyword">static</span> <span class="keywordtype">bool</span> RealEqual(<a class="code" href="namespaceOgre.html#a465">Real</a> a, <a class="code" href="namespaceOgre.html#a465">Real</a> b,
29300513             <a class="code" href="namespaceOgre.html#a465">Real</a> tolerance = std::numeric_limits&lt;Real&gt;::epsilon());
29400514
29500516         <span class="keyword">static</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> calculateTangentSpaceVector(
29600517             <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; position1, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; position2, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; position3,
29700518             <a class="code" href="namespaceOgre.html#a465">Real</a> u1, <a class="code" href="namespaceOgre.html#a465">Real</a> v1, <a class="code" href="namespaceOgre.html#a465">Real</a> u2, <a class="code" href="namespaceOgre.html#a465">Real</a> v2, <a class="code" href="namespaceOgre.html#a465">Real</a> u3, <a class="code" href="namespaceOgre.html#a465">Real</a> v3);
29800519
29900521         <span class="keyword">static</span> <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a> buildReflectionMatrix(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Plane.html">Plane</a>&amp; p);
30000523         <span class="keyword">static</span> <a class="code" href="classOgre_1_1Vector4.html">Vector4</a> calculateFaceNormal(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; v1, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; v2, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; v3);
30100525         <span class="keyword">static</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> calculateBasicFaceNormal(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; v1, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; v2, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; v3);
30200527         <span class="keyword">static</span> <a class="code" href="classOgre_1_1Vector4.html">Vector4</a> calculateFaceNormalWithoutNormalize(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; v1, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; v2, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; v3);
30300529         <span class="keyword">static</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> calculateBasicFaceNormalWithoutNormalize(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; v1, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; v2, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; v3);
30400530
305<a name="l00531"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Maths0">00531</a>         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a465">Real</a> POS_INFINITY;
306<a name="l00532"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Maths1">00532</a>         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a465">Real</a> NEG_INFINITY;
307<a name="l00533"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Maths2">00533</a>         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a465">Real</a> PI;
308<a name="l00534"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Maths3">00534</a>         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a465">Real</a> TWO_PI;
309<a name="l00535"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Maths4">00535</a>         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a465">Real</a> HALF_PI;
310<a name="l00536"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Maths5">00536</a>         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a465">Real</a> fDeg2Rad;
311<a name="l00537"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Maths6">00537</a>         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a465">Real</a> fRad2Deg;
31200538
31300539     };
31400540
31500541     <span class="comment">// these functions must be defined down here, because they rely on the</span>
31600542     <span class="comment">// angle unit conversion functions in class Math:</span>
31700543
318<a name="l00544"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana5">00544</a>     <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Radian::valueDegrees()<span class="keyword"> const</span>
31900545 <span class="keyword">    </span>{
32000546         <span class="keywordflow">return</span> Math::RadiansToDegrees ( <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> );
32100547     }
32200548
323<a name="l00549"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana7">00549</a>     <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Radian::valueAngleUnits()<span class="keyword"> const</span>
32400550 <span class="keyword">    </span>{
32500551         <span class="keywordflow">return</span> Math::RadiansToAngleUnits ( <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> );
32600552     }
32700553
328<a name="l00554"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea6">00554</a>     <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Degree::valueRadians()<span class="keyword"> const</span>
32900555 <span class="keyword">    </span>{
33000556         <span class="keywordflow">return</span> Math::DegreesToRadians ( <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> );
33100557     }
33200558
333<a name="l00559"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea7">00559</a>     <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a465">Real</a> Degree::valueAngleUnits()<span class="keyword"> const</span>
33400560 <span class="keyword">    </span>{
33500561         <span class="keywordflow">return</span> Math::DegreesToAngleUnits ( <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> );
33600562     }
33700563
338<a name="l00564"></a><a class="code" href="classOgre_1_1Angle.html#Ogre_1_1Anglea1">00564</a>     <span class="keyword">inline</span> Angle::operator Radian()
33900565     {
34000566         <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>(Math::AngleUnitsToRadians(<a class="code" href="classOgre_1_1Angle.html#Ogre_1_1Angler0">mAngle</a>));
34100567     }
34200568
343<a name="l00569"></a><a class="code" href="classOgre_1_1Angle.html#Ogre_1_1Anglea2">00569</a>     <span class="keyword">inline</span> Angle::operator Degree()
34400570     {
34500571         <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>(Math::AngleUnitsToDegrees(<a class="code" href="classOgre_1_1Angle.html#Ogre_1_1Angler0">mAngle</a>));
34600572     }
34700573
348<a name="l00574"></a><a class="code" href="namespaceOgre.html#a617">00574</a>     <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a> <a class="code" href="namespaceOgre.html#a617">operator * </a>( <a class="code" href="namespaceOgre.html#a465">Real</a> a, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; b )
34900575     {
35000576         <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a> ( a * b.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana6">valueRadians</a>() );
35100577     }
35200578
353<a name="l00579"></a><a class="code" href="namespaceOgre.html#a618">00579</a>     <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a> <a class="code" href="namespaceOgre.html#a618">operator / </a>( <a class="code" href="namespaceOgre.html#a465">Real</a> a, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; b )
35400580     {
35500581         <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a> ( a / b.<a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana6">valueRadians</a>() );
35600582     }
35700583
358<a name="l00584"></a><a class="code" href="namespaceOgre.html#a619">00584</a>     <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a> <a class="code" href="namespaceOgre.html#a617">operator * </a>( <a class="code" href="namespaceOgre.html#a465">Real</a> a, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; b )
35900585     {
36000586         <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a> ( a * b.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea5">valueDegrees</a>() );
36100587     }
36200588
363<a name="l00589"></a><a class="code" href="namespaceOgre.html#a620">00589</a>     <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a> <a class="code" href="namespaceOgre.html#a618">operator / </a>( <a class="code" href="namespaceOgre.html#a465">Real</a> a, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; b )
36400590     {
36500591         <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a> ( a / b.<a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea5">valueDegrees</a>() );
36600592     }
36700593
36800594 }
36900595 <span class="preprocessor">#endif</span>
370</pre></div><hr>
371<p>
372Copyright &copy; 2000-2005 by The OGRE Team<br />
373<!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights20.png"/></a><br/>
374This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License</a>.<br/>
375                <!--/Creative Commons License--><!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
376                <Work rdf:about="">
377                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
378        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
379                </Work>
380                <License rdf:about="http://creativecommons.org/licenses/by-sa/2.5/"><permits rdf:resource="http://web.resource.org/cc/Reproduction"/><permits rdf:resource="http://web.resource.org/cc/Distribution"/><requires rdf:resource="http://web.resource.org/cc/Notice"/><requires rdf:resource="http://web.resource.org/cc/Attribution"/><permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/><requires rdf:resource="http://web.resource.org/cc/ShareAlike"/></License></rdf:RDF> -->
381
382Last modified Sun Mar 12 14:37:44 2006
383</p>
384</body>
385</html>
Note: See TracBrowser for help on using the repository browser.