<html> <head> <title>OgreSceneManager.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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div> <h1>OgreSceneManager.h</h1><a href="OgreSceneManager_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*-------------------------------------------------------------------------</span> 00002 <span class="comment">This source file is a part of OGRE</span> 00003 <span class="comment">(Object-oriented Graphics Rendering Engine)</span> 00004 <span class="comment"></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 library is free software; you can redistribute it and/or modify it</span> 00011 <span class="comment">under the terms of the GNU Lesser General Public License (LGPL) as </span> 00012 <span class="comment">published by the Free Software Foundation; either version 2.1 of the </span> 00013 <span class="comment">License, or (at your option) any later version.</span> 00014 <span class="comment"></span> 00015 <span class="comment">This library is distributed in the hope that it will be useful, but </span> 00016 <span class="comment">WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY </span> 00017 <span class="comment">or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public </span> 00018 <span class="comment">License for more details.</span> 00019 <span class="comment"></span> 00020 <span class="comment">You should have received a copy of the GNU Lesser General Public License </span> 00021 <span class="comment">along with this library; if not, write to the Free Software Foundation, </span> 00022 <span class="comment">Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA or go to</span> 00023 <span class="comment">http://www.gnu.org/copyleft/lesser.txt</span> 00024 <span class="comment">-------------------------------------------------------------------------*/</span> 00025 <span class="preprocessor">#ifndef __SceneManager_H__</span> 00026 <span class="preprocessor"></span><span class="preprocessor">#define __SceneManager_H__</span> 00027 <span class="preprocessor"></span> 00028 <span class="comment">// Precompiler options</span> 00029 <span class="preprocessor">#include "<a class="code" href="OgrePrerequisites_8h.html">OgrePrerequisites.h</a>"</span> 00030 00031 <span class="preprocessor">#include "<a class="code" href="OgreString_8h.html">OgreString.h</a>"</span> 00032 <span class="preprocessor">#include "<a class="code" href="OgreSceneNode_8h.html">OgreSceneNode.h</a>"</span> 00033 <span class="preprocessor">#include "<a class="code" href="OgrePlane_8h.html">OgrePlane.h</a>"</span> 00034 <span class="preprocessor">#include "<a class="code" href="OgreQuaternion_8h.html">OgreQuaternion.h</a>"</span> 00035 <span class="preprocessor">#include "<a class="code" href="OgreColourValue_8h.html">OgreColourValue.h</a>"</span> 00036 <span class="preprocessor">#include "<a class="code" href="OgreCommon_8h.html">OgreCommon.h</a>"</span> 00037 <span class="preprocessor">#include "<a class="code" href="OgreRenderQueue_8h.html">OgreRenderQueue.h</a>"</span> 00038 <span class="preprocessor">#include "<a class="code" href="OgreAnimationState_8h.html">OgreAnimationState.h</a>"</span> 00039 <span class="preprocessor">#include "<a class="code" href="OgreSceneQuery_8h.html">OgreSceneQuery.h</a>"</span> 00040 <span class="preprocessor">#include "<a class="code" href="OgreAutoParamDataSource_8h.html">OgreAutoParamDataSource.h</a>"</span> 00041 <span class="preprocessor">#include "<a class="code" href="OgreAnimationState_8h.html">OgreAnimationState.h</a>"</span> 00042 <span class="preprocessor">#include "<a class="code" href="OgreRenderQueue_8h.html">OgreRenderQueue.h</a>"</span> 00043 <span class="preprocessor">#include "<a class="code" href="OgreRenderQueueSortingGrouping_8h.html">OgreRenderQueueSortingGrouping.h</a>"</span> 00044 <span class="preprocessor">#include "<a class="code" href="OgreRectangle2D_8h.html">OgreRectangle2D.h</a>"</span> 00045 00046 <span class="keyword">namespace </span>Ogre { 00047 <a name="l00049"></a><a class="code" href="structOgre_1_1ViewPoint.html">00049</a> <span class="keyword">struct </span><a class="code" href="structOgre_1_1ViewPoint.html">ViewPoint</a> 00050 { <a name="l00051"></a><a class="code" href="structOgre_1_1ViewPoint.html#Ogre_1_1ViewPointo0">00051</a> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> position; <a name="l00052"></a><a class="code" href="structOgre_1_1ViewPoint.html#Ogre_1_1ViewPointo1">00052</a> <a class="code" href="classOgre_1_1Quaternion.html">Quaternion</a> orientation; 00053 }; 00054 00055 <span class="comment">// Forward declarations</span> 00056 <span class="keyword">class </span><a class="code" href="classOgre_1_1DefaultIntersectionSceneQuery.html">DefaultIntersectionSceneQuery</a>; 00057 <span class="keyword">class </span><a class="code" href="classOgre_1_1DefaultRaySceneQuery.html">DefaultRaySceneQuery</a>; 00058 <span class="keyword">class </span><a class="code" href="classOgre_1_1DefaultSphereSceneQuery.html">DefaultSphereSceneQuery</a>; 00059 <span class="keyword">class </span><a class="code" href="classOgre_1_1DefaultAxisAlignedBoxSceneQuery.html">DefaultAxisAlignedBoxSceneQuery</a>; 00060 <a name="l00076"></a><a class="code" href="classOgre_1_1SceneManager.html">00076</a> <span class="keyword">class </span><a class="code" href="OgrePlatform_8h.html#a13">_OgreExport</a> SceneManager 00077 { <a name="l00078"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1SceneManagern0">00078</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classOgre_1_1DefaultIntersectionSceneQuery.html">DefaultIntersectionSceneQuery</a>; <a name="l00079"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1SceneManagern1">00079</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classOgre_1_1DefaultRaySceneQuery.html">DefaultRaySceneQuery</a>; <a name="l00080"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1SceneManagern2">00080</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classOgre_1_1DefaultSphereSceneQuery.html">DefaultSphereSceneQuery</a>; <a name="l00081"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1SceneManagern3">00081</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classOgre_1_1DefaultAxisAlignedBoxSceneQuery.html">DefaultAxisAlignedBoxSceneQuery</a>; <a name="l00082"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1SceneManagern4">00082</a> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classOgre_1_1DefaultPlaneBoundedVolumeListSceneQuery.html">DefaultPlaneBoundedVolumeListSceneQuery</a>; 00083 <span class="keyword">public</span>: <a name="l00085"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagers1">00085</a> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> WORLD_GEOMETRY_QUERY_MASK; <a name="l00088"></a><a class="code" href="structOgre_1_1SceneManager_1_1materialLess.html">00088</a> <span class="keyword">struct </span><a class="code" href="structOgre_1_1SceneManager_1_1materialLess.html">materialLess</a> 00089 { 00090 <a class="code" href="class__OgreExport.html">_OgreExport</a> <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Material.html">Material</a>* x, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Material.html">Material</a>* y) <span class="keyword">const</span>; 00091 }; <a name="l00093"></a><a class="code" href="structOgre_1_1SceneManager_1_1lightLess.html">00093</a> <span class="keyword">struct </span><a class="code" href="structOgre_1_1SceneManager_1_1lightLess.html">lightLess</a> 00094 { 00095 <a class="code" href="class__OgreExport.html">_OgreExport</a> <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Light.html">Light</a>* a, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Light.html">Light</a>* b) <span class="keyword">const</span>; 00096 }; 00097 <a name="l00099"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerw16">00099</a> <span class="keyword">enum</span> IlluminationRenderStage 00100 { 00102 IRS_NONE, 00104 IRS_AMBIENT, 00106 IRS_PER_LIGHT, 00108 IRS_DECAL, 00110 IRS_RENDER_TO_TEXTURE, 00112 IRS_RENDER_MODULATIVE_PASS 00113 }; 00114 <a name="l00119"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerw17">00119</a> <span class="keyword">enum</span> SpecialCaseRenderQueueMode 00120 { 00122 SCRQM_INCLUDE, 00124 SCRQM_EXCLUDE 00125 }; 00126 <span class="keyword">protected</span>: 00127 <a name="l00129"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp25">00129</a> <a class="code" href="classOgre_1_1RenderQueue.html">RenderQueue</a>* mRenderQueue; 00130 <a name="l00132"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp26">00132</a> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a> mAmbientLight; 00133 <a name="l00135"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp27">00135</a> <a class="code" href="classOgre_1_1RenderSystem.html">RenderSystem</a> *mDestRenderSystem; 00136 <a name="l00137"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx0">00137</a> <span class="keyword">typedef</span> std::map<String, Camera* > <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx0">CameraList</a>; 00138 <a name="l00141"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp28">00141</a> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx0">CameraList</a> mCameras; 00142 <a name="l00143"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx1">00143</a> <span class="keyword">typedef</span> std::map<String, Light* > <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx1">SceneLightList</a>; 00144 <a name="l00147"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp29">00147</a> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx1">SceneLightList</a> mLights; 00148 00149 <a name="l00150"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx2">00150</a> <span class="keyword">typedef</span> std::map<String, Entity* > <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx2">EntityList</a>; 00151 <a name="l00154"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp30">00154</a> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx2">EntityList</a> mEntities; 00155 <a name="l00156"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx3">00156</a> <span class="keyword">typedef</span> std::map<String, BillboardSet* > <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx3">BillboardSetList</a>; 00157 <a name="l00160"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp31">00160</a> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx3">BillboardSetList</a> mBillboardSets; 00161 <a name="l00162"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx4">00162</a> <span class="keyword">typedef</span> std::map<String, StaticGeometry* > <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx4">StaticGeometryList</a>; <a name="l00163"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp32">00163</a> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx4">StaticGeometryList</a> mStaticGeometryList; 00164 <a name="l00165"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx5">00165</a> <span class="keyword">typedef</span> std::map<String, SceneNode*> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx5">SceneNodeList</a>; 00166 <a name="l00173"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp33">00173</a> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx5">SceneNodeList</a> mSceneNodes; 00174 <a name="l00176"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp34">00176</a> <a class="code" href="classOgre_1_1Camera.html">Camera</a>* mCameraInProgress; <a name="l00178"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp35">00178</a> <a class="code" href="classOgre_1_1Viewport.html">Viewport</a>* mCurrentViewport; 00179 <a name="l00181"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp36">00181</a> <a class="code" href="classOgre_1_1SceneNode.html">SceneNode</a>* mSceneRoot; 00182 <a name="l00184"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx6">00184</a> <span class="keyword">typedef</span> std::set<SceneNode*> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx6">AutoTrackingSceneNodes</a>; <a name="l00185"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp37">00185</a> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx6">AutoTrackingSceneNodes</a> mAutoTrackingSceneNodes; 00186 00187 <span class="comment">// Sky params</span> 00188 <span class="comment">// Sky plane</span> <a name="l00189"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp38">00189</a> <a class="code" href="classOgre_1_1Entity.html">Entity</a>* mSkyPlaneEntity; <a name="l00190"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp39">00190</a> <a class="code" href="classOgre_1_1Entity.html">Entity</a>* mSkyDomeEntity[5]; <a name="l00191"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp40">00191</a> <a class="code" href="classOgre_1_1Entity.html">Entity</a>* mSkyBoxEntity[6]; 00192 <a name="l00193"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp41">00193</a> <a class="code" href="classOgre_1_1SceneNode.html">SceneNode</a>* mSkyPlaneNode; <a name="l00194"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp42">00194</a> <a class="code" href="classOgre_1_1SceneNode.html">SceneNode</a>* mSkyDomeNode; <a name="l00195"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp43">00195</a> <a class="code" href="classOgre_1_1SceneNode.html">SceneNode</a>* mSkyBoxNode; 00196 <a name="l00197"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp44">00197</a> <span class="keywordtype">bool</span> mSkyPlaneEnabled; <a name="l00198"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp45">00198</a> <span class="keywordtype">bool</span> mSkyPlaneDrawFirst; <a name="l00199"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp46">00199</a> <a class="code" href="classOgre_1_1Plane.html">Plane</a> mSkyPlane; 00200 <span class="comment">// Sky box</span> <a name="l00201"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp47">00201</a> <span class="keywordtype">bool</span> mSkyBoxEnabled; <a name="l00202"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp48">00202</a> <span class="keywordtype">bool</span> mSkyBoxDrawFirst; <a name="l00203"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp49">00203</a> <a class="code" href="classOgre_1_1Quaternion.html">Quaternion</a> mSkyBoxOrientation; 00204 <span class="comment">// Sky dome</span> <a name="l00205"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp50">00205</a> <span class="keywordtype">bool</span> mSkyDomeEnabled; <a name="l00206"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp51">00206</a> <span class="keywordtype">bool</span> mSkyDomeDrawFirst; <a name="l00207"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp52">00207</a> <a class="code" href="classOgre_1_1Quaternion.html">Quaternion</a> mSkyDomeOrientation; 00208 <span class="comment">// Fog</span> <a name="l00209"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp53">00209</a> <a class="code" href="namespaceOgre.html#a641">FogMode</a> mFogMode; <a name="l00210"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp54">00210</a> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a> mFogColour; <a name="l00211"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp55">00211</a> <a class="code" href="namespaceOgre.html#a420">Real</a> mFogStart; <a name="l00212"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp56">00212</a> <a class="code" href="namespaceOgre.html#a420">Real</a> mFogEnd; <a name="l00213"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp57">00213</a> <a class="code" href="namespaceOgre.html#a420">Real</a> mFogDensity; 00214 <a name="l00215"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx7">00215</a> <span class="keyword">typedef</span> std::set<RenderQueueGroupID> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx7">SpecialCaseRenderQueueList</a>; <a name="l00216"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp58">00216</a> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx7">SpecialCaseRenderQueueList</a> mSpecialCaseQueueList; <a name="l00217"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp59">00217</a> SpecialCaseRenderQueueMode mSpecialCaseQueueMode; <a name="l00218"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp60">00218</a> <a class="code" href="namespaceOgre.html#a668">RenderQueueGroupID</a> mWorldGeometryRenderQueue; 00219 00224 <span class="keyword">virtual</span> <span class="keywordtype">void</span> initRenderQueue(<span class="keywordtype">void</span>); 00226 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1RenderQueue.html">RenderQueue</a>* getRenderQueue(<span class="keywordtype">void</span>); 00234 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1Pass.html">Pass</a>* setPass(<a class="code" href="classOgre_1_1Pass.html">Pass</a>* pass); <a name="l00236"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp61">00236</a> <a class="code" href="classOgre_1_1Pass.html">Pass</a>* mShadowCasterPlainBlackPass; <a name="l00238"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp62">00238</a> <a class="code" href="classOgre_1_1Pass.html">Pass</a>* mShadowReceiverPass; 00248 <a class="code" href="classOgre_1_1Pass.html">Pass</a>* deriveShadowCasterPass(<a class="code" href="classOgre_1_1Pass.html">Pass</a>* pass); 00257 <a class="code" href="classOgre_1_1Pass.html">Pass</a>* deriveShadowReceiverPass(<a class="code" href="classOgre_1_1Pass.html">Pass</a>* pass); 00258 00265 <span class="keywordtype">bool</span> validatePassForRendering(<a class="code" href="classOgre_1_1Pass.html">Pass</a>* pass); 00266 00273 <span class="keywordtype">bool</span> validateRenderableForRendering(<a class="code" href="classOgre_1_1Pass.html">Pass</a>* pass, <a class="code" href="classOgre_1_1Renderable.html">Renderable</a>* rend); 00274 <a name="l00275"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx18">00275</a> <span class="keyword">enum</span> BoxPlane 00276 { 00277 BP_FRONT = 0, 00278 BP_BACK = 1, 00279 BP_LEFT = 2, 00280 BP_RIGHT = 3, 00281 BP_UP = 4, 00282 BP_DOWN = 5 00283 }; 00284 00285 <span class="comment">/* Internal utility method for creating the planes of a skybox.</span> 00286 <span class="comment"> */</span> 00287 <a class="code" href="classOgre_1_1MeshPtr.html">MeshPtr</a> createSkyboxPlane( 00288 BoxPlane bp, 00289 <a class="code" href="namespaceOgre.html#a420">Real</a> distance, 00290 <span class="keyword">const</span> <a class="code" href="classOgre_1_1Quaternion.html">Quaternion</a>& orientation, 00291 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& groupName); 00292 00293 <span class="comment">/* Internal utility method for creating the planes of a skydome.</span> 00294 <span class="comment"> */</span> 00295 <a class="code" href="classOgre_1_1MeshPtr.html">MeshPtr</a> createSkydomePlane( 00296 BoxPlane bp, 00297 <a class="code" href="namespaceOgre.html#a420">Real</a> curvature, <a class="code" href="namespaceOgre.html#a420">Real</a> tiling, <a class="code" href="namespaceOgre.html#a420">Real</a> distance, 00298 <span class="keyword">const</span> <a class="code" href="classOgre_1_1Quaternion.html">Quaternion</a>& orientation, 00299 <span class="keywordtype">int</span> xsegments, <span class="keywordtype">int</span> ysegments, <span class="keywordtype">int</span> ySegmentsToKeep, 00300 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& groupName); 00301 00302 <span class="comment">// Flag indicating whether SceneNodes will be rendered as a set of 3 axes</span> <a name="l00303"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp63">00303</a> <span class="keywordtype">bool</span> mDisplayNodes; 00304 <a name="l00306"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx8">00306</a> <span class="keyword">typedef</span> std::map<String, Animation*> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx8">AnimationList</a>; <a name="l00307"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp64">00307</a> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx8">AnimationList</a> mAnimationsList; <a name="l00308"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp65">00308</a> <a class="code" href="namespaceOgre.html#a0">AnimationStateSet</a> mAnimationStates; 00309 00312 <span class="keywordtype">void</span> useRenderableViewProjMode(<a class="code" href="classOgre_1_1Renderable.html">Renderable</a>* pRend); 00313 <a name="l00315"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp66">00315</a> <span class="keywordtype">bool</span> mCamChanged; 00316 <a name="l00317"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx9">00317</a> <span class="keyword">typedef</span> std::vector<RenderQueueListener*> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx9">RenderQueueListenerList</a>; <a name="l00318"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp67">00318</a> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx9">RenderQueueListenerList</a> mRenderQueueListeners; 00319 00321 <span class="keywordtype">bool</span> fireRenderQueueStarted(RenderQueueGroupID <span class="keywordtype">id</span>); 00323 <span class="keywordtype">bool</span> fireRenderQueueEnded(RenderQueueGroupID <span class="keywordtype">id</span>); 00324 00326 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setViewport(<a class="code" href="classOgre_1_1Viewport.html">Viewport</a> *vp); 00327 <a name="l00329"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp68">00329</a> <span class="keywordtype">bool</span> mShowBoundingBoxes; 00330 00343 <span class="keyword">virtual</span> <span class="keywordtype">void</span> renderSingleObject(<a class="code" href="classOgre_1_1Renderable.html">Renderable</a>* rend, <a class="code" href="classOgre_1_1Pass.html">Pass</a>* pass, <span class="keywordtype">bool</span> doLightIteration, 00344 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a59">LightList</a>* manualLightList = 0); 00345 <a name="l00347"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp69">00347</a> <a class="code" href="classOgre_1_1AutoParamDataSource.html">AutoParamDataSource</a> mAutoParamDataSource; 00348 <a name="l00349"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp70">00349</a> <a class="code" href="namespaceOgre.html#a646">ShadowTechnique</a> mShadowTechnique; <a name="l00350"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp71">00350</a> <span class="keywordtype">bool</span> mDebugShadows; <a name="l00351"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp72">00351</a> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a> mShadowColour; <a name="l00352"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp73">00352</a> <a class="code" href="classOgre_1_1Pass.html">Pass</a>* mShadowDebugPass; <a name="l00353"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp74">00353</a> <a class="code" href="classOgre_1_1Pass.html">Pass</a>* mShadowStencilPass; <a name="l00354"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp75">00354</a> <a class="code" href="classOgre_1_1Pass.html">Pass</a>* mShadowModulativePass; <a name="l00355"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp76">00355</a> <span class="keywordtype">bool</span> mShadowMaterialInitDone; <a name="l00356"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp77">00356</a> <a class="code" href="namespaceOgre.html#a59">LightList</a> mLightsAffectingFrustum; <a name="l00357"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp78">00357</a> <a class="code" href="classOgre_1_1HardwareIndexBufferSharedPtr.html">HardwareIndexBufferSharedPtr</a> mShadowIndexBuffer; <a name="l00358"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp79">00358</a> size_t mShadowIndexBufferSize; <a name="l00359"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp80">00359</a> <a class="code" href="classOgre_1_1Rectangle2D.html">Rectangle2D</a>* mFullScreenQuad; <a name="l00360"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp81">00360</a> <a class="code" href="namespaceOgre.html#a420">Real</a> mShadowDirLightExtrudeDist; <a name="l00361"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp82">00361</a> IlluminationRenderStage mIlluminationStage; <a name="l00362"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp83">00362</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> mShadowTextureSize; <a name="l00363"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp84">00363</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> mShadowTextureCount; <a name="l00364"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp85">00364</a> <a class="code" href="namespaceOgre.html#a666">PixelFormat</a> mShadowTextureFormat; <a name="l00365"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx10">00365</a> <span class="keyword">typedef</span> std::vector<RenderTexture*> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx10">ShadowTextureList</a>; <a name="l00366"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp86">00366</a> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx10">ShadowTextureList</a> mShadowTextures; <a name="l00367"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp87">00367</a> <a class="code" href="classOgre_1_1RenderTexture.html">RenderTexture</a>* mCurrentShadowTexture; <a name="l00368"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp88">00368</a> <span class="keywordtype">bool</span> mShadowUseInfiniteFarPlane; 00375 <span class="keyword">virtual</span> <span class="keywordtype">void</span> findLightsAffectingFrustum(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Camera.html">Camera</a>* camera); 00377 <span class="keyword">virtual</span> <span class="keywordtype">void</span> initShadowVolumeMaterials(<span class="keywordtype">void</span>); 00379 <span class="keyword">virtual</span> <span class="keywordtype">void</span> createShadowTextures(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> size, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> count, 00380 PixelFormat fmt); 00382 <span class="keyword">virtual</span> <span class="keywordtype">void</span> prepareShadowTextures(<a class="code" href="classOgre_1_1Camera.html">Camera</a>* cam, <a class="code" href="classOgre_1_1Viewport.html">Viewport</a>* vp); 00383 00389 <span class="keyword">virtual</span> <span class="keywordtype">void</span> renderShadowVolumesToStencil(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Light.html">Light</a>* light, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Camera.html">Camera</a>* cam); 00395 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadowVolumeStencilState(<span class="keywordtype">bool</span> secondpass, <span class="keywordtype">bool</span> zfail, <span class="keywordtype">bool</span> twosided); 00397 <span class="keywordtype">void</span> renderShadowVolumeObjects(<a class="code" href="classOgre_1_1VectorIterator.html">ShadowCaster::ShadowRenderableListIterator</a> iShadowRenderables, 00398 <a class="code" href="classOgre_1_1Pass.html">Pass</a>* pass, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a59">LightList</a> *manualLightList, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> flags, 00399 <span class="keywordtype">bool</span> secondpass, <span class="keywordtype">bool</span> zfail, <span class="keywordtype">bool</span> twosided); <a name="l00400"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx11">00400</a> <span class="keyword">typedef</span> std::vector<ShadowCaster*> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx11">ShadowCasterList</a>; <a name="l00401"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp89">00401</a> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx11">ShadowCasterList</a> mShadowCasterList; <a name="l00402"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp90">00402</a> <a class="code" href="classOgre_1_1SphereSceneQuery.html">SphereSceneQuery</a>* mShadowCasterSphereQuery; <a name="l00403"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp91">00403</a> <a class="code" href="classOgre_1_1AxisAlignedBoxSceneQuery.html">AxisAlignedBoxSceneQuery</a>* mShadowCasterAABBQuery; <a name="l00404"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp92">00404</a> <a class="code" href="namespaceOgre.html#a420">Real</a> mShadowFarDist; <a name="l00405"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp93">00405</a> <a class="code" href="namespaceOgre.html#a420">Real</a> mShadowFarDistSquared; <a name="l00406"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp94">00406</a> <a class="code" href="namespaceOgre.html#a420">Real</a> mShadowTextureOffset; <span class="comment">// proportion of texture offset in view direction e.g. 0.4</span> <a name="l00407"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp95">00407</a> <a class="code" href="namespaceOgre.html#a420">Real</a> mShadowTextureFadeStart; <span class="comment">// as a proportion e.g. 0.6</span> <a name="l00408"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp96">00408</a> <a class="code" href="namespaceOgre.html#a420">Real</a> mShadowTextureFadeEnd; <span class="comment">// as a proportion e.g. 0.9</span> <a name="l00409"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp97">00409</a> <span class="keywordtype">bool</span> mShadowTextureSelfShadow; <a name="l00410"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp98">00410</a> <a class="code" href="classOgre_1_1Pass.html">Pass</a>* mShadowTextureCustomCasterPass; <a name="l00411"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp99">00411</a> <a class="code" href="classOgre_1_1Pass.html">Pass</a>* mShadowTextureCustomReceiverPass; <a name="l00412"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp100">00412</a> <a class="code" href="namespaceOgre.html#a426">String</a> mShadowTextureCustomCasterVertexProgram; <a name="l00413"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp101">00413</a> <a class="code" href="namespaceOgre.html#a426">String</a> mShadowTextureCustomReceiverVertexProgram; <a name="l00414"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp102">00414</a> <a class="code" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> mShadowTextureCustomCasterVPParams; <a name="l00415"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp103">00415</a> <a class="code" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> mShadowTextureCustomReceiverVPParams; <a name="l00416"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp104">00416</a> <span class="keywordtype">bool</span> mShadowTextureCasterVPDirty; <a name="l00417"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp105">00417</a> <span class="keywordtype">bool</span> mShadowTextureReceiverVPDirty; 00418 00419 <a name="l00420"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp106">00420</a> <a class="code" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> mInfiniteExtrusionParams; <a name="l00421"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp107">00421</a> <a class="code" href="classOgre_1_1SharedPtr.html">GpuProgramParametersSharedPtr</a> mFiniteExtrusionParams; 00422 <a name="l00424"></a><a class="code" href="classOgre_1_1SceneManager_1_1ShadowCasterSceneQueryListener.html">00424</a> <span class="keyword">class </span><a class="code" href="class__OgreExport.html">_OgreExport</a> ShadowCasterSceneQueryListener : <span class="keyword">public</span> <a class="code" href="classOgre_1_1SceneQueryListener.html">SceneQueryListener</a> 00425 { 00426 <span class="keyword">protected</span>: <a name="l00427"></a><a class="code" href="classOgre_1_1SceneManager_1_1ShadowCasterSceneQueryListener.html#Ogre_1_1SceneManager_1_1ShadowCasterSceneQueryListenerp0">00427</a> SceneManager* mSceneMgr; <a name="l00428"></a><a class="code" href="classOgre_1_1SceneManager_1_1ShadowCasterSceneQueryListener.html#Ogre_1_1SceneManager_1_1ShadowCasterSceneQueryListenerp1">00428</a> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx11">ShadowCasterList</a>* mCasterList; <a name="l00429"></a><a class="code" href="classOgre_1_1SceneManager_1_1ShadowCasterSceneQueryListener.html#Ogre_1_1SceneManager_1_1ShadowCasterSceneQueryListenerp2">00429</a> <span class="keywordtype">bool</span> mIsLightInFrustum; <a name="l00430"></a><a class="code" href="classOgre_1_1SceneManager_1_1ShadowCasterSceneQueryListener.html#Ogre_1_1SceneManager_1_1ShadowCasterSceneQueryListenerp3">00430</a> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a411">PlaneBoundedVolumeList</a>* mLightClipVolumeList; <a name="l00431"></a><a class="code" href="classOgre_1_1SceneManager_1_1ShadowCasterSceneQueryListener.html#Ogre_1_1SceneManager_1_1ShadowCasterSceneQueryListenerp4">00431</a> <span class="keyword">const</span> <a class="code" href="classOgre_1_1Camera.html">Camera</a>* mCamera; <a name="l00432"></a><a class="code" href="classOgre_1_1SceneManager_1_1ShadowCasterSceneQueryListener.html#Ogre_1_1SceneManager_1_1ShadowCasterSceneQueryListenerp5">00432</a> <span class="keyword">const</span> <a class="code" href="classOgre_1_1Light.html">Light</a>* mLight; <a name="l00433"></a><a class="code" href="classOgre_1_1SceneManager_1_1ShadowCasterSceneQueryListener.html#Ogre_1_1SceneManager_1_1ShadowCasterSceneQueryListenerp6">00433</a> <a class="code" href="namespaceOgre.html#a420">Real</a> mFarDistSquared; 00434 <span class="keyword">public</span>: <a name="l00435"></a><a class="code" href="classOgre_1_1SceneManager_1_1ShadowCasterSceneQueryListener.html#Ogre_1_1SceneManager_1_1ShadowCasterSceneQueryListenera0">00435</a> ShadowCasterSceneQueryListener(SceneManager* sm) : mSceneMgr(sm), 00436 mCasterList(0), mIsLightInFrustum(false), mLightClipVolumeList(0), 00437 mCamera(0) {} 00438 <span class="comment">// Prepare the listener for use with a set of parameters </span> <a name="l00439"></a><a class="code" href="classOgre_1_1SceneManager_1_1ShadowCasterSceneQueryListener.html#Ogre_1_1SceneManager_1_1ShadowCasterSceneQueryListenera1">00439</a> <span class="keywordtype">void</span> prepare(<span class="keywordtype">bool</span> lightInFrustum, 00440 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a411">PlaneBoundedVolumeList</a>* lightClipVolumes, 00441 <span class="keyword">const</span> <a class="code" href="classOgre_1_1Light.html">Light</a>* light, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Camera.html">Camera</a>* cam, <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx11">ShadowCasterList</a>* casterList, 00442 <a class="code" href="namespaceOgre.html#a420">Real</a> farDistSquared) 00443 { 00444 mCasterList = casterList; 00445 mIsLightInFrustum = lightInFrustum; 00446 mLightClipVolumeList = lightClipVolumes; 00447 mCamera = cam; 00448 mLight = light; 00449 mFarDistSquared = farDistSquared; 00450 } 00451 <span class="keywordtype">bool</span> queryResult(<a class="code" href="classOgre_1_1MovableObject.html">MovableObject</a>* object); 00452 <span class="keywordtype">bool</span> queryResult(<a class="code" href="structOgre_1_1SceneQuery_1_1WorldFragment.html">SceneQuery::WorldFragment</a>* fragment); 00453 }; 00454 <a name="l00455"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerp108">00455</a> ShadowCasterSceneQueryListener* mShadowCasterQueryListener; 00456 00463 <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerx11">ShadowCasterList</a>& findShadowCastersForLight(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Light.html">Light</a>* light, 00464 <span class="keyword">const</span> <a class="code" href="classOgre_1_1Camera.html">Camera</a>* camera); 00467 <span class="keyword">virtual</span> <span class="keywordtype">void</span> renderQueueGroupObjects(<a class="code" href="classOgre_1_1RenderQueueGroup.html">RenderQueueGroup</a>* group); 00469 <span class="keyword">virtual</span> <span class="keywordtype">void</span> renderBasicQueueGroupObjects(<a class="code" href="classOgre_1_1RenderQueueGroup.html">RenderQueueGroup</a>* pGroup); 00471 <span class="keyword">virtual</span> <span class="keywordtype">void</span> renderAdditiveStencilShadowedQueueGroupObjects(<a class="code" href="classOgre_1_1RenderQueueGroup.html">RenderQueueGroup</a>* group); 00473 <span class="keyword">virtual</span> <span class="keywordtype">void</span> renderModulativeStencilShadowedQueueGroupObjects(<a class="code" href="classOgre_1_1RenderQueueGroup.html">RenderQueueGroup</a>* group); 00475 <span class="keyword">virtual</span> <span class="keywordtype">void</span> renderTextureShadowCasterQueueGroupObjects(<a class="code" href="classOgre_1_1RenderQueueGroup.html">RenderQueueGroup</a>* group); 00477 <span class="keyword">virtual</span> <span class="keywordtype">void</span> renderTextureShadowReceiverQueueGroupObjects(<a class="code" href="classOgre_1_1RenderQueueGroup.html">RenderQueueGroup</a>* group); 00479 <span class="keyword">virtual</span> <span class="keywordtype">void</span> renderModulativeTextureShadowedQueueGroupObjects(<a class="code" href="classOgre_1_1RenderQueueGroup.html">RenderQueueGroup</a>* group); 00481 <span class="keyword">virtual</span> <span class="keywordtype">void</span> renderObjects(<span class="keyword">const</span> <a class="code" href="classOgre_1_1RenderPriorityGroup.html#Ogre_1_1RenderPriorityGroupw2">RenderPriorityGroup::SolidRenderablePassMap</a>& objs, 00482 <span class="keywordtype">bool</span> doLightIteration, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a59">LightList</a>* manualLightList = 0); 00484 <span class="keyword">virtual</span> <span class="keywordtype">void</span> renderObjects(<span class="keyword">const</span> <a class="code" href="classOgre_1_1RenderPriorityGroup.html#Ogre_1_1RenderPriorityGroupw0">RenderPriorityGroup::TransparentRenderablePassList</a>& objs, 00485 <span class="keywordtype">bool</span> doLightIteration, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a59">LightList</a>* manualLightList = 0); 00491 <span class="keyword">virtual</span> <span class="keywordtype">void</span> renderTransparentShadowCasterObjects(<span class="keyword">const</span> <a class="code" href="classOgre_1_1RenderPriorityGroup.html#Ogre_1_1RenderPriorityGroupw0">RenderPriorityGroup::TransparentRenderablePassList</a>& objs, 00492 <span class="keywordtype">bool</span> doLightIteration, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a59">LightList</a>* manualLightList = 0); 00493 00494 <span class="keyword">public</span>: 00497 SceneManager(); 00498 00501 <span class="keyword">virtual</span> ~SceneManager(); 00502 00510 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1Camera.html">Camera</a>* createCamera(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 00511 00514 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1Camera.html">Camera</a>* getCamera(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 00515 00524 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeCamera(<a class="code" href="classOgre_1_1Camera.html">Camera</a> *cam); 00525 00531 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeCamera(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 00532 00535 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeAllCameras(<span class="keywordtype">void</span>); 00536 00547 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1Light.html">Light</a>* createLight(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 00548 00551 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1Light.html">Light</a>* getLight(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 00552 00557 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeLight(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 00558 00563 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeLight(<a class="code" href="classOgre_1_1Light.html">Light</a>* light); 00566 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeAllLights(<span class="keywordtype">void</span>); 00567 00587 <span class="keyword">virtual</span> <span class="keywordtype">void</span> _populateLightList(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>& position, <a class="code" href="namespaceOgre.html#a420">Real</a> radius, <a class="code" href="namespaceOgre.html#a59">LightList</a>& destList); 00588 00589 00606 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1SceneNode.html">SceneNode</a>* createSceneNode(<span class="keywordtype">void</span>); 00607 00622 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1SceneNode.html">SceneNode</a>* createSceneNode(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 00623 00630 <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroySceneNode(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 00631 00647 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1SceneNode.html">SceneNode</a>* getRootSceneNode(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00648 00655 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1SceneNode.html">SceneNode</a>* getSceneNode(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name) <span class="keyword">const</span>; 00656 00664 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1Entity.html">Entity</a>* createEntity(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& entityName, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& meshName); 00665 <a name="l00672"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerw18">00672</a> <span class="keyword">enum</span> PrefabType { 00673 PT_PLANE 00674 }; 00675 00682 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1Entity.html">Entity</a>* createEntity(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& entityName, PrefabType ptype); 00684 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1Entity.html">Entity</a>* getEntity(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 00685 00694 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeEntity(<a class="code" href="classOgre_1_1Entity.html">Entity</a>* ent); 00695 00704 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeEntity(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 00705 00715 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeAllEntities(<span class="keywordtype">void</span>); 00716 00722 <span class="keyword">virtual</span> <span class="keywordtype">void</span> clearScene(<span class="keywordtype">void</span>); 00723 00736 <span class="keywordtype">void</span> setAmbientLight(<span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>& colour); 00737 00740 <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>& getAmbientLight(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00741 00757 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setWorldGeometry(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& filename); 00758 <a name="l00771"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera91">00771</a> <span class="keyword">virtual</span> size_t estimateWorldGeometry(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& filename) { <span class="keywordflow">return</span> 0; } 00772 00787 <span class="keyword">virtual</span> <a class="code" href="structOgre_1_1ViewPoint.html">ViewPoint</a> getSuggestedViewpoint(<span class="keywordtype">bool</span> random = <span class="keyword">false</span>); 00788 <a name="l00802"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1SceneManagera30">00802</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> setOption( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& strKey, <span class="keyword">const</span> <span class="keywordtype">void</span>* pValue ) { <span class="keywordflow">return</span> <span class="keyword">false</span>; } 00803 <a name="l00817"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1SceneManagera31">00817</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> getOption( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& strKey, <span class="keywordtype">void</span>* pDestValue ) { <span class="keywordflow">return</span> <span class="keyword">false</span>; } 00818 <a name="l00828"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera93">00828</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> hasOption( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& strKey )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">false</span>; } <a name="l00843"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1SceneManagera33">00843</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> getOptionValues( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& strKey, <a class="code" href="namespaceOgre.html#a534">StringVector</a>& refValueList ) { <span class="keywordflow">return</span> <span class="keyword">false</span>; } 00844 <a name="l00851"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1SceneManagera34">00851</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> getOptionKeys( <a class="code" href="namespaceOgre.html#a534">StringVector</a>& refKeys ) { <span class="keywordflow">return</span> <span class="keyword">false</span>; } 00852 00861 <span class="keyword">virtual</span> <span class="keywordtype">void</span> _updateSceneGraph(<a class="code" href="classOgre_1_1Camera.html">Camera</a>* cam); 00862 00874 <span class="keyword">virtual</span> <span class="keywordtype">void</span> _findVisibleObjects(<a class="code" href="classOgre_1_1Camera.html">Camera</a>* cam, <span class="keywordtype">bool</span> onlyShadowCasters); 00875 00880 <span class="keyword">virtual</span> <span class="keywordtype">void</span> _applySceneAnimations(<span class="keywordtype">void</span>); 00881 00884 <span class="keyword">virtual</span> <span class="keywordtype">void</span> _renderVisibleObjects(<span class="keywordtype">void</span>); 00885 00899 <span class="keyword">virtual</span> <span class="keywordtype">void</span> _renderScene(<a class="code" href="classOgre_1_1Camera.html">Camera</a>* camera, <a class="code" href="classOgre_1_1Viewport.html">Viewport</a>* vp, <span class="keywordtype">bool</span> includeOverlays); 00900 00904 <span class="keyword">virtual</span> <span class="keywordtype">void</span> _queueSkiesForRendering(<a class="code" href="classOgre_1_1Camera.html">Camera</a>* cam); 00905 00906 00907 00916 <span class="keyword">virtual</span> <span class="keywordtype">void</span> _setDestinationRenderSystem(<a class="code" href="classOgre_1_1RenderSystem.html">RenderSystem</a>* sys); 00917 00970 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setSkyPlane( 00971 <span class="keywordtype">bool</span> enable, 00972 <span class="keyword">const</span> <a class="code" href="classOgre_1_1Plane.html">Plane</a>& plane, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& materialName, <a class="code" href="namespaceOgre.html#a420">Real</a> scale = 1000, 00973 <a class="code" href="namespaceOgre.html#a420">Real</a> tiling = 10, <span class="keywordtype">bool</span> drawFirst = <span class="keyword">true</span>, <a class="code" href="namespaceOgre.html#a420">Real</a> bow = 0, 00974 <span class="keywordtype">int</span> xsegments = 1, <span class="keywordtype">int</span> ysegments = 1, 00975 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); 00976 01018 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setSkyBox( 01019 <span class="keywordtype">bool</span> enable, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& materialName, <a class="code" href="namespaceOgre.html#a420">Real</a> distance = 5000, 01020 <span class="keywordtype">bool</span> drawFirst = <span class="keyword">true</span>, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Quaternion.html">Quaternion</a>& orientation = Quaternion::IDENTITY, 01021 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); 01022 01078 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setSkyDome( 01079 <span class="keywordtype">bool</span> enable, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& materialName, <a class="code" href="namespaceOgre.html#a420">Real</a> curvature = 10, 01080 <a class="code" href="namespaceOgre.html#a420">Real</a> tiling = 8, <a class="code" href="namespaceOgre.html#a420">Real</a> distance = 4000, <span class="keywordtype">bool</span> drawFirst = <span class="keyword">true</span>, 01081 <span class="keyword">const</span> <a class="code" href="classOgre_1_1Quaternion.html">Quaternion</a>& orientation = Quaternion::IDENTITY, 01082 <span class="keywordtype">int</span> xsegments = 16, <span class="keywordtype">int</span> ysegments = 16, <span class="keywordtype">int</span> ysegments_keep = -1, 01083 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& groupName = ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); 01084 01109 <span class="keywordtype">void</span> setFog( 01110 FogMode mode = FOG_NONE, <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>& colour = ColourValue::White, 01111 <a class="code" href="namespaceOgre.html#a420">Real</a> expDensity = 0.001, <a class="code" href="namespaceOgre.html#a420">Real</a> linearStart = 0.0, <a class="code" href="namespaceOgre.html#a420">Real</a> linearEnd = 1.0); 01112 01115 <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a641">FogMode</a> getFogMode(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 01116 01119 <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>& getFogColour(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 01120 01123 <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a420">Real</a> getFogStart(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 01124 01127 <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a420">Real</a> getFogEnd(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 01128 01131 <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a420">Real</a> getFogDensity(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 01132 01133 01151 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1BillboardSet.html">BillboardSet</a>* createBillboardSet(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> poolSize = 20); 01152 01155 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1BillboardSet.html">BillboardSet</a>* getBillboardSet(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 01156 01163 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeBillboardSet(<a class="code" href="classOgre_1_1BillboardSet.html">BillboardSet</a>* set); 01164 01171 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeBillboardSet(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 01172 01182 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeAllBillboardSets(<span class="keywordtype">void</span>); 01183 01191 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setDisplaySceneNodes(<span class="keywordtype">bool</span> display); 01192 01213 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1Animation.html">Animation</a>* createAnimation(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name, <a class="code" href="namespaceOgre.html#a420">Real</a> length); 01214 01216 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1Animation.html">Animation</a>* getAnimation(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name) <span class="keyword">const</span>; 01217 01223 <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroyAnimation(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 01224 01226 <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroyAllAnimations(<span class="keywordtype">void</span>); 01227 01251 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1AnimationState.html">AnimationState</a>* createAnimationState(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& animName); 01252 01254 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1AnimationState.html">AnimationState</a>* getAnimationState(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& animName); 01255 01261 <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroyAnimationState(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 01262 01264 <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroyAllAnimationStates(<span class="keywordtype">void</span>); 01265 01289 <span class="keyword">virtual</span> <span class="keywordtype">void</span> manualRender(<a class="code" href="classOgre_1_1RenderOperation.html">RenderOperation</a>* rend, <a class="code" href="classOgre_1_1Pass.html">Pass</a>* pass, <a class="code" href="classOgre_1_1Viewport.html">Viewport</a>* vp, 01290 <span class="keyword">const</span> <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>& worldMatrix, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>& viewMatrix, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Matrix4.html">Matrix4</a>& projMatrix, 01291 <span class="keywordtype">bool</span> doBeginEndFrame = <span class="keyword">false</span>) ; 01292 01296 <span class="keyword">virtual</span> <span class="keywordtype">void</span> addRenderQueueListener(<a class="code" href="classOgre_1_1RenderQueueListener.html">RenderQueueListener</a>* newListener); 01297 01299 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeRenderQueueListener(<a class="code" href="classOgre_1_1RenderQueueListener.html">RenderQueueListener</a>* delListener); 01300 01314 <span class="keyword">virtual</span> <span class="keywordtype">void</span> addSpecialCaseRenderQueue(RenderQueueGroupID qid); 01320 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeSpecialCaseRenderQueue(RenderQueueGroupID qid); 01324 <span class="keyword">virtual</span> <span class="keywordtype">void</span> clearSpecialCaseRenderQueues(<span class="keywordtype">void</span>); 01329 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setSpecialCaseRenderQueueMode(SpecialCaseRenderQueueMode mode); 01331 <span class="keyword">virtual</span> SpecialCaseRenderQueueMode getSpecialCaseRenderQueueMode(<span class="keywordtype">void</span>); 01338 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isRenderQueueToBeProcessed(RenderQueueGroupID qid); 01339 01355 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setWorldGeometryRenderQueue(RenderQueueGroupID qid); 01366 <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a668">RenderQueueGroupID</a> getWorldGeometryRenderQueue(<span class="keywordtype">void</span>); 01367 01369 <span class="keyword">virtual</span> <span class="keywordtype">void</span> showBoundingBoxes(<span class="keywordtype">bool</span> bShow); 01370 01372 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> getShowBoundingBoxes() <span class="keyword">const</span>; 01373 01375 <span class="keyword">virtual</span> <span class="keywordtype">void</span> _notifyAutotrackingSceneNode(<a class="code" href="classOgre_1_1SceneNode.html">SceneNode</a>* node, <span class="keywordtype">bool</span> autoTrack); 01376 01377 01390 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1AxisAlignedBoxSceneQuery.html">AxisAlignedBoxSceneQuery</a>* 01391 createAABBQuery(<span class="keyword">const</span> <a class="code" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a>& box, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mask = 0xFFFFFFFF); 01404 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1SphereSceneQuery.html">SphereSceneQuery</a>* 01405 createSphereQuery(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Sphere.html">Sphere</a>& sphere, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mask = 0xFFFFFFFF); 01418 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1PlaneBoundedVolumeListSceneQuery.html">PlaneBoundedVolumeListSceneQuery</a>* 01419 createPlaneBoundedVolumeQuery(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a411">PlaneBoundedVolumeList</a>& volumes, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mask = 0xFFFFFFFF); 01420 01421 01434 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1RaySceneQuery.html">RaySceneQuery</a>* 01435 createRayQuery(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Ray.html">Ray</a>& ray, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mask = 0xFFFFFFFF); 01436 <span class="comment">//PyramidSceneQuery* createPyramidQuery(const Pyramid& p, unsigned long mask = 0xFFFFFFFF);</span> 01448 <span class="comment"></span> <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1IntersectionSceneQuery.html">IntersectionSceneQuery</a>* 01449 createIntersectionQuery(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mask = 0xFFFFFFFF); 01450 01452 <span class="keyword">virtual</span> <span class="keywordtype">void</span> destroyQuery(<a class="code" href="classOgre_1_1SceneQuery.html">SceneQuery</a>* query); 01453 <a name="l01454"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerw2">01454</a> <span class="keyword">typedef</span> <a class="code" href="classOgre_1_1MapIterator.html">MapIterator<SceneLightList></a> <a class="code" href="classOgre_1_1MapIterator.html">LightIterator</a>; <a name="l01455"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerw3">01455</a> <span class="keyword">typedef</span> <a class="code" href="classOgre_1_1MapIterator.html">MapIterator<EntityList></a> <a class="code" href="classOgre_1_1MapIterator.html">EntityIterator</a>; <a name="l01456"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerw4">01456</a> <span class="keyword">typedef</span> <a class="code" href="classOgre_1_1MapIterator.html">MapIterator<CameraList></a> <a class="code" href="classOgre_1_1MapIterator.html">CameraIterator</a>; <a name="l01457"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerw5">01457</a> <span class="keyword">typedef</span> <a class="code" href="classOgre_1_1MapIterator.html">MapIterator<BillboardSetList></a> <a class="code" href="classOgre_1_1MapIterator.html">BillboardSetIterator</a>; <a name="l01458"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagerw6">01458</a> <span class="keyword">typedef</span> <a class="code" href="classOgre_1_1MapIterator.html">MapIterator<AnimationList></a> <a class="code" href="classOgre_1_1MapIterator.html">AnimationIterator</a>; 01459 <a name="l01461"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera136">01461</a> <a class="code" href="classOgre_1_1MapIterator.html">LightIterator</a> getLightIterator(<span class="keywordtype">void</span>) { 01462 <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1MapIterator.html">LightIterator</a>(mLights.begin(), mLights.end()); 01463 } <a name="l01465"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera137">01465</a> <a class="code" href="classOgre_1_1MapIterator.html">EntityIterator</a> getEntityIterator(<span class="keywordtype">void</span>) { 01466 <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1MapIterator.html">EntityIterator</a>(mEntities.begin(), mEntities.end()); 01467 } <a name="l01469"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera138">01469</a> <a class="code" href="classOgre_1_1MapIterator.html">CameraIterator</a> getCameraIterator(<span class="keywordtype">void</span>) { 01470 <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1MapIterator.html">CameraIterator</a>(mCameras.begin(), mCameras.end()); 01471 } <a name="l01473"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera139">01473</a> <a class="code" href="classOgre_1_1MapIterator.html">BillboardSetIterator</a> getBillboardSetIterator(<span class="keywordtype">void</span>) { 01474 <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1MapIterator.html">BillboardSetIterator</a>(mBillboardSets.begin(), mBillboardSets.end()); 01475 } <a name="l01477"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera140">01477</a> <a class="code" href="classOgre_1_1MapIterator.html">AnimationIterator</a> getAnimationIterator(<span class="keywordtype">void</span>) { 01478 <span class="keywordflow">return</span> <a class="code" href="classOgre_1_1MapIterator.html">AnimationIterator</a>(mAnimationsList.begin(), mAnimationsList.end()); 01479 } <a name="l01481"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera141">01481</a> <a class="code" href="classOgre_1_1MapIterator.html">AnimationStateIterator</a> getAnimationStateIterator(<span class="keywordtype">void</span>) { 01482 <span class="keywordflow">return</span> <a class="code" href="namespaceOgre.html#a1">AnimationStateIterator</a>(mAnimationStates.begin(), mAnimationStates.end()); 01483 } 01484 01517 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadowTechnique(ShadowTechnique technique); 01518 <a name="l01520"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera143">01520</a> <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a646">ShadowTechnique</a> getShadowTechnique(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mShadowTechnique; } 01521 <a name="l01523"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera144">01523</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShowDebugShadows(<span class="keywordtype">bool</span> debug) { mDebugShadows = debug; } <a name="l01525"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera145">01525</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> getShowDebugShadows(<span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mDebugShadows; } 01526 01533 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadowColour(<span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>& colour); 01540 <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html">ColourValue</a>& getShadowColour(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 01552 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadowDirectionalLightExtrusionDistance(<a class="code" href="namespaceOgre.html#a420">Real</a> dist); 01555 <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a420">Real</a> getShadowDirectionalLightExtrusionDistance(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 01571 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadowFarDistance(<a class="code" href="namespaceOgre.html#a420">Real</a> distance); <a name="l01575"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera151">01575</a> <span class="keyword">virtual</span> <a class="code" href="namespaceOgre.html#a420">Real</a> getShadowFarDistance(<span class="keywordtype">void</span>)<span class="keyword"> const</span> 01576 <span class="keyword"> </span>{ <span class="keywordflow">return</span> mShadowFarDist; } 01577 01603 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadowIndexBufferSize(size_t size); <a name="l01605"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera153">01605</a> <span class="keyword">virtual</span> size_t getShadowIndexBufferSize(<span class="keywordtype">void</span>)<span class="keyword"> const</span> 01606 <span class="keyword"> </span>{ <span class="keywordflow">return</span> mShadowIndexBufferSize; } 01613 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadowTextureSize(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> size); <a name="l01615"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera155">01615</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> getShadowTextureSize(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{<span class="keywordflow">return</span> mShadowTextureSize; } 01625 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadowTexturePixelFormat(PixelFormat fmt); <a name="l01627"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera157">01627</a> <a class="code" href="namespaceOgre.html#a666">PixelFormat</a> getShadowTexturePixelFormat(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{<span class="keywordflow">return</span> mShadowTextureFormat; } 01635 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadowTextureCount(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> count); <a name="l01637"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera159">01637</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> getShadowTextureCount(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{<span class="keywordflow">return</span> mShadowTextureCount; } 01644 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadowTextureSettings(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> size, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> count, 01645 PixelFormat fmt = PF_X8R8G8B8); <a name="l01660"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera161">01660</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadowDirLightTextureOffset(<a class="code" href="namespaceOgre.html#a420">Real</a> offset) { mShadowTextureOffset = offset;} <a name="l01668"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera162">01668</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadowTextureFadeStart(<a class="code" href="namespaceOgre.html#a420">Real</a> fadeStart) 01669 { mShadowTextureFadeStart = fadeStart; } <a name="l01677"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera163">01677</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadowTextureFadeEnd(<a class="code" href="namespaceOgre.html#a420">Real</a> fadeEnd) 01678 { mShadowTextureFadeEnd = fadeEnd; } 01679 <a name="l01692"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera164">01692</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadowTextureSelfShadow(<span class="keywordtype">bool</span> selfShadow) 01693 { mShadowTextureSelfShadow = selfShadow; } <a name="l01695"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera165">01695</a> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> getShadowTextureSelfShadow(<span class="keywordtype">void</span>)<span class="keyword"> const </span> 01696 <span class="keyword"> </span>{ <span class="keywordflow">return</span> mShadowTextureSelfShadow; } 01717 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadowTextureCasterMaterial(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 01739 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadowTextureReceiverMaterial(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 01740 <a name="l01777"></a><a class="code" href="classOgre_1_1SceneManager.html#Ogre_1_1TerrainSceneManagera168">01777</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> setShadowUseInfiniteFarPlane(<span class="keywordtype">bool</span> enable) { 01778 mShadowUseInfiniteFarPlane = enable; } 01779 01789 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1StaticGeometry.html">StaticGeometry</a>* createStaticGeometry(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 01791 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1StaticGeometry.html">StaticGeometry</a>* getStaticGeometry(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name) <span class="keyword">const</span>; 01793 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeStaticGeometry(<a class="code" href="classOgre_1_1StaticGeometry.html">StaticGeometry</a>* geom); 01795 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeStaticGeometry(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& name); 01797 <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeAllStaticGeometry(<span class="keywordtype">void</span>); 01798 01799 01800 }; 01801 <a name="l01803"></a><a class="code" href="classOgre_1_1DefaultIntersectionSceneQuery.html">01803</a> <span class="keyword">class </span><a class="code" href="class__OgreExport.html">_OgreExport</a> DefaultIntersectionSceneQuery : 01804 <span class="keyword">public</span> <a class="code" href="classOgre_1_1IntersectionSceneQuery.html">IntersectionSceneQuery</a> 01805 { 01806 <span class="keyword">public</span>: 01807 DefaultIntersectionSceneQuery(SceneManager* creator); 01808 ~DefaultIntersectionSceneQuery(); 01809 01811 <span class="keywordtype">void</span> execute(<a class="code" href="classOgre_1_1IntersectionSceneQueryListener.html">IntersectionSceneQueryListener</a>* listener); 01812 }; 01813 <a name="l01815"></a><a class="code" href="classOgre_1_1DefaultRaySceneQuery.html">01815</a> <span class="keyword">class </span><a class="code" href="class__OgreExport.html">_OgreExport</a> DefaultRaySceneQuery : <span class="keyword">public</span> <a class="code" href="classOgre_1_1RaySceneQuery.html">RaySceneQuery</a> 01816 { 01817 <span class="keyword">public</span>: 01818 DefaultRaySceneQuery(SceneManager* creator); 01819 ~DefaultRaySceneQuery(); 01820 01822 <span class="keywordtype">void</span> execute(<a class="code" href="classOgre_1_1RaySceneQueryListener.html">RaySceneQueryListener</a>* listener); 01823 }; <a name="l01825"></a><a class="code" href="classOgre_1_1DefaultSphereSceneQuery.html">01825</a> <span class="keyword">class </span><a class="code" href="class__OgreExport.html">_OgreExport</a> DefaultSphereSceneQuery : <span class="keyword">public</span> <a class="code" href="classOgre_1_1SphereSceneQuery.html">SphereSceneQuery</a> 01826 { 01827 <span class="keyword">public</span>: 01828 DefaultSphereSceneQuery(SceneManager* creator); 01829 ~DefaultSphereSceneQuery(); 01830 01832 <span class="keywordtype">void</span> execute(<a class="code" href="classOgre_1_1SceneQueryListener.html">SceneQueryListener</a>* listener); 01833 }; <a name="l01835"></a><a class="code" href="classOgre_1_1DefaultPlaneBoundedVolumeListSceneQuery.html">01835</a> <span class="keyword">class </span><a class="code" href="class__OgreExport.html">_OgreExport</a> DefaultPlaneBoundedVolumeListSceneQuery : <span class="keyword">public</span> <a class="code" href="classOgre_1_1PlaneBoundedVolumeListSceneQuery.html">PlaneBoundedVolumeListSceneQuery</a> 01836 { 01837 <span class="keyword">public</span>: 01838 DefaultPlaneBoundedVolumeListSceneQuery(SceneManager* creator); 01839 ~DefaultPlaneBoundedVolumeListSceneQuery(); 01840 01842 <span class="keywordtype">void</span> execute(<a class="code" href="classOgre_1_1SceneQueryListener.html">SceneQueryListener</a>* listener); 01843 }; <a name="l01845"></a><a class="code" href="classOgre_1_1DefaultAxisAlignedBoxSceneQuery.html">01845</a> <span class="keyword">class </span><a class="code" href="class__OgreExport.html">_OgreExport</a> DefaultAxisAlignedBoxSceneQuery : <span class="keyword">public</span> <a class="code" href="classOgre_1_1AxisAlignedBoxSceneQuery.html">AxisAlignedBoxSceneQuery</a> 01846 { 01847 <span class="keyword">public</span>: 01848 DefaultAxisAlignedBoxSceneQuery(SceneManager* creator); 01849 ~DefaultAxisAlignedBoxSceneQuery(); 01850 01852 <span class="keywordtype">void</span> execute(<a class="code" href="classOgre_1_1SceneQueryListener.html">SceneQueryListener</a>* listener); 01853 }; 01854 01855 01856 01857 } <span class="comment">// Namespace</span> 01858 01859 01860 01861 <span class="preprocessor">#endif</span> </pre></div><p> Copyright © 2000-2005 by The OGRE Team<br /> Last modified Wed Feb 23 00:19:13 2005 </p> </body> </html>