Sophie

Sophie

distrib > Mandriva > 10.2 > i586 > media > contrib > by-pkgid > 04e5d8c10ae76748689b4e7f48e0fa33 > files > 598

libogre5-devel-1.0.0-1mdk.i586.rpm

<html>
<head>
<title>OgreMath.h Source File - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<link type="text/css" rel="stylesheet" href="style.css">
</head>

<body>
<!-- Generated by Doxygen 1.3.6 -->
<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>
<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>
00002 <span class="comment">-----------------------------------------------------------------------------</span>
00003 <span class="comment">This source file is part of OGRE</span>
00004 <span class="comment">    (Object-oriented Graphics Rendering Engine)</span>
00005 <span class="comment">For the latest info, see http://www.ogre3d.org/</span>
00006 <span class="comment"></span>
00007 <span class="comment">Copyright (c) 2000-2005 The OGRE Team</span>
00008 <span class="comment">Also see acknowledgements in Readme.html</span>
00009 <span class="comment"></span>
00010 <span class="comment">This program is free software; you can redistribute it and/or modify it under</span>
00011 <span class="comment">the terms of the GNU Lesser General Public License as published by the Free Software</span>
00012 <span class="comment">Foundation; either version 2 of the License, or (at your option) any later</span>
00013 <span class="comment">version.</span>
00014 <span class="comment"></span>
00015 <span class="comment">This program is distributed in the hope that it will be useful, but WITHOUT</span>
00016 <span class="comment">ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS</span>
00017 <span class="comment">FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</span>
00018 <span class="comment"></span>
00019 <span class="comment">You should have received a copy of the GNU Lesser General Public License along with</span>
00020 <span class="comment">this program; if not, write to the Free Software Foundation, Inc., 59 Temple</span>
00021 <span class="comment">Place - Suite 330, Boston, MA 02111-1307, USA, or go to</span>
00022 <span class="comment">http://www.gnu.org/copyleft/lesser.txt.</span>
00023 <span class="comment">-----------------------------------------------------------------------------</span>
00024 <span class="comment">*/</span>
00025 <span class="preprocessor">#ifndef __Math_H__</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define __Math_H__</span>
00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "<a class="code" href="OgrePrerequisites_8h.html">OgrePrerequisites.h</a>"</span>
00029 
00030 <span class="keyword">namespace </span>Ogre
00031 {
<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>
00038     {
<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>;
00040 
00041     <span class="keyword">public</span>:
<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) {}
00043         <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 );
<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>; }
<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>; }
00046         <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 );
00047 
00048         <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>
<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>; }
00050         <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>;
00051 
<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> ); }
00053         <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>;
<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>; }
00055         <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 );
<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>); }
<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> ); }
00058         <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>;
<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>; }
00060         <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 );
<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 ); }
<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> ); }
<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>; }
<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 ); }
<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>; }
00066 
<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>; }
<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>; }
<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>; }
<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>; }
<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>; }
<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>; }
00073     };
00074 
<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>
00081     {
<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>
00083 
00084     <span class="keyword">public</span>:
<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) {}
<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()) {}
<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>; }
<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>; }
<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>; }
00090 
<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>; }
00092         <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>
00093         <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>;
00094 
<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> ); }
<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>() ); }
<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>; }
<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>; }
<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>); }
<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> ); }
<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>() ); }
<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>; }
<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>; }
<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 ); }
<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> ); }
<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>; }
<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 ); }
<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>; }
00109 
<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>; }
<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>; }
<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>; }
<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>; }
<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>; }
<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>; }
00116     };
00117 
<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>
00125     {
<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>;
00127     <span class="keyword">public</span>:
<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) {}
00129         <a class="code" href="classOgre_1_1Angle.html#Ogre_1_1Anglea1">operator Radian</a>();
00130         <a class="code" href="classOgre_1_1Angle.html#Ogre_1_1Anglea2">operator Degree</a>();
00131     };
00132 
00133     <span class="comment">// these functions could not be defined within the class definition of class</span>
00134     <span class="comment">// Radian because they required class Degree to be defined</span>
<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()) {
00136     }
<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 ) {
00138         <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>;
00139     }
<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>{
00141         <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>() );
00142     }
<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 ) {
00144         <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>();
00145         <span class="keywordflow">return</span> *<span class="keyword">this</span>;
00146     }
<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>{
00148         <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>() );
00149     }
<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 ) {
00151         <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>();
00152         <span class="keywordflow">return</span> *<span class="keyword">this</span>;
00153     }
00154 
<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#a13">_OgreExport</a> Math 
00166     {
00167    <span class="keyword">public</span>:
<a name="l00173"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Mathw2">00173</a>        <span class="keyword">enum</span> AngleUnit
00174        {
00175            AU_DEGREE,
00176            AU_RADIAN
00177        };
00178 
00179     <span class="keyword">protected</span>:
00180        <span class="comment">// angle units used by the api</span>
<a name="l00181"></a><a class="code" href="classOgre_1_1Math.html#Ogre_1_1Matht0">00181</a>        <span class="keyword">static</span> AngleUnit msAngleUnit;
00182 
<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;
00185 
<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;
<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;
<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;
00190 
00193         <span class="keywordtype">void</span> buildTrigTables();
00194 
00195         <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);
00196         <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);
00197     <span class="keyword">public</span>:
00203         Math(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> trigTableSize = 4096);
00204 
00207         ~Math();
00208 
<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 ); }
<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)); }
<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)); }
00212         <span class="keyword">static</span> <span class="keywordtype">int</span> ISign (<span class="keywordtype">int</span> iValue);
00213 
<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)); }
<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>())); }
<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>())); }
00217         <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);
00218         <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);
<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)); }
<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)); }
<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)); }
00222 
<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>) {
00231             <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);
00232         }
<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>) {
00241             <span class="keywordflow">return</span> (!useTables) ? <a class="code" href="namespaceOgre.html#a420">Real</a>(cos(fValue)) : SinTable(fValue + HALF_PI);
00242         }
00243 
<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)); }
00245 
<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)); }
00247 
<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)); }
00249 
<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)); }
00251 
00252         <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);
<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 )
00254         {
00255             <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>()));
00256         }
<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 )
00258         {
00259             <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>()));
00260         }
00261 
<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>) {
00270             <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>());
00271         }
<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>) {
00280             <span class="keywordflow">return</span> (!useTables) ? <a class="code" href="namespaceOgre.html#a420">Real</a>(sin(fValue)) : SinTable(fValue);
00281         }
00282 
<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; }
00284 
<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)); }
00286 
<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>())); }
00288 
<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>())); }
00290 
00294         <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);
00295 
00296         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a420">Real</a> UnitRandom ();  <span class="comment">// in [0,1]</span>
00297 
00298         <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>
00299 
00300         <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a420">Real</a> SymmetricRandom ();  <span class="comment">// in [-1,1]</span>
00301 
<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>) {
00310             <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>());
00311         }
<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>) {
00320             <span class="keywordflow">return</span> (!useTables) ? <a class="code" href="namespaceOgre.html#a420">Real</a>(tan(fValue)) : TanTable(fValue);
00321         }
00322 
<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; }
<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; }
00325 
00332        <span class="keyword">static</span> <span class="keywordtype">void</span> setAngleUnit(AngleUnit unit);
00334        <span class="keyword">static</span> AngleUnit getAngleUnit(<span class="keywordtype">void</span>);
00335 
00337        <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);
00339        <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);
00341        <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);
00343        <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);
00344 
00374         <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 );
00375 
00377         <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);
00378 
00380         <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, 
00381             <span class="keywordtype">bool</span> discardInside = <span class="keyword">true</span>);
00382         
00384         <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);
00385 
00387         <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);
00388 
00390         <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);
00391 
00397         <span class="keyword">static</span> std::pair&lt;bool, Real&gt; intersects(
00398             <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, 
00399             <span class="keywordtype">bool</span> normalIsOutside);
00405         <span class="keyword">static</span> std::pair&lt;bool, Real&gt; intersects(
00406             <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, 
00407             <span class="keywordtype">bool</span> normalIsOutside);
00408 
00412         <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);
00413 
00416         <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,
00417             <a class="code" href="namespaceOgre.html#a420">Real</a> tolerance = std::numeric_limits&lt;Real&gt;::epsilon());
00418 
00420         <span class="keyword">static</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> calculateTangentSpaceVector(
00421             <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,
00422             <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);
00423 
00425         <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);
00427         <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);
00429         <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);
00431         <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);
00433         <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);
00434 
<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;
<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;
<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;
<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;
<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;
<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;
<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;
00442 
00443     };
00444 
00445     <span class="comment">// these functions must be defined down here, because they rely on the</span>
00446     <span class="comment">// angle unit conversion functions in class Math:</span>
00447 
<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>
00449 <span class="keyword">    </span>{
00450         <span class="keywordflow">return</span> Math::RadiansToDegrees ( <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> );
00451     }
00452 
<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>
00454 <span class="keyword">    </span>{
00455         <span class="keywordflow">return</span> Math::RadiansToAngleUnits ( <a class="code" href="classOgre_1_1Radian.html#Ogre_1_1Radianr0">mRad</a> );
00456     }
00457 
<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>
00459 <span class="keyword">    </span>{
00460         <span class="keywordflow">return</span> Math::DegreesToRadians ( <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> );
00461     }
00462 
<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>
00464 <span class="keyword">    </span>{
00465         <span class="keywordflow">return</span> Math::DegreesToAngleUnits ( <a class="code" href="classOgre_1_1Degree.html#Ogre_1_1Degreer0">mDeg</a> );
00466     }
00467 
<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()
00469     {
00470         <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>));
00471     }
00472 
<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()
00474     {
00475         <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>));
00476     }
00477 
<a name="l00478"></a><a class="code" href="namespaceOgre.html#a611">00478</a>     <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Radian.html">Radian</a> <a class="code" href="namespaceOgre.html#a611">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 )
00479     {
00480         <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>() );
00481     }
00482 
<a name="l00483"></a><a class="code" href="namespaceOgre.html#a612">00483</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 )
00484     {
00485         <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>() );
00486     }
00487 
<a name="l00488"></a><a class="code" href="namespaceOgre.html#a613">00488</a>     <span class="keyword">inline</span> <a class="code" href="classOgre_1_1Degree.html">Degree</a> <a class="code" href="namespaceOgre.html#a611">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 )
00489     {
00490         <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>() );
00491     }
00492 
<a name="l00493"></a><a class="code" href="namespaceOgre.html#a614">00493</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 )
00494     {
00495         <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>() );
00496     }
00497 
00498 }
00499 <span class="preprocessor">#endif</span>
</pre></div><p>
Copyright &copy; 2000-2005 by The OGRE Team<br />
Last modified Wed Feb 23 00:19:08 2005
</p>
</body>
</html>