Sophie

Sophie

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

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

<html>
<head>
<title>OgreProfiler.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>OgreProfiler.h</h1><a href="OgreProfiler_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="comment">/*</span>
00026 <span class="comment"></span>
00027 <span class="comment">    Although the code is original, many of the ideas for the profiler were borrowed from </span>
00028 <span class="comment">"Real-Time In-Game Profiling" by Steve Rabin which can be found in Game Programming</span>
00029 <span class="comment">Gems 1.</span>
00030 <span class="comment"></span>
00031 <span class="comment">    This code can easily be adapted to your own non-Ogre project. The only code that is </span>
00032 <span class="comment">Ogre-dependent is in the visualization/logging routines and the use of the Timer class.</span>
00033 <span class="comment"></span>
00034 <span class="comment">    Enjoy!</span>
00035 <span class="comment"></span>
00036 <span class="comment">*/</span>
00037 
00038 <span class="preprocessor">#ifndef __Profiler_H__</span>
00039 <span class="preprocessor"></span><span class="preprocessor">#define __Profiler_H__</span>
00040 <span class="preprocessor"></span>
00041 <span class="preprocessor">#include "<a class="code" href="OgrePrerequisites_8h.html">OgrePrerequisites.h</a>"</span>
00042 <span class="preprocessor">#include "<a class="code" href="OgreSingleton_8h.html">OgreSingleton.h</a>"</span>
00043 <span class="preprocessor">#include "<a class="code" href="OgreString_8h.html">OgreString.h</a>"</span>
00044 <span class="preprocessor">#include "<a class="code" href="OgreOverlay_8h.html">OgreOverlay.h</a>"</span>
00045 
00046 <span class="preprocessor">#if OGRE_PROFILING == 1</span>
00047 <span class="preprocessor"></span><span class="preprocessor">#   if OGRE_COMPILER != OGRE_COMPILER_BORL</span>
00048 <span class="preprocessor"></span><span class="preprocessor">#       define OgreProfile( a ) Ogre::Profile _OgreProfileInstance( (a) )</span>
00049 <span class="preprocessor"></span><span class="preprocessor">#       define OgreProfileBegin( a ) Ogre::Profiler::getSingleton().beginProfile( (a) )</span>
00050 <span class="preprocessor"></span><span class="preprocessor">#       define OgreProfileEnd( a ) Ogre::Profiler::getSingleton().endProfile( (a) )</span>
00051 <span class="preprocessor"></span><span class="preprocessor">#   else</span>
00052 <span class="preprocessor"></span><span class="preprocessor">#       define OgreProfile( a ) Ogre::Profile _OgreProfileInstance( __FUNC__ )</span>
00053 <span class="preprocessor"></span><span class="preprocessor">#       define OgreProfileBegin( a ) Ogre::Profiler::getSingleton().beginProfile( __FUNC__ )</span>
00054 <span class="preprocessor"></span><span class="preprocessor">#       define OgreProfileEnd( a ) Ogre::Profiler::getSingleton().endProfile( __FUNC__ )</span>
00055 <span class="preprocessor"></span><span class="preprocessor">#   endif</span>
00056 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00057"></a><a class="code" href="OgreProfiler_8h.html#a0">00057</a> <span class="preprocessor"></span><span class="preprocessor">#   define OgreProfile( a )</span>
<a name="l00058"></a><a class="code" href="OgreProfiler_8h.html#a1">00058</a> <span class="preprocessor"></span><span class="preprocessor">#   define OgreProfileBegin( a )</span>
<a name="l00059"></a><a class="code" href="OgreProfiler_8h.html#a2">00059</a> <span class="preprocessor"></span><span class="preprocessor">#   define OgreProfileEnd( a )</span>
00060 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00061 <span class="preprocessor"></span>
00062 <span class="keyword">namespace </span>Ogre {
00063 
<a name="l00074"></a><a class="code" href="classOgre_1_1Profile.html">00074</a>     <span class="keyword">class </span><a class="code" href="OgrePlatform_8h.html#a13">_OgreExport</a> Profile {
00075 
00076         <span class="keyword">public</span>:
00077             Profile(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; profileName);
00078             ~Profile();
00079 
00080         <span class="keyword">protected</span>:
00081 
<a name="l00083"></a><a class="code" href="classOgre_1_1Profile.html#Ogre_1_1Profilep0">00083</a>             <a class="code" href="namespaceOgre.html#a426">String</a> mName;
00084             
00085 
00086     };
00087 
<a name="l00099"></a><a class="code" href="classOgre_1_1Profiler.html">00099</a>     <span class="keyword">class </span><a class="code" href="class__OgreExport.html">_OgreExport</a> Profiler : <span class="keyword">public</span> <a class="code" href="classOgre_1_1Singleton.html">Singleton</a>&lt;Profiler&gt; {
00100 
00101         <span class="keyword">public</span>:
00102             Profiler();
00103             ~Profiler();
00104 
00106             <span class="keywordtype">void</span> setTimer(<a class="code" href="classOgre_1_1Timer.html">Timer</a>* t);
00107 
00109             <a class="code" href="classOgre_1_1Timer.html">Timer</a>* getTimer();
00110 
00123             <span class="keywordtype">void</span> beginProfile(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; profileName);
00124 
00137             <span class="keywordtype">void</span> endProfile(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; profileName);
00138 
00144             <span class="keywordtype">void</span> setEnabled(<span class="keywordtype">bool</span> enabled);
00145 
00147             <span class="keywordtype">bool</span> getEnabled() <span class="keyword">const</span>;
00148 
00153             <span class="keywordtype">void</span> enableProfile(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; profileName);
00154 
00159             <span class="keywordtype">void</span> disableProfile(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; profileName);
00160 
00166             <span class="keywordtype">bool</span> watchForMax(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; profileName);
00167 
00173             <span class="keywordtype">bool</span> watchForMin(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; profileName);
00174 
00184             <span class="keywordtype">bool</span> watchForLimit(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; profileName, <a class="code" href="namespaceOgre.html#a420">Real</a> limit, <span class="keywordtype">bool</span> greaterThan = <span class="keyword">true</span>);
00185 
00187             <span class="keywordtype">void</span> logResults();
00188 
00190             <span class="keywordtype">void</span> reset();
00191 
00193             <span class="keywordtype">void</span> setUpdateDisplayFrequency(<a class="code" href="namespaceOgre.html#a423">uint</a> freq);
00194 
00196             <a class="code" href="namespaceOgre.html#a423">uint</a> getUpdateDisplayFrequency() <span class="keyword">const</span>;
00197 
00213             <span class="keyword">static</span> Profiler&amp; getSingleton(<span class="keywordtype">void</span>);
00229             <span class="keyword">static</span> Profiler* getSingletonPtr(<span class="keywordtype">void</span>);
00230 
00231         <span class="keyword">protected</span>:
00232 
00234             <span class="keywordtype">void</span> initialize();
00235 
00237             <span class="keywordtype">void</span> displayResults();
00238 
00240             <span class="keywordtype">void</span> processFrameStats();
00241 
00243             <span class="keywordtype">void</span> changeEnableState();
00244 
00246             <a class="code" href="classOgre_1_1OverlayContainer.html">OverlayContainer</a>* createContainer();
00247 
00249             <a class="code" href="classOgre_1_1OverlayElement.html">OverlayElement</a>* createTextArea(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name, <a class="code" href="namespaceOgre.html#a420">Real</a> width, <a class="code" href="namespaceOgre.html#a420">Real</a> height, <a class="code" href="namespaceOgre.html#a420">Real</a> top, <a class="code" href="namespaceOgre.html#a420">Real</a> left, 
00250                                        <a class="code" href="namespaceOgre.html#a423">uint</a> fontSize, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; caption, <span class="keywordtype">bool</span> show = <span class="keyword">true</span>);
00251 
00253             <a class="code" href="classOgre_1_1OverlayElement.html">OverlayElement</a>* createPanel(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; name, <a class="code" href="namespaceOgre.html#a420">Real</a> width, <a class="code" href="namespaceOgre.html#a420">Real</a> height, <a class="code" href="namespaceOgre.html#a420">Real</a> top, <a class="code" href="namespaceOgre.html#a420">Real</a> left, 
00254                                     <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; materialName, <span class="keywordtype">bool</span> show = <span class="keyword">true</span>);
00255 
<a name="l00257"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileInstance.html">00257</a>             <span class="keyword">struct </span><a class="code" href="structOgre_1_1Profiler_1_1ProfileInstance.html">ProfileInstance</a> {
00258 
<a name="l00260"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileInstance.html#Ogre_1_1Profiler_1_1ProfileInstanceo0">00260</a>                 <a class="code" href="namespaceOgre.html#a426">String</a>      name;
00261 
<a name="l00263"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileInstance.html#Ogre_1_1Profiler_1_1ProfileInstanceo1">00263</a>                 <a class="code" href="namespaceOgre.html#a426">String</a>      parent;
00264 
<a name="l00266"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileInstance.html#Ogre_1_1Profiler_1_1ProfileInstanceo2">00266</a>                 <a class="code" href="namespaceOgre.html#a424">ulong</a>       currTime;
00267 
<a name="l00270"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileInstance.html#Ogre_1_1Profiler_1_1ProfileInstanceo3">00270</a>                 <a class="code" href="namespaceOgre.html#a424">ulong</a>       accum;
00271 
<a name="l00273"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileInstance.html#Ogre_1_1Profiler_1_1ProfileInstanceo4">00273</a>                 <a class="code" href="namespaceOgre.html#a423">uint</a>        hierarchicalLvl;
00274             };
00275 
<a name="l00278"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileFrame.html">00278</a>             <span class="keyword">struct </span><a class="code" href="structOgre_1_1Profiler_1_1ProfileFrame.html">ProfileFrame</a> {
00279                 
<a name="l00281"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileFrame.html#Ogre_1_1Profiler_1_1ProfileFrameo0">00281</a>                 <a class="code" href="namespaceOgre.html#a426">String</a>  name;
00282 
<a name="l00284"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileFrame.html#Ogre_1_1Profiler_1_1ProfileFrameo1">00284</a>                 <a class="code" href="namespaceOgre.html#a424">ulong</a>   frameTime;
00285 
<a name="l00287"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileFrame.html#Ogre_1_1Profiler_1_1ProfileFrameo2">00287</a>                 <a class="code" href="namespaceOgre.html#a423">uint</a>    calls;
00288 
<a name="l00290"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileFrame.html#Ogre_1_1Profiler_1_1ProfileFrameo3">00290</a>                 <a class="code" href="namespaceOgre.html#a423">uint</a>    hierarchicalLvl;
00291 
00292             };
00293             
<a name="l00295"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileHistory.html">00295</a>             <span class="keyword">struct </span><a class="code" href="structOgre_1_1Profiler_1_1ProfileHistory.html">ProfileHistory</a> {
00296 
<a name="l00298"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileHistory.html#Ogre_1_1Profiler_1_1ProfileHistoryo0">00298</a>                 <a class="code" href="namespaceOgre.html#a426">String</a>  name;
00299 
<a name="l00301"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileHistory.html#Ogre_1_1Profiler_1_1ProfileHistoryo1">00301</a>                 <a class="code" href="namespaceOgre.html#a420">Real</a>    currentTime; <span class="comment">// %</span>
00302 
<a name="l00304"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileHistory.html#Ogre_1_1Profiler_1_1ProfileHistoryo2">00304</a>                 <a class="code" href="namespaceOgre.html#a420">Real</a>    maxTime; <span class="comment">// %</span>
00305 
<a name="l00307"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileHistory.html#Ogre_1_1Profiler_1_1ProfileHistoryo3">00307</a>                 <a class="code" href="namespaceOgre.html#a420">Real</a>    minTime; <span class="comment">// %</span>
00308 
<a name="l00310"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileHistory.html#Ogre_1_1Profiler_1_1ProfileHistoryo4">00310</a>                 <a class="code" href="namespaceOgre.html#a423">uint</a>    numCallsThisFrame;
00311 
<a name="l00314"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileHistory.html#Ogre_1_1Profiler_1_1ProfileHistoryo5">00314</a>                 <a class="code" href="namespaceOgre.html#a420">Real</a>    totalTime; <span class="comment">// %</span>
00315 
<a name="l00318"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileHistory.html#Ogre_1_1Profiler_1_1ProfileHistoryo6">00318</a>                 <a class="code" href="namespaceOgre.html#a424">ulong</a>   totalCalls; <span class="comment">// %</span>
00319 
<a name="l00321"></a><a class="code" href="structOgre_1_1Profiler_1_1ProfileHistory.html#Ogre_1_1Profiler_1_1ProfileHistoryo7">00321</a>                 <a class="code" href="namespaceOgre.html#a423">uint</a>    hierarchicalLvl;
00322 
00323             };
00324 
00325             
<a name="l00326"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx0">00326</a>             <span class="keyword">typedef</span> std::list&lt;ProfileInstance&gt; <a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx0">ProfileStack</a>;
<a name="l00327"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx1">00327</a>             <span class="keyword">typedef</span> std::list&lt;ProfileFrame&gt; <a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx1">ProfileFrameList</a>;
<a name="l00328"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx2">00328</a>             <span class="keyword">typedef</span> std::list&lt;ProfileHistory&gt; <a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx2">ProfileHistoryList</a>;
<a name="l00329"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx3">00329</a>             <span class="keyword">typedef</span> std::map&lt;String, ProfileHistoryList::iterator&gt; <a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx3">ProfileHistoryMap</a>;
<a name="l00330"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx4">00330</a>             <span class="keyword">typedef</span> std::map&lt;String, bool&gt; <a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx4">DisabledProfileMap</a>;
00331 
<a name="l00332"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx5">00332</a>             <span class="keyword">typedef</span> std::list&lt;OverlayElement*&gt; <a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx5">ProfileBarList</a>;
00333 
<a name="l00335"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp0">00335</a>             <a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx0">ProfileStack</a> mProfiles;
00336 
<a name="l00339"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp1">00339</a>             <a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx1">ProfileFrameList</a> mProfileFrame;
00340 
<a name="l00342"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp2">00342</a>             <a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx2">ProfileHistoryList</a> mProfileHistory;
00343 
<a name="l00345"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp3">00345</a>             <a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx3">ProfileHistoryMap</a> mProfileHistoryMap;
00346 
<a name="l00348"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp4">00348</a>             <a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx4">DisabledProfileMap</a> mDisabledProfiles;
00349 
<a name="l00351"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp5">00351</a>             <a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerx5">ProfileBarList</a> mProfileBars;
00352 
<a name="l00354"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp6">00354</a>             <span class="keywordtype">bool</span> mInitialized;
00355 
<a name="l00357"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp7">00357</a>             <a class="code" href="namespaceOgre.html#a423">uint</a> maxProfiles;
00358 
<a name="l00360"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp8">00360</a>             <a class="code" href="classOgre_1_1Overlay.html">Overlay</a>* mOverlay;
00361 
<a name="l00363"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp9">00363</a>             <a class="code" href="classOgre_1_1OverlayContainer.html">OverlayContainer</a>* mProfileGui;
00364 
<a name="l00366"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp10">00366</a>             <a class="code" href="namespaceOgre.html#a420">Real</a> mBarHeight;
00367 
<a name="l00369"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp11">00369</a>             <a class="code" href="namespaceOgre.html#a420">Real</a> mGuiHeight;
00370 
<a name="l00372"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp12">00372</a>             <a class="code" href="namespaceOgre.html#a420">Real</a> mGuiWidth;
00373 
<a name="l00375"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp13">00375</a>             <a class="code" href="namespaceOgre.html#a420">Real</a> mBarIndent;
00376 
<a name="l00378"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp14">00378</a>             <a class="code" href="namespaceOgre.html#a420">Real</a> mGuiBorderWidth;
00379 
<a name="l00381"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp15">00381</a>             <a class="code" href="namespaceOgre.html#a420">Real</a> mBarLineWidth;
00382 
<a name="l00385"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp16">00385</a>             <a class="code" href="namespaceOgre.html#a423">uint</a> mUpdateDisplayFrequency;
00386 
<a name="l00388"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp17">00388</a>             <a class="code" href="namespaceOgre.html#a423">uint</a> mCurrentFrame;
00389 
<a name="l00391"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp18">00391</a>             <a class="code" href="classOgre_1_1Timer.html">Timer</a>* mTimer;
00392 
<a name="l00394"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp19">00394</a>             <a class="code" href="namespaceOgre.html#a424">ulong</a> mTotalFrameTime;
00395 
<a name="l00397"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp20">00397</a>             <span class="keywordtype">bool</span> mEnabled;
00398 
<a name="l00401"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp21">00401</a>             <span class="keywordtype">bool</span> mEnableStateChangePending;
00402 
<a name="l00405"></a><a class="code" href="classOgre_1_1Profiler.html#Ogre_1_1Profilerp22">00405</a>             <span class="keywordtype">bool</span> mNewEnableState;
00406 
00407     }; <span class="comment">// end class</span>
00408 
00409 } <span class="comment">// end namespace</span>
00410 
00411 <span class="preprocessor">#endif</span>
</pre></div><p>
Copyright &copy; 2000-2005 by The OGRE Team<br />
Last modified Wed Feb 23 00:19:11 2005
</p>
</body>
</html>