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

Revision 657, 69.1 KB checked in by mattausch, 18 years ago (diff)

added ogre dependencies and patched ogre sources

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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">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#a420">Real</a>* mTanTable;
16600190
16700193         <span class="keywordtype">void</span> buildTrigTables();
16800194
16900195         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a420">Real</a> SinTable (<a class="code" href="namespaceOgre.html#a420">Real</a> fValue);
17000196         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a420">Real</a> TanTable (<a class="code" href="namespaceOgre.html#a420">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#a420">Real</a> Abs (<a class="code" href="namespaceOgre.html#a420">Real</a> fValue) { <span class="keywordflow">return</span> <a class="code" href="namespaceOgre.html#a420">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#a420">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#a420">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#a420">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#a420">Real</a> fY, <a class="code" href="namespaceOgre.html#a420">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#a420">Real</a> Ceil (<a class="code" href="namespaceOgre.html#a420">Real</a> fValue) { <span class="keywordflow">return</span> <a class="code" href="namespaceOgre.html#a420">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#a420">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#a420">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#a420">Real</a> Cos (<a class="code" href="namespaceOgre.html#a420">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#a420">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#a420">Real</a> Exp (<a class="code" href="namespaceOgre.html#a420">Real</a> fValue) { <span class="keywordflow">return</span> <a class="code" href="namespaceOgre.html#a420">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#a420">Real</a> Floor (<a class="code" href="namespaceOgre.html#a420">Real</a> fValue) { <span class="keywordflow">return</span> <a class="code" href="namespaceOgre.html#a420">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#a420">Real</a> <a class="code" href="classOgre_1_1Log.html">Log</a> (<a class="code" href="namespaceOgre.html#a420">Real</a> fValue) { <span class="keywordflow">return</span> <a class="code" href="namespaceOgre.html#a420">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#a420">Real</a> Pow (<a class="code" href="namespaceOgre.html#a420">Real</a> fBase, <a class="code" href="namespaceOgre.html#a420">Real</a> fExponent) { <span class="keywordflow">return</span> <a class="code" href="namespaceOgre.html#a420">Real</a>(pow(fBase,fExponent)); }
20400251
20500252         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a420">Real</a> Sign (<a class="code" href="namespaceOgre.html#a420">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#a420">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#a420">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#a420">Real</a> Sin (<a class="code" href="namespaceOgre.html#a420">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#a420">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#a420">Real</a> Sqr (<a class="code" href="namespaceOgre.html#a420">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#a420">Real</a> Sqrt (<a class="code" href="namespaceOgre.html#a420">Real</a> fValue) { <span class="keywordflow">return</span> <a class="code" href="namespaceOgre.html#a420">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#a420">Real</a> InvSqrt(<a class="code" href="namespaceOgre.html#a420">Real</a> fValue);
23100295
23200296         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a420">Real</a> UnitRandom ();  <span class="comment">// in [0,1]</span>
23300297
23400298         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a420">Real</a> RangeRandom (<a class="code" href="namespaceOgre.html#a420">Real</a> fLow, <a class="code" href="namespaceOgre.html#a420">Real</a> fHigh);  <span class="comment">// in [fLow,fHigh]</span>
23500299
23600300         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a420">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#a420">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#a420">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#a420">Real</a> Tan (<a class="code" href="namespaceOgre.html#a420">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#a420">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#a420">Real</a> DegreesToRadians(<a class="code" href="namespaceOgre.html#a420">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#a420">Real</a> RadiansToDegrees(<a class="code" href="namespaceOgre.html#a420">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#a420">Real</a> AngleUnitsToRadians(<a class="code" href="namespaceOgre.html#a420">Real</a> units);
25200339        <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a420">Real</a> RadiansToAngleUnits(<a class="code" href="namespaceOgre.html#a420">Real</a> radians);
25300341        <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a420">Real</a> AngleUnitsToDegrees(<a class="code" href="namespaceOgre.html#a420">Real</a> units);
25400343        <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a420">Real</a> DegreesToAngleUnits(<a class="code" href="namespaceOgre.html#a420">Real</a> degrees);
25500344
25600374         <span class="keyword">static</span> <span class="keywordtype">bool</span> pointInTri2D( <a class="code" href="namespaceOgre.html#a420">Real</a> px, <a class="code" href="namespaceOgre.html#a420">Real</a> pz, <a class="code" href="namespaceOgre.html#a420">Real</a> ax, <a class="code" href="namespaceOgre.html#a420">Real</a> az, <a class="code" href="namespaceOgre.html#a420">Real</a> bx, <a class="code" href="namespaceOgre.html#a420">Real</a> bz, <a class="code" href="namespaceOgre.html#a420">Real</a> cx, <a class="code" href="namespaceOgre.html#a420">Real</a> cz );
25700375
25800377         <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);
25900378
26000380         <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,
26100381             <span class="keywordtype">bool</span> discardInside = <span class="keyword">true</span>);
26200382         
26300384         <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; sphere);
26400385
26500387         <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);
26600388
26700390         <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);
26800391
26900397         <span class="keyword">static</span> std::pair&lt;bool, Real&gt; intersects(
27000398             <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,
27100399             <span class="keywordtype">bool</span> normalIsOutside);
27200405         <span class="keyword">static</span> std::pair&lt;bool, Real&gt; intersects(
27300406             <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,
27400407             <span class="keywordtype">bool</span> normalIsOutside);
27500408
27600412         <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);
27700413
27800416         <span class="keyword">static</span> <span class="keywordtype">bool</span> RealEqual(<a class="code" href="namespaceOgre.html#a420">Real</a> a, <a class="code" href="namespaceOgre.html#a420">Real</a> b,
27900417             <a class="code" href="namespaceOgre.html#a420">Real</a> tolerance = std::numeric_limits&lt;Real&gt;::epsilon());
28000418
28100420         <span class="keyword">static</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> calculateTangentSpaceVector(
28200421             <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,
28300422             <a class="code" href="namespaceOgre.html#a420">Real</a> u1, <a class="code" href="namespaceOgre.html#a420">Real</a> v1, <a class="code" href="namespaceOgre.html#a420">Real</a> u2, <a class="code" href="namespaceOgre.html#a420">Real</a> v2, <a class="code" href="namespaceOgre.html#a420">Real</a> u3, <a class="code" href="namespaceOgre.html#a420">Real</a> v3);
28400423
28500425         <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);
28600427         <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);
28700429         <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);
28800431         <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);
28900433         <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);
29000434
291<a name="l00435"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Maths0">00435</a>         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a420">Real</a> POS_INFINITY;
292<a name="l00436"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Maths1">00436</a>         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a420">Real</a> NEG_INFINITY;
293<a name="l00437"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Maths2">00437</a>         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a420">Real</a> PI;
294<a name="l00438"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Maths3">00438</a>         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a420">Real</a> TWO_PI;
295<a name="l00439"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Maths4">00439</a>         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a420">Real</a> HALF_PI;
296<a name="l00440"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Maths5">00440</a>         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a420">Real</a> fDeg2Rad;
297<a name="l00441"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Maths6">00441</a>         <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a420">Real</a> fRad2Deg;
29800442
29900443     };
30000444
30100445     <span class="comment">// these functions must be defined down here, because they rely on the</span>
30200446     <span class="comment">// angle unit conversion functions in class Math:</span>
30300447
304<a name="l00448"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana5">00448</a>     <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a420">Real</a> Radian::valueDegrees()<span class="keyword"> const</span>
30500449 <span class="keyword">    </span>{
30600450         <span class="keywordflow">return</span> Math::RadiansToDegrees ( <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> );
30700451     }
30800452
309<a name="l00453"></a><a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radiana7">00453</a>     <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a420">Real</a> Radian::valueAngleUnits()<span class="keyword"> const</span>
31000454 <span class="keyword">    </span>{
31100455         <span class="keywordflow">return</span> Math::RadiansToAngleUnits ( <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> );
31200456     }
31300457
314<a name="l00458"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea6">00458</a>     <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a420">Real</a> Degree::valueRadians()<span class="keyword"> const</span>
31500459 <span class="keyword">    </span>{
31600460         <span class="keywordflow">return</span> Math::DegreesToRadians ( <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> );
31700461     }
31800462
319<a name="l00463"></a><a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreea7">00463</a>     <span class="keyword">inline</span> <a class="code" href="namespaceOgre.html#a420">Real</a> Degree::valueAngleUnits()<span class="keyword"> const</span>
32000464 <span class="keyword">    </span>{
32100465         <span class="keywordflow">return</span> Math::DegreesToAngleUnits ( <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> );
32200466     }
32300467
324<a name="l00468"></a><a class="code" href="classOgre_1_1Angle.html#Ogre_1_1Anglea1">00468</a>     <span class="keyword">inline</span> Angle::operator Radian()
32500469     {
32600470         <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>));
32700471     }
32800472
329<a name="l00473"></a><a class="code" href="classOgre_1_1Angle.html#Ogre_1_1Anglea2">00473</a>     <span class="keyword">inline</span> Angle::operator Degree()
33000474     {
33100475         <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>));
33200476     }
33300477
334<a name="l00478"></a><a class="code" href="namespaceOgre.html#a612">00478</a>     <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a> <a class="code" href="namespaceOgre.html#a612">operator * </a>( <a class="code" href="namespaceOgre.html#a420">Real</a> a, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; b )
33500479     {
33600480         <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>() );
33700481     }
33800482
339<a name="l00483"></a><a class="code" href="namespaceOgre.html#a613">00483</a>     <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a> <a class="code" href="namespaceOgre.html#a613">operator / </a>( <a class="code" href="namespaceOgre.html#a420">Real</a> a, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a>&amp; b )
34000484     {
34100485         <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>() );
34200486     }
34300487
344<a name="l00488"></a><a class="code" href="namespaceOgre.html#a614">00488</a>     <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a> <a class="code" href="namespaceOgre.html#a612">operator * </a>( <a class="code" href="namespaceOgre.html#a420">Real</a> a, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; b )
34500489     {
34600490         <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>() );
34700491     }
34800492
349<a name="l00493"></a><a class="code" href="namespaceOgre.html#a615">00493</a>     <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a> <a class="code" href="namespaceOgre.html#a613">operator / </a>( <a class="code" href="namespaceOgre.html#a420">Real</a> a, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a>&amp; b )
35000494     {
35100495         <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>() );
35200496     }
35300497
35400498 }
35500499 <span class="preprocessor">#endif</span>
356</pre></div><hr>
357<p>
358Copyright &copy; 2000-2005 by The OGRE Team<br />
359<!--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/>
360This 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/>
361                <!--/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#">
362                <Work rdf:about="">
363                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
364        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
365                </Work>
366                <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> -->
367
368Last modified Sun Feb 12 12:59:47 2006
369</p>
370</body>
371</html>
Note: See TracBrowser for help on using the repository browser.