PageRenderTime 73ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 1ms

/OgreSDK_vc10_v1-7-2/Docs/api/html/OgreTerrain_8h_source.html

https://bitbucket.org/rosselm/projects
HTML | 904 lines | 895 code | 2 blank | 7 comment | 0 complexity | 43a2da8647484b1f69df1bf5d5aaa1f5 MD5 | raw file
Possible License(s): GPL-2.0, MIT, GPL-3.0, BSD-3-Clause, LGPL-3.0
  1. <html>
  2. <head>
  3. <title>OGRE: OgreTerrain.h Source File - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. <link type="text/css" rel="stylesheet" href="doxygen.css">
  5. <link type="text/css" rel="stylesheet" href="tabs.css">
  6. </head>
  7. <body>
  8. <!-- Generated by Doxygen 1.6.3 -->
  9. <div class="navigation" id="top">
  10. <div class="tabs">
  11. <ul>
  12. <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
  13. <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  14. <li><a href="modules.html"><span>Modules</span></a></li>
  15. <li><a href="namespaces.html"><span>Namespaces</span></a></li>
  16. <li><a href="annotated.html"><span>Classes</span></a></li>
  17. <li class="current"><a href="files.html"><span>Files</span></a></li>
  18. <li><a href="dirs.html"><span>Directories</span></a></li>
  19. </ul>
  20. </div>
  21. <div class="tabs">
  22. <ul>
  23. <li><a href="files.html"><span>File&nbsp;List</span></a></li>
  24. <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
  25. </ul>
  26. </div>
  27. <div class="navpath"><a class="el" href="dir_31f376a044494af80f84bb936424f217.html">Components</a>&nbsp;&raquo;&nbsp;<a class="el" href="dir_6dbe611a17cc54c3a264a5b73389fb7a.html">Terrain</a>&nbsp;&raquo;&nbsp;<a class="el" href="dir_84d9154b975b37e472c7c06343b217bf.html">include</a>
  28. </div>
  29. </div>
  30. <div class="contents">
  31. <h1>OgreTerrain.h</h1><a href="OgreTerrain_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
  32. <a name="l00002"></a>00002 <span class="comment">-----------------------------------------------------------------------------</span>
  33. <a name="l00003"></a>00003 <span class="comment">This source file is part of OGRE</span>
  34. <a name="l00004"></a>00004 <span class="comment">(Object-oriented Graphics Rendering Engine)</span>
  35. <a name="l00005"></a>00005 <span class="comment">For the latest info, see http://www.ogre3d.org/</span>
  36. <a name="l00006"></a>00006 <span class="comment"></span>
  37. <a name="l00007"></a>00007 <span class="comment">Copyright (c) 2000-2009 Torus Knot Software Ltd</span>
  38. <a name="l00008"></a>00008 <span class="comment"></span>
  39. <a name="l00009"></a>00009 <span class="comment">Permission is hereby granted, free of charge, to any person obtaining a copy</span>
  40. <a name="l00010"></a>00010 <span class="comment">of this software and associated documentation files (the &quot;Software&quot;), to deal</span>
  41. <a name="l00011"></a>00011 <span class="comment">in the Software without restriction, including without limitation the rights</span>
  42. <a name="l00012"></a>00012 <span class="comment">to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</span>
  43. <a name="l00013"></a>00013 <span class="comment">copies of the Software, and to permit persons to whom the Software is</span>
  44. <a name="l00014"></a>00014 <span class="comment">furnished to do so, subject to the following conditions:</span>
  45. <a name="l00015"></a>00015 <span class="comment"></span>
  46. <a name="l00016"></a>00016 <span class="comment">The above copyright notice and this permission notice shall be included in</span>
  47. <a name="l00017"></a>00017 <span class="comment">all copies or substantial portions of the Software.</span>
  48. <a name="l00018"></a>00018 <span class="comment"></span>
  49. <a name="l00019"></a>00019 <span class="comment">THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span>
  50. <a name="l00020"></a>00020 <span class="comment">IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span>
  51. <a name="l00021"></a>00021 <span class="comment">FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span>
  52. <a name="l00022"></a>00022 <span class="comment">AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span>
  53. <a name="l00023"></a>00023 <span class="comment">LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span>
  54. <a name="l00024"></a>00024 <span class="comment">OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN</span>
  55. <a name="l00025"></a>00025 <span class="comment">THE SOFTWARE.</span>
  56. <a name="l00026"></a>00026 <span class="comment">-----------------------------------------------------------------------------</span>
  57. <a name="l00027"></a>00027 <span class="comment">*/</span>
  58. <a name="l00028"></a>00028
  59. <a name="l00029"></a>00029 <span class="preprocessor">#ifndef __Ogre_Terrain_H__</span>
  60. <a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define __Ogre_Terrain_H__</span>
  61. <a name="l00031"></a>00031 <span class="preprocessor"></span>
  62. <a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="OgreTerrainPrerequisites_8h.html">OgreTerrainPrerequisites.h</a>&quot;</span>
  63. <a name="l00033"></a>00033 <span class="preprocessor">#include &quot;<a class="code" href="OgreCommon_8h.html">OgreCommon.h</a>&quot;</span>
  64. <a name="l00034"></a>00034 <span class="preprocessor">#include &quot;<a class="code" href="OgreVector3_8h.html">OgreVector3.h</a>&quot;</span>
  65. <a name="l00035"></a>00035 <span class="preprocessor">#include &quot;<a class="code" href="OgreAxisAlignedBox_8h.html">OgreAxisAlignedBox.h</a>&quot;</span>
  66. <a name="l00036"></a>00036 <span class="preprocessor">#include &quot;<a class="code" href="OgreSceneManager_8h.html">OgreSceneManager.h</a>&quot;</span>
  67. <a name="l00037"></a>00037 <span class="preprocessor">#include &quot;<a class="code" href="OgreTerrainMaterialGenerator_8h.html">OgreTerrainMaterialGenerator.h</a>&quot;</span>
  68. <a name="l00038"></a>00038 <span class="preprocessor">#include &quot;<a class="code" href="OgreTerrainLayerBlendMap_8h.html">OgreTerrainLayerBlendMap.h</a>&quot;</span>
  69. <a name="l00039"></a>00039 <span class="preprocessor">#include &quot;<a class="code" href="OgreWorkQueue_8h.html">OgreWorkQueue.h</a>&quot;</span>
  70. <a name="l00040"></a>00040
  71. <a name="l00041"></a>00041 <span class="keyword">namespace </span>Ogre
  72. <a name="l00042"></a>00042 {
  73. <a name="l00261"></a>00261 <span class="keyword">class </span><a class="code" href="OgreTerrainPrerequisites_8h.html#a2fbe49b54cb4b3c3e2757cd3ac167068">_OgreTerrainExport</a> Terrain : <span class="keyword">public</span> SceneManager::Listener,
  74. <a name="l00262"></a>00262 <span class="keyword">public</span> WorkQueue::RequestHandler, <span class="keyword">public</span> WorkQueue::ResponseHandler, <span class="keyword">public</span> <a class="code" href="namespaceOgre.html#ae9aa0b56067c2069d99ccc9894cf9a03">TerrainAlloc</a>
  75. <a name="l00263"></a>00263 {
  76. <a name="l00264"></a>00264 <span class="keyword">public</span>:
  77. <a name="l00268"></a><a class="code" href="classOgre_1_1Terrain.html#ad1b6d65618e1ebc55155214f3b10b337">00268</a> <a class="code" href="classOgre_1_1Terrain.html" title="The main containing class for a chunk of terrain.">Terrain</a>(<a class="code" href="classOgre_1_1SceneManager.html" title="Manages the organisation and rendering of a &amp;#39;scene&amp;#39; i.e.">SceneManager</a>* sm);
  78. <a name="l00269"></a><a class="code" href="classOgre_1_1Terrain.html#afd3641ddf000f3e2ca771408f558131b">00269</a> <span class="keyword">virtual</span> ~<a class="code" href="classOgre_1_1Terrain.html" title="The main containing class for a chunk of terrain.">Terrain</a>();
  79. <a name="l00270"></a><a class="code" href="classOgre_1_1Terrain.html#a5c204799a40adae8b01411ec05dbc841">00270</a>
  80. <a name="l00271"></a>00271 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> TERRAIN_CHUNK_ID;
  81. <a name="l00272"></a><a class="code" href="classOgre_1_1Terrain.html#ac83d9fa6c4ba65db9c7ad66bbd01b0de">00272</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> TERRAIN_CHUNK_VERSION;
  82. <a name="l00273"></a><a class="code" href="classOgre_1_1Terrain.html#a14ce718231ed706aec11489fc6843d76">00273</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> TERRAIN_MAX_BATCH_SIZE;
  83. <a name="l00274"></a><a class="code" href="classOgre_1_1Terrain.html#a53d1561777a42b20c5aa5a42dd96bf9b">00274</a>
  84. <a name="l00275"></a><a class="code" href="classOgre_1_1Terrain.html#a369a6d0c5e30874dd103c7089406be6c">00275</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> TERRAINLAYERDECLARATION_CHUNK_ID;
  85. <a name="l00276"></a><a class="code" href="classOgre_1_1Terrain.html#adf20ab502696a7e4acf28dec2ebdd0c7">00276</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> TERRAINLAYERDECLARATION_CHUNK_VERSION;
  86. <a name="l00277"></a><a class="code" href="classOgre_1_1Terrain.html#a6b4dc148f017fbd6441bc81f79fe743d">00277</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> TERRAINLAYERSAMPLER_CHUNK_ID;
  87. <a name="l00278"></a><a class="code" href="classOgre_1_1Terrain.html#acb18d059e425a9e6f7677d4dfb2d43ee">00278</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> TERRAINLAYERSAMPLER_CHUNK_VERSION;
  88. <a name="l00279"></a><a class="code" href="classOgre_1_1Terrain.html#ac7837f27d59df9244743172d331e2fb3">00279</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> TERRAINLAYERSAMPLERELEMENT_CHUNK_ID;
  89. <a name="l00280"></a><a class="code" href="classOgre_1_1Terrain.html#a50efd0b73343b76d8cfae1366cfd1cd0">00280</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> TERRAINLAYERSAMPLERELEMENT_CHUNK_VERSION;
  90. <a name="l00281"></a><a class="code" href="classOgre_1_1Terrain.html#a935d5fea06bddac979ae56c7fa13d9da">00281</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> TERRAINLAYERINSTANCE_CHUNK_ID;
  91. <a name="l00282"></a>00282 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> TERRAINLAYERINSTANCE_CHUNK_VERSION;
  92. <a name="l00283"></a><a class="code" href="classOgre_1_1Terrain.html#aefb36415178b8e15aac901f87b61d3da">00283</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> TERRAINDERIVEDDATA_CHUNK_ID;
  93. <a name="l00284"></a>00284 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> TERRAINDERIVEDDATA_CHUNK_VERSION;
  94. <a name="l00285"></a><a class="code" href="classOgre_1_1Terrain.html#aa2b09fef0fe773201df2e55cc995d312">00285</a>
  95. <a name="l00286"></a>00286 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> LOD_MORPH_CUSTOM_PARAM;
  96. <a name="l00287"></a>00287
  97. <a name="l00288"></a>00288 <span class="keyword">typedef</span> <a class="code" href="structOgre_1_1vector.html">vector&lt;Real&gt;::type</a> RealVector;
  98. <a name="l00289"></a><a class="code" href="structOgre_1_1Terrain_1_1LayerInstance.html">00289</a>
  99. <a name="l00292"></a><a class="code" href="structOgre_1_1Terrain_1_1LayerInstance.html#a54f726e8a0c17ec1579a16afa1a9398c">00292</a> <span class="keyword">struct </span><a class="code" href="OgreTerrainPrerequisites_8h.html#a2fbe49b54cb4b3c3e2757cd3ac167068">_OgreTerrainExport</a> <a class="code" href="structOgre_1_1Terrain_1_1LayerInstance.html" title="An instance of a layer, with specific texture names.">LayerInstance</a>
  100. <a name="l00293"></a>00293 {
  101. <a name="l00295"></a>00295 <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> worldSize;
  102. <a name="l00297"></a>00297 <a class="code" href="group__General.html#ga0899c03496d3c25c6555889aa76a78db">StringVector</a> textureNames;
  103. <a name="l00298"></a>00298
  104. <a name="l00299"></a><a class="code" href="classOgre_1_1Terrain.html#a7f4f256f962849538b8e46eebd6da94c">00299</a> <a class="code" href="structOgre_1_1Terrain_1_1LayerInstance.html" title="An instance of a layer, with specific texture names.">LayerInstance</a>()
  105. <a name="l00300"></a>00300 : worldSize(100) {}
  106. <a name="l00301"></a>00301 };
  107. <a name="l00302"></a><a class="code" href="classOgre_1_1Terrain.html#aca4fcebfb7ed4684682347d325477e91">00302</a> <span class="keyword">typedef</span> <a class="code" href="structOgre_1_1vector.html">vector&lt;LayerInstance&gt;::type</a> LayerInstanceList;
  108. <a name="l00303"></a>00303
  109. <a name="l00305"></a><a class="code" href="classOgre_1_1Terrain.html#aca4fcebfb7ed4684682347d325477e91ac4699c4f99bea344a309d5544b33c140">00305</a> <span class="keyword">enum</span> <a class="code" href="classOgre_1_1Terrain.html#aca4fcebfb7ed4684682347d325477e91" title="The alignment of the terrain.">Alignment</a>
  110. <a name="l00306"></a>00306 {
  111. <a name="l00308"></a>00308 ALIGN_X_Z = 0,
  112. <a name="l00310"></a>00310 ALIGN_X_Y = 1,
  113. <a name="l00312"></a>00312 ALIGN_Y_Z = 2
  114. <a name="l00313"></a>00313 };
  115. <a name="l00314"></a>00314
  116. <a name="l00318"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#a9cc48b1e14f6974f46bf9da947f8fc76">00318</a> <span class="keyword">struct </span><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html" title="Structure encapsulating import data that you may use to bootstrap the terrain without...">ImportData</a>
  117. <a name="l00319"></a>00319 {
  118. <a name="l00321"></a>00321 <a class="code" href="classOgre_1_1Terrain.html#aca4fcebfb7ed4684682347d325477e91" title="The alignment of the terrain.">Alignment</a> terrainAlign;
  119. <a name="l00323"></a>00323 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> terrainSize;
  120. <a name="l00329"></a>00329 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> maxBatchSize;
  121. <a name="l00340"></a>00340 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> minBatchSize;
  122. <a name="l00341"></a>00341
  123. <a name="l00346"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#a43509d8a986b1b733d010300487425a5">00346</a> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a> pos;
  124. <a name="l00347"></a>00347
  125. <a name="l00349"></a>00349 <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> worldSize;
  126. <a name="l00350"></a>00350
  127. <a name="l00356"></a>00356 <a class="code" href="classOgre_1_1Image.html" title="Class representing an image file.">Image</a>* inputImage;
  128. <a name="l00357"></a>00357
  129. <a name="l00362"></a>00362 <span class="keywordtype">float</span>* inputFloat;
  130. <a name="l00363"></a>00363
  131. <a name="l00367"></a>00367 <span class="keywordtype">float</span> constantHeight;
  132. <a name="l00368"></a>00368
  133. <a name="l00376"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#ae97c725c89e0c789e5099fd387953020">00376</a> <span class="keywordtype">bool</span> deleteInputData;
  134. <a name="l00377"></a>00377
  135. <a name="l00379"></a>00379 <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> inputScale;
  136. <a name="l00381"></a>00381 <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> inputBias;
  137. <a name="l00382"></a>00382
  138. <a name="l00387"></a>00387 <a class="code" href="structOgre_1_1TerrainLayerDeclaration.html" title="The definition of the information each layer will contain in this terrain.">TerrainLayerDeclaration</a> layerDeclaration;
  139. <a name="l00392"></a>00392 LayerInstanceList layerList;
  140. <a name="l00393"></a>00393
  141. <a name="l00394"></a>00394 <a class="code" href="structOgre_1_1Terrain_1_1ImportData.html" title="Structure encapsulating import data that you may use to bootstrap the terrain without...">ImportData</a>()
  142. <a name="l00395"></a>00395 : terrainAlign(ALIGN_X_Z)
  143. <a name="l00396"></a>00396 , terrainSize(1025)
  144. <a name="l00397"></a>00397 , maxBatchSize(65)
  145. <a name="l00398"></a>00398 , minBatchSize(17)
  146. <a name="l00399"></a>00399 , pos(<a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>::ZERO)
  147. <a name="l00400"></a>00400 , worldSize(1000)
  148. <a name="l00401"></a>00401 , inputImage(0)
  149. <a name="l00402"></a>00402 , inputFloat(0)
  150. <a name="l00403"></a>00403 , constantHeight(0)
  151. <a name="l00404"></a>00404 , deleteInputData(false)
  152. <a name="l00405"></a>00405 , inputScale(1.0)
  153. <a name="l00406"></a>00406 , inputBias(0.0)
  154. <a name="l00407"></a>00407 {
  155. <a name="l00408"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#a94c34664786d5059f7a9ef36e061890e">00408</a>
  156. <a name="l00409"></a>00409 }
  157. <a name="l00410"></a>00410
  158. <a name="l00411"></a>00411 <a class="code" href="structOgre_1_1Terrain_1_1ImportData.html" title="Structure encapsulating import data that you may use to bootstrap the terrain without...">ImportData</a>(<span class="keyword">const</span> <a class="code" href="structOgre_1_1Terrain_1_1ImportData.html" title="Structure encapsulating import data that you may use to bootstrap the terrain without...">ImportData</a>&amp; rhs)
  159. <a name="l00412"></a>00412 : terrainAlign(ALIGN_X_Z)
  160. <a name="l00413"></a>00413 , terrainSize(1025)
  161. <a name="l00414"></a>00414 , maxBatchSize(65)
  162. <a name="l00415"></a>00415 , minBatchSize(17)
  163. <a name="l00416"></a>00416 , pos(<a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>::ZERO)
  164. <a name="l00417"></a>00417 , worldSize(1000)
  165. <a name="l00418"></a>00418 , inputImage(0)
  166. <a name="l00419"></a>00419 , inputFloat(0)
  167. <a name="l00420"></a>00420 , constantHeight(0)
  168. <a name="l00421"></a>00421 , deleteInputData(false)
  169. <a name="l00422"></a>00422 , inputScale(1.0)
  170. <a name="l00423"></a>00423 , inputBias(0.0)
  171. <a name="l00424"></a>00424 {
  172. <a name="l00425"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#aabbbf63a35790a9b414acaa1e20baf93">00425</a> *<span class="keyword">this</span> = rhs;
  173. <a name="l00426"></a>00426 }
  174. <a name="l00427"></a>00427
  175. <a name="l00428"></a>00428 <a class="code" href="structOgre_1_1Terrain_1_1ImportData.html" title="Structure encapsulating import data that you may use to bootstrap the terrain without...">ImportData</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="structOgre_1_1Terrain_1_1ImportData.html" title="Structure encapsulating import data that you may use to bootstrap the terrain without...">ImportData</a>&amp; rhs)
  176. <a name="l00429"></a>00429 {
  177. <a name="l00430"></a>00430 <span class="comment">// basic copy</span>
  178. <a name="l00431"></a>00431 terrainAlign = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#a9cc48b1e14f6974f46bf9da947f8fc76" title="The alignment of the terrain.">terrainAlign</a>;
  179. <a name="l00432"></a>00432 terrainSize = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#a0b5bc1f24bcc9003e5ed0ccb850711f8" title="Terrain size (along one edge) in vertices; must be 2^n+1.">terrainSize</a>;
  180. <a name="l00433"></a>00433 maxBatchSize = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#acebf6cfa7dcb63b4725ed1dc2e63a9f2" title="Maximum batch size (along one edge) in vertices; must be 2^n+1 and &amp;lt;= 65.">maxBatchSize</a>;
  181. <a name="l00434"></a>00434 minBatchSize = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#a60b1682048188053cc885097eb2383c6" title="Minimum batch size (along one edge) in vertices; must be 2^n+1.">minBatchSize</a>;
  182. <a name="l00435"></a>00435 pos = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#ade0d3e9baacc9408bc08ce2531f177b4" title="Position of the terrain.">pos</a>;
  183. <a name="l00436"></a>00436 worldSize = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#a43509d8a986b1b733d010300487425a5" title="The world size of the terrain.">worldSize</a>;
  184. <a name="l00437"></a>00437 constantHeight = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#a210633812bf4ae671e19736a934079b3" title="If neither inputImage or inputFloat are supplied, the constant height at which the...">constantHeight</a>;
  185. <a name="l00438"></a>00438 deleteInputData = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#ab5bbdf7852ee1d2192c421c17df237e7" title="Whether this structure should &amp;#39;own&amp;#39; the input data (inputImage and inputFloat)...">deleteInputData</a>;
  186. <a name="l00439"></a>00439 inputScale = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#ae97c725c89e0c789e5099fd387953020" title="How to scale the input values provided (if any).">inputScale</a>;
  187. <a name="l00440"></a>00440 inputBias = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#aa92240ffea408a3ff250e8e8233789bb" title="How to bias the input values provided (if any).">inputBias</a>;
  188. <a name="l00441"></a>00441 layerDeclaration = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#ae3203cf7a78bd3ed0cd75ffe3c107a2e" title="Definition of the contents of each layer (required).">layerDeclaration</a>;
  189. <a name="l00442"></a>00442 layerList = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#a3d892ce610f8e6aec873528d042fe72b" title="List of layer structures, one for each layer required.">layerList</a>;
  190. <a name="l00443"></a>00443
  191. <a name="l00444"></a>00444 <span class="comment">// By-value copies in ownership cases</span>
  192. <a name="l00445"></a>00445 <span class="keywordflow">if</span> (rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#ab5bbdf7852ee1d2192c421c17df237e7" title="Whether this structure should &amp;#39;own&amp;#39; the input data (inputImage and inputFloat)...">deleteInputData</a>)
  193. <a name="l00446"></a>00446 {
  194. <a name="l00447"></a>00447 <span class="keywordflow">if</span> (rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#a61b189d3b9768810d747f35f7d141e79" title="Optional heightmap providing the initial heights for the terrain.">inputImage</a>)
  195. <a name="l00448"></a>00448 inputImage = <a class="code" href="group__Memory.html#gab5fc1358fd5a889de0a06d07e45df1ff">OGRE_NEW</a> <a class="code" href="classOgre_1_1Image.html" title="Class representing an image file.">Image</a>(*rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#a61b189d3b9768810d747f35f7d141e79" title="Optional heightmap providing the initial heights for the terrain.">inputImage</a>);
  196. <a name="l00449"></a>00449 <span class="keywordflow">else</span>
  197. <a name="l00450"></a>00450 inputImage = 0;
  198. <a name="l00451"></a>00451
  199. <a name="l00452"></a>00452 <span class="keywordflow">if</span> (rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#aaab91a388f7bab0e1d00a858bbeb5902" title="Optional list of terrainSize * terrainSize floats defining the terrain.">inputFloat</a>)
  200. <a name="l00453"></a>00453 {
  201. <a name="l00454"></a>00454 inputFloat = <a class="code" href="group__Memory.html#ga3211e4a6a806aa789b38dce2432ef472" title="Allocate a block of memory for a primitive type, and indicate the category of usage...">OGRE_ALLOC_T</a>(<span class="keywordtype">float</span>, terrainSize*terrainSize, <a class="code" href="group__Memory.html#gga830fab51be174d6f2849857cb1abb36aaf9e04ff475de4493bc942a9c73da4c2e" title="Geometry held in main memory.">MEMCATEGORY_GEOMETRY</a>);
  202. <a name="l00455"></a>00455 memcpy(inputFloat, rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#aaab91a388f7bab0e1d00a858bbeb5902" title="Optional list of terrainSize * terrainSize floats defining the terrain.">inputFloat</a>, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>) * terrainSize*terrainSize);
  203. <a name="l00456"></a>00456 }
  204. <a name="l00457"></a>00457 <span class="keywordflow">else</span>
  205. <a name="l00458"></a>00458 inputFloat = 0;
  206. <a name="l00459"></a>00459 }
  207. <a name="l00460"></a>00460 <span class="keywordflow">else</span>
  208. <a name="l00461"></a>00461 {
  209. <a name="l00462"></a>00462 <span class="comment">// re-use pointers</span>
  210. <a name="l00463"></a>00463 inputImage = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#a61b189d3b9768810d747f35f7d141e79" title="Optional heightmap providing the initial heights for the terrain.">inputImage</a>;
  211. <a name="l00464"></a>00464 inputFloat = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#aaab91a388f7bab0e1d00a858bbeb5902" title="Optional list of terrainSize * terrainSize floats defining the terrain.">inputFloat</a>;
  212. <a name="l00465"></a>00465 }
  213. <a name="l00466"></a>00466 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
  214. <a name="l00467"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#a7a5f66953eabbc5221f36ee476f98d47">00467</a> }
  215. <a name="l00468"></a>00468
  216. <a name="l00470"></a>00470 <span class="keywordtype">void</span> destroy()
  217. <a name="l00471"></a>00471 {
  218. <a name="l00472"></a>00472 <span class="keywordflow">if</span> (deleteInputData)
  219. <a name="l00473"></a>00473 {
  220. <a name="l00474"></a>00474 <a class="code" href="group__Memory.html#gad18eff671a00617b21c8e35a7f545690">OGRE_DELETE</a> inputImage;
  221. <a name="l00475"></a>00475 <a class="code" href="group__Memory.html#gacfd8dc937cf390c7bff05495f0dc10cf" title="Free the memory allocated with OGRE_MALLOC or OGRE_ALLOC_T. Category is required...">OGRE_FREE</a>(inputFloat, <a class="code" href="group__Memory.html#gga830fab51be174d6f2849857cb1abb36aaf9e04ff475de4493bc942a9c73da4c2e" title="Geometry held in main memory.">MEMCATEGORY_GEOMETRY</a>);
  222. <a name="l00476"></a>00476 inputImage = 0;
  223. <a name="l00477"></a>00477 inputFloat = 0;
  224. <a name="l00478"></a>00478 }
  225. <a name="l00479"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#ab44221d85f1c10b8c2be75b476d89440">00479</a>
  226. <a name="l00480"></a>00480 }
  227. <a name="l00481"></a>00481
  228. <a name="l00482"></a>00482 ~<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html" title="Structure encapsulating import data that you may use to bootstrap the terrain without...">ImportData</a>()
  229. <a name="l00483"></a>00483 {
  230. <a name="l00484"></a>00484 destroy();
  231. <a name="l00485"></a>00485 }
  232. <a name="l00486"></a>00486
  233. <a name="l00487"></a><a class="code" href="classOgre_1_1Terrain.html#a2d0c6e14298e6a196148388ca2ffa9e2">00487</a> };
  234. <a name="l00488"></a>00488
  235. <a name="l00490"></a><a class="code" href="classOgre_1_1Terrain.html#a2d0c6e14298e6a196148388ca2ffa9e2aed82e8f7f45fcb5faeef6158c9d1ff3a">00490</a> <span class="keyword">enum</span> <a class="code" href="classOgre_1_1Terrain.html#a2d0c6e14298e6a196148388ca2ffa9e2" title="Neighbour index enumeration - indexed anticlockwise from East like angles.">NeighbourIndex</a>
  236. <a name="l00491"></a><a class="code" href="classOgre_1_1Terrain.html#a2d0c6e14298e6a196148388ca2ffa9e2a07b3c537d34f5c7e1e3e79634dfcac1d">00491</a> {
  237. <a name="l00492"></a><a class="code" href="classOgre_1_1Terrain.html#a2d0c6e14298e6a196148388ca2ffa9e2a8795dff5bfc2240747ee0a843a900c71">00492</a> NEIGHBOUR_EAST = 0,
  238. <a name="l00493"></a><a class="code" href="classOgre_1_1Terrain.html#a2d0c6e14298e6a196148388ca2ffa9e2a3a45b8d00d2ba435e61cdc99c94b0a91">00493</a> NEIGHBOUR_NORTHEAST = 1,
  239. <a name="l00494"></a><a class="code" href="classOgre_1_1Terrain.html#a2d0c6e14298e6a196148388ca2ffa9e2aec43a04404ef9873e7d43c094e097e40">00494</a> NEIGHBOUR_NORTH = 2,
  240. <a name="l00495"></a><a class="code" href="classOgre_1_1Terrain.html#a2d0c6e14298e6a196148388ca2ffa9e2a8c91ce1d5f82d7525102bc91fde0df2d">00495</a> NEIGHBOUR_NORTHWEST = 3,
  241. <a name="l00496"></a><a class="code" href="classOgre_1_1Terrain.html#a2d0c6e14298e6a196148388ca2ffa9e2a4183a4a8b0f78832395fa0aa981f07bf">00496</a> NEIGHBOUR_WEST = 4,
  242. <a name="l00497"></a>00497 NEIGHBOUR_SOUTHWEST = 5,
  243. <a name="l00498"></a><a class="code" href="classOgre_1_1Terrain.html#a2d0c6e14298e6a196148388ca2ffa9e2a5ba448a51833e6c8eea28884a706834c">00498</a> NEIGHBOUR_SOUTH = 6,
  244. <a name="l00499"></a>00499 NEIGHBOUR_SOUTHEAST = 7,
  245. <a name="l00500"></a>00500
  246. <a name="l00501"></a><a class="code" href="classOgre_1_1Terrain.html#a7c381de393a45f50b946a0deb82d3e94">00501</a> NEIGHBOUR_COUNT = 8
  247. <a name="l00502"></a>00502 };
  248. <a name="l00503"></a>00503
  249. <a name="l00504"></a><a class="code" href="classOgre_1_1Terrain.html#aebf8a7aadb5de3a0669d41acfd58d781">00504</a> <a class="code" href="classOgre_1_1SceneManager.html" title="Manages the organisation and rendering of a &amp;#39;scene&amp;#39; i.e.">SceneManager</a>* getSceneManager()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mSceneMgr; }
  250. <a name="l00505"></a>00505
  251. <a name="l00507"></a><a class="code" href="classOgre_1_1Terrain.html#aebf8a7aadb5de3a0669d41acfd58d781a0a7049246e4a77e37dcea36fd35c4daf">00507</a> <span class="keyword">enum</span> <a class="code" href="classOgre_1_1Terrain.html#aebf8a7aadb5de3a0669d41acfd58d781" title="Enumeration of relative spaces that you might want to use to address the terrain...">Space</a>
  252. <a name="l00508"></a>00508 {
  253. <a name="l00510"></a>00510 WORLD_SPACE = 0,
  254. <a name="l00512"></a>00512 LOCAL_SPACE = 1,
  255. <a name="l00516"></a>00516 TERRAIN_SPACE = 2,
  256. <a name="l00520"></a>00520 POINT_SPACE = 3
  257. <a name="l00521"></a>00521 };
  258. <a name="l00522"></a>00522
  259. <a name="l00527"></a><a class="code" href="classOgre_1_1Terrain_1_1GpuBufferAllocator.html#adafa196fd89b566090806bde188bbf33">00527</a> <span class="keyword">class </span><a class="code" href="OgreTerrainPrerequisites_8h.html#a2fbe49b54cb4b3c3e2757cd3ac167068">_OgreTerrainExport</a> <a class="code" href="classOgre_1_1Terrain_1_1GpuBufferAllocator.html" title="Interface used to by the Terrain instance to allocate GPU buffers.">GpuBufferAllocator</a> : <span class="keyword">public</span> <a class="code" href="classOgre_1_1AllocatedObject.html" title="Superclass for all objects that wish to use custom memory allocators when their new...">TerrainAlloc</a>
  260. <a name="l00528"></a><a class="code" href="classOgre_1_1Terrain_1_1GpuBufferAllocator.html#ab50e9928256ddbd09462938a7e13e3c8">00528</a> {
  261. <a name="l00529"></a>00529 <span class="keyword">public</span>:
  262. <a name="l00530"></a>00530 <a class="code" href="classOgre_1_1Terrain_1_1GpuBufferAllocator.html" title="Interface used to by the Terrain instance to allocate GPU buffers.">GpuBufferAllocator</a>() {}
  263. <a name="l00531"></a>00531 <span class="keyword">virtual</span> ~<a class="code" href="classOgre_1_1Terrain_1_1GpuBufferAllocator.html" title="Interface used to by the Terrain instance to allocate GPU buffers.">GpuBufferAllocator</a>() {}
  264. <a name="l00532"></a>00532
  265. <a name="l00538"></a>00538 <span class="keyword">virtual</span> <span class="keywordtype">void</span> allocateVertexBuffers(<a class="code" href="classOgre_1_1Terrain.html" title="The main containing class for a chunk of terrain.">Terrain</a>* forTerrain, <span class="keywordtype">size_t</span> numVertices, <a class="code" href="classOgre_1_1HardwareVertexBufferSharedPtr.html" title="Shared pointer implementation used to share index buffers.">HardwareVertexBufferSharedPtr</a>&amp; destPos, <a class="code" href="classOgre_1_1HardwareVertexBufferSharedPtr.html" title="Shared pointer implementation used to share index buffers.">HardwareVertexBufferSharedPtr</a>&amp; destDelta) = 0;
  266. <a name="l00541"></a>00541 <span class="keyword">virtual</span> <span class="keywordtype">void</span> freeVertexBuffers(<span class="keyword">const</span> <a class="code" href="classOgre_1_1HardwareVertexBufferSharedPtr.html" title="Shared pointer implementation used to share index buffers.">HardwareVertexBufferSharedPtr</a>&amp; posbuf, <span class="keyword">const</span> <a class="code" href="classOgre_1_1HardwareVertexBufferSharedPtr.html" title="Shared pointer implementation used to share index buffers.">HardwareVertexBufferSharedPtr</a>&amp; deltabuf) = 0;
  267. <a name="l00542"></a>00542
  268. <a name="l00557"></a>00557 <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1HardwareIndexBufferSharedPtr.html" title="Shared pointer implementation used to share index buffers.">HardwareIndexBufferSharedPtr</a> getSharedIndexBuffer(<a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> batchSize,
  269. <a name="l00558"></a>00558 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> vdatasize, <span class="keywordtype">size_t</span> vertexIncrement, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> xoffset, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> yoffset, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> numSkirtRowsCols,
  270. <a name="l00559"></a>00559 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> skirtRowColSkip) = 0;
  271. <a name="l00560"></a>00560
  272. <a name="l00562"></a>00562 <span class="keyword">virtual</span> <span class="keywordtype">void</span> freeAllBuffers() = 0;
  273. <a name="l00563"></a><a class="code" href="classOgre_1_1Terrain_1_1DefaultGpuBufferAllocator.html">00563</a>
  274. <a name="l00564"></a>00564 };
  275. <a name="l00566"></a>00566 <span class="keyword">class </span><a class="code" href="OgreTerrainPrerequisites_8h.html#a2fbe49b54cb4b3c3e2757cd3ac167068">_OgreTerrainExport</a> <a class="code" href="classOgre_1_1Terrain_1_1DefaultGpuBufferAllocator.html" title="Standard implementation of a buffer allocator which re-uses buffers.">DefaultGpuBufferAllocator</a> : <span class="keyword">public</span> <a class="code" href="classOgre_1_1Terrain_1_1GpuBufferAllocator.html" title="Interface used to by the Terrain instance to allocate GPU buffers.">GpuBufferAllocator</a>
  276. <a name="l00567"></a>00567 {
  277. <a name="l00568"></a>00568 <span class="keyword">public</span>:
  278. <a name="l00569"></a>00569 <a class="code" href="classOgre_1_1Terrain_1_1DefaultGpuBufferAllocator.html" title="Standard implementation of a buffer allocator which re-uses buffers.">DefaultGpuBufferAllocator</a>();
  279. <a name="l00570"></a>00570 ~<a class="code" href="classOgre_1_1Terrain_1_1DefaultGpuBufferAllocator.html" title="Standard implementation of a buffer allocator which re-uses buffers.">DefaultGpuBufferAllocator</a>();
  280. <a name="l00571"></a>00571 <span class="keywordtype">void</span> allocateVertexBuffers(<a class="code" href="classOgre_1_1Terrain.html" title="The main containing class for a chunk of terrain.">Terrain</a>* forTerrain, <span class="keywordtype">size_t</span> numVertices, <a class="code" href="classOgre_1_1HardwareVertexBufferSharedPtr.html" title="Shared pointer implementation used to share index buffers.">HardwareVertexBufferSharedPtr</a>&amp; destPos, <a class="code" href="classOgre_1_1HardwareVertexBufferSharedPtr.html" title="Shared pointer implementation used to share index buffers.">HardwareVertexBufferSharedPtr</a>&amp; destDelta);
  281. <a name="l00572"></a>00572 <span class="keywordtype">void</span> freeVertexBuffers(<span class="keyword">const</span> <a class="code" href="classOgre_1_1HardwareVertexBufferSharedPtr.html" title="Shared pointer implementation used to share index buffers.">HardwareVertexBufferSharedPtr</a>&amp; posbuf, <span class="keyword">const</span> <a class="code" href="classOgre_1_1HardwareVertexBufferSharedPtr.html" title="Shared pointer implementation used to share index buffers.">HardwareVertexBufferSharedPtr</a>&amp; deltabuf);
  282. <a name="l00573"></a>00573 <a class="code" href="classOgre_1_1HardwareIndexBufferSharedPtr.html" title="Shared pointer implementation used to share index buffers.">HardwareIndexBufferSharedPtr</a> getSharedIndexBuffer(<a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> batchSize,
  283. <a name="l00574"></a>00574 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> vdatasize, <span class="keywordtype">size_t</span> vertexIncrement, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> xoffset, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> yoffset, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> numSkirtRowsCols,
  284. <a name="l00575"></a>00575 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> skirtRowColSkip);
  285. <a name="l00576"></a>00576 <span class="keywordtype">void</span> freeAllBuffers();
  286. <a name="l00577"></a>00577
  287. <a name="l00581"></a>00581 <span class="keywordtype">void</span> warmStart(<span class="keywordtype">size_t</span> numInstances, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> terrainSize, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> maxBatchSize,
  288. <a name="l00582"></a><a class="code" href="classOgre_1_1Terrain_1_1DefaultGpuBufferAllocator.html#a55379cc5331736568c8a73ad2cc5c5ed">00582</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> minBatchSize);
  289. <a name="l00583"></a><a class="code" href="classOgre_1_1Terrain_1_1DefaultGpuBufferAllocator.html#a8820ed742f93ba0b13da637d71b934a9">00583</a>
  290. <a name="l00584"></a><a class="code" href="classOgre_1_1Terrain_1_1DefaultGpuBufferAllocator.html#a1f0cda9f231eb97e7fd0367ddc8055c9">00584</a> <span class="keyword">protected</span>:
  291. <a name="l00585"></a><a class="code" href="classOgre_1_1Terrain_1_1DefaultGpuBufferAllocator.html#aaa440fddd2249c96890533c6d20e21a6">00585</a> <span class="keyword">typedef</span> <a class="code" href="structOgre_1_1list.html">list&lt;HardwareVertexBufferSharedPtr&gt;::type</a> VBufList;
  292. <a name="l00586"></a><a class="code" href="classOgre_1_1Terrain_1_1DefaultGpuBufferAllocator.html#a80d57bd40f5fa54dc002dc208fc096bb">00586</a> VBufList mFreePosBufList;
  293. <a name="l00587"></a>00587 VBufList mFreeDeltaBufList;
  294. <a name="l00588"></a>00588 <span class="keyword">typedef</span> <a class="code" href="structOgre_1_1map.html">map&lt;uint32, HardwareIndexBufferSharedPtr&gt;::type</a> IBufMap;
  295. <a name="l00589"></a>00589 IBufMap mSharedIBufMap;
  296. <a name="l00590"></a>00590
  297. <a name="l00591"></a>00591 <a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> hashIndexBuffer(<a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> batchSize,
  298. <a name="l00592"></a>00592 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> vdatasize, <span class="keywordtype">size_t</span> vertexIncrement, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> xoffset, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> yoffset, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> numSkirtRowsCols,
  299. <a name="l00593"></a>00593 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> skirtRowColSkip);
  300. <a name="l00594"></a>00594 <a class="code" href="classOgre_1_1HardwareVertexBufferSharedPtr.html" title="Shared pointer implementation used to share index buffers.">HardwareVertexBufferSharedPtr</a> getVertexBuffer(VBufList&amp; <a class="code" href="structOgre_1_1list.html">list</a>, <span class="keywordtype">size_t</span> vertexSize, <span class="keywordtype">size_t</span> numVertices);
  301. <a name="l00595"></a>00595
  302. <a name="l00596"></a>00596 };
  303. <a name="l00597"></a>00597
  304. <a name="l00602"></a>00602 <span class="keywordtype">void</span> setGpuBufferAllocator(<a class="code" href="classOgre_1_1Terrain_1_1GpuBufferAllocator.html" title="Interface used to by the Terrain instance to allocate GPU buffers.">GpuBufferAllocator</a>* alloc);
  305. <a name="l00603"></a>00603
  306. <a name="l00605"></a>00605 <a class="code" href="classOgre_1_1Terrain_1_1GpuBufferAllocator.html" title="Interface used to by the Terrain instance to allocate GPU buffers.">GpuBufferAllocator</a>* getGpuBufferAllocator();
  307. <a name="l00606"></a>00606
  308. <a name="l00608"></a>00608 <span class="keyword">static</span> <span class="keywordtype">size_t</span> _getNumIndexesForBatchSize(<a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> batchSize);
  309. <a name="l00620"></a>00620 <span class="keyword">static</span> <span class="keywordtype">void</span> _populateIndexBuffer(<a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a>* pIndexes, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> batchSize,
  310. <a name="l00621"></a>00621 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> vdatasize, <span class="keywordtype">size_t</span> vertexIncrement, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> xoffset, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> yoffset, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> numSkirtRowsCols,
  311. <a name="l00622"></a>00622 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> skirtRowColSkip);
  312. <a name="l00623"></a>00623
  313. <a name="l00625"></a>00625 <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> _calcSkirtVertexIndex(<a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mainIndex, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> vdatasize, <span class="keywordtype">bool</span> isCol,
  314. <a name="l00626"></a>00626 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> numSkirtRowsCols, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> skirtRowColSkip);
  315. <a name="l00627"></a>00627
  316. <a name="l00634"></a>00634 <span class="keywordtype">void</span> convertPosition(<a class="code" href="classOgre_1_1Terrain.html#aebf8a7aadb5de3a0669d41acfd58d781" title="Enumeration of relative spaces that you might want to use to address the terrain...">Space</a> inSpace, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; inPos, <a class="code" href="classOgre_1_1Terrain.html#aebf8a7aadb5de3a0669d41acfd58d781" title="Enumeration of relative spaces that you might want to use to address the terrain...">Space</a> outSpace, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; outPos) <span class="keyword">const</span>;
  317. <a name="l00641"></a>00641 <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a> convertPosition(<a class="code" href="classOgre_1_1Terrain.html#aebf8a7aadb5de3a0669d41acfd58d781" title="Enumeration of relative spaces that you might want to use to address the terrain...">Space</a> inSpace, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; inPos, <a class="code" href="classOgre_1_1Terrain.html#aebf8a7aadb5de3a0669d41acfd58d781" title="Enumeration of relative spaces that you might want to use to address the terrain...">Space</a> outSpace) <span class="keyword">const</span>;
  318. <a name="l00648"></a>00648 <span class="keywordtype">void</span> convertDirection(<a class="code" href="classOgre_1_1Terrain.html#aebf8a7aadb5de3a0669d41acfd58d781" title="Enumeration of relative spaces that you might want to use to address the terrain...">Space</a> inSpace, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; inDir, <a class="code" href="classOgre_1_1Terrain.html#aebf8a7aadb5de3a0669d41acfd58d781" title="Enumeration of relative spaces that you might want to use to address the terrain...">Space</a> outSpace, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; outDir) <span class="keyword">const</span>;
  319. <a name="l00655"></a>00655 <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a> convertDirection(<a class="code" href="classOgre_1_1Terrain.html#aebf8a7aadb5de3a0669d41acfd58d781" title="Enumeration of relative spaces that you might want to use to address the terrain...">Space</a> inSpace, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; inDir, <a class="code" href="classOgre_1_1Terrain.html#aebf8a7aadb5de3a0669d41acfd58d781" title="Enumeration of relative spaces that you might want to use to address the terrain...">Space</a> outSpace) <span class="keyword">const</span>;
  320. <a name="l00656"></a>00656
  321. <a name="l00661"></a>00661 <span class="keywordtype">void</span> setResourceGroup(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#af73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; resGroup) { mResourceGroup = resGroup; }
  322. <a name="l00662"></a>00662
  323. <a name="l00666"></a>00666 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#af73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; getResourceGroup()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mResourceGroup; }
  324. <a name="l00667"></a>00667
  325. <a name="l00670"></a>00670 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#af73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; _getDerivedResourceGroup() <span class="keyword">const</span>;
  326. <a name="l00671"></a>00671
  327. <a name="l00680"></a>00680 <span class="keywordtype">void</span> save(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#af73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; filename);
  328. <a name="l00686"></a>00686 <span class="keywordtype">void</span> save(StreamSerialiser&amp; stream);
  329. <a name="l00687"></a>00687
  330. <a name="l00694"></a>00694 <span class="keywordtype">bool</span> prepare(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#af73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; filename);
  331. <a name="l00701"></a>00701 <span class="keywordtype">bool</span> prepare(StreamSerialiser&amp; stream);
  332. <a name="l00702"></a>00702
  333. <a name="l00708"></a>00708 <span class="keywordtype">bool</span> prepare(<span class="keyword">const</span> ImportData&amp; importData);
  334. <a name="l00709"></a>00709
  335. <a name="l00715"></a>00715 <span class="keywordtype">void</span> load(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#af73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; filename);
  336. <a name="l00716"></a>00716
  337. <a name="l00722"></a>00722 <span class="keywordtype">void</span> load(StreamSerialiser&amp; stream);
  338. <a name="l00723"></a>00723
  339. <a name="l00728"></a>00728 <span class="keywordtype">void</span> load();
  340. <a name="l00729"></a>00729
  341. <a name="l00735"></a>00735 <span class="keywordtype">bool</span> isLoaded()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mIsLoaded; }
  342. <a name="l00736"></a>00736
  343. <a name="l00741"></a>00741 <span class="keywordtype">bool</span> isModified()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mModified; }
  344. <a name="l00742"></a>00742
  345. <a name="l00743"></a>00743
  346. <a name="l00748"></a>00748 <span class="keywordtype">bool</span> isHeightDataModified()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mHeightDataModified; }
  347. <a name="l00749"></a>00749
  348. <a name="l00750"></a>00750
  349. <a name="l00755"></a>00755 <span class="keywordtype">void</span> unload();
  350. <a name="l00756"></a>00756
  351. <a name="l00761"></a>00761 <span class="keywordtype">void</span> unprepare();
  352. <a name="l00762"></a>00762
  353. <a name="l00763"></a>00763
  354. <a name="l00773"></a>00773 <span class="keywordtype">float</span>* getHeightData() <span class="keyword">const</span>;
  355. <a name="l00774"></a>00774
  356. <a name="l00777"></a>00777 <span class="keywordtype">float</span>* getHeightData(<span class="keywordtype">long</span> x, <span class="keywordtype">long</span> y) <span class="keyword">const</span>;
  357. <a name="l00778"></a>00778
  358. <a name="l00783"></a>00783 <span class="keywordtype">float</span> getHeightAtPoint(<span class="keywordtype">long</span> x, <span class="keywordtype">long</span> y) <span class="keyword">const</span>;
  359. <a name="l00784"></a>00784
  360. <a name="l00791"></a>00791 <span class="keywordtype">void</span> setHeightAtPoint(<span class="keywordtype">long</span> x, <span class="keywordtype">long</span> y, <span class="keywordtype">float</span> h);
  361. <a name="l00792"></a>00792
  362. <a name="l00796"></a>00796 <span class="keywordtype">float</span> getHeightAtTerrainPosition(<a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y);
  363. <a name="l00797"></a>00797
  364. <a name="l00803"></a>00803 <span class="keywordtype">float</span> getHeightAtWorldPosition(<a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z);
  365. <a name="l00804"></a>00804
  366. <a name="l00810"></a>00810 <span class="keywordtype">float</span> getHeightAtWorldPosition(<span class="keyword">const</span> Vector3&amp; pos);
  367. <a name="l00811"></a>00811
  368. <a name="l00818"></a>00818 <span class="keyword">const</span> <span class="keywordtype">float</span>* getDeltaData();
  369. <a name="l00819"></a>00819
  370. <a name="l00822"></a>00822 <span class="keyword">const</span> <span class="keywordtype">float</span>* getDeltaData(<span class="keywordtype">long</span> x, <span class="keywordtype">long</span> y);
  371. <a name="l00823"></a>00823
  372. <a name="l00828"></a>00828 <span class="keywordtype">void</span> getPoint(<span class="keywordtype">long</span> x, <span class="keywordtype">long</span> y, Vector3* outpos);
  373. <a name="l00829"></a>00829
  374. <a name="l00835"></a>00835 <span class="keywordtype">void</span> getPointFromSelfOrNeighbour(<span class="keywordtype">long</span> x, <span class="keywordtype">long</span> y, Vector3* outpos);
  375. <a name="l00836"></a>00836
  376. <a name="l00841"></a>00841 <span class="keywordtype">void</span> getPoint(<span class="keywordtype">long</span> x, <span class="keywordtype">long</span> y, <span class="keywordtype">float</span> height, Vector3* outpos);
  377. <a name="l00846"></a>00846 <span class="keywordtype">void</span> getTerrainVector(<span class="keyword">const</span> Vector3&amp; inVec, Vector3* outVec);
  378. <a name="l00851"></a>00851 <span class="keywordtype">void</span> getTerrainVectorAlign(<span class="keyword">const</span> Vector3&amp; inVec, Alignment align, Vector3* outVec);
  379. <a name="l00852"></a>00852
  380. <a name="l00857"></a>00857 <span class="keywordtype">void</span> getTerrainVector(<a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z, Vector3* outVec);
  381. <a name="l00862"></a>00862 <span class="keywordtype">void</span> getTerrainVectorAlign(<a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z, Alignment align, Vector3* outVec);
  382. <a name="l00863"></a>00863
  383. <a name="l00868"></a>00868 <span class="keywordtype">void</span> getVector(<span class="keyword">const</span> Vector3&amp; inVec, Vector3* outVec);
  384. <a name="l00873"></a>00873 <span class="keywordtype">void</span> getVectorAlign(<span class="keyword">const</span> Vector3&amp; inVec, Alignment align, Vector3* outVec);
  385. <a name="l00874"></a>00874
  386. <a name="l00879"></a>00879 <span class="keywordtype">void</span> getVector(<a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z, Vector3* outVec);
  387. <a name="l00884"></a>00884 <span class="keywordtype">void</span> getVectorAlign(<a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z, Alignment align, Vector3* outVec);
  388. <a name="l00885"></a>00885
  389. <a name="l00886"></a>00886
  390. <a name="l00894"></a>00894 <span class="keywordtype">void</span> getPosition(<span class="keyword">const</span> Vector3&amp; TSpos, Vector3* outWSpos);
  391. <a name="l00902"></a>00902 <span class="keywordtype">void</span> getPosition(<a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z, Vector3* outWSpos);
  392. <a name="l00903"></a>00903
  393. <a name="l00910"></a>00910 <span class="keywordtype">void</span> getTerrainPosition(<span class="keyword">const</span> Vector3&amp; WSpos, Vector3* outTSpos);
  394. <a name="l00917"></a>00917 <span class="keywordtype">void</span> getTerrainPosition(<a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z, Vector3* outTSpos);
  395. <a name="l00924"></a>00924 <span class="keywordtype">void</span> getPositionAlign(<span class="keyword">const</span> Vector3&amp; TSpos, Alignment align, Vector3* outWSpos);
  396. <a name="l00931"></a>00931 <span class="keywordtype">void</span> getPositionAlign(<a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z, Alignment align, Vector3* outWSpos);
  397. <a name="l00932"></a>00932
  398. <a name="l00939"></a>00939 <span class="keywordtype">void</span> getTerrainPositionAlign(<span class="keyword">const</span> Vector3&amp; WSpos, Alignment align, Vector3* outTSpos);
  399. <a name="l00946"></a>00946 <span class="keywordtype">void</span> getTerrainPositionAlign(<a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z, Alignment align, Vector3* outTSpos);
  400. <a name="l00947"></a>00947
  401. <a name="l00948"></a>00948
  402. <a name="l00950"></a>00950 Alignment getAlignment() <span class="keyword">const</span>;
  403. <a name="l00952"></a>00952 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getSize() <span class="keyword">const</span>;
  404. <a name="l00954"></a>00954 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getMaxBatchSize() <span class="keyword">const</span>;
  405. <a name="l00956"></a>00956 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getMinBatchSize() <span class="keyword">const</span>;
  406. <a name="l00958"></a><a class="code" href="classOgre_1_1Terrain.html#a5f509f011aa69122ce34816f8da4c318">00958</a> <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getWorldSize() <span class="keyword">const</span>;
  407. <a name="l00959"></a>00959
  408. <a name="l00961"></a><a class="code" href="classOgre_1_1Terrain.html#ad4f87c4046c4b1c816797bdbdde3738c">00961</a> <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> getLayerCount()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a><span class="keyword">&gt;</span>(mLayers.size()); }
  409. <a name="l00962"></a>00962
  410. <a name="l00964"></a>00964 <span class="keyword">const</span> <a class="code" href="structOgre_1_1TerrainLayerDeclaration.html" title="The definition of the information each layer will contain in this terrain.">TerrainLayerDeclaration</a>&amp; getLayerDeclaration()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mLayerDecl; }
  411. <a name="l00965"></a>00965
  412. <a name="l00972"></a>00972 <span class="keywordtype">void</span> addLayer(<a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> worldSize = 0, <span class="keyword">const</span> <a class="code" href="group__General.html#ga0899c03496d3c25c6555889aa76a78db">StringVector</a>* textureNames = 0);
  413. <a name="l00973"></a>00973
  414. <a name="l00981"></a>00981 <span class="keywordtype">void</span> addLayer(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> worldSize = 0, <span class="keyword">const</span> <a class="code" href="group__General.html#ga0899c03496d3c25c6555889aa76a78db">StringVector</a>* textureNames = 0);
  415. <a name="l00982"></a>00982
  416. <a name="l00985"></a>00985 <span class="keywordtype">void</span> removeLayer(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index);
  417. <a name="l00986"></a>00986
  418. <a name="l00996"></a>00996 <span class="keywordtype">void</span> replaceLayer(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index, <span class="keywordtype">bool</span> keepBlends, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> worldSize = 0, <span class="keyword">const</span> <a class="code" href="group__General.html#ga0899c03496d3c25c6555889aa76a78db">StringVector</a>* textureNames = 0);
  419. <a name="l00997"></a>00997
  420. <a name="l01001"></a>01001 <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> getMaxLayers() <span class="keyword">const</span>;
  421. <a name="l01002"></a>01002
  422. <a name="l01007"></a>01007 <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getLayerWorldSize(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index) <span class="keyword">const</span>;
  423. <a name="l01013"></a>01013 <span class="keywordtype">void</span> setLayerWorldSize(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> size);
  424. <a name="l01014"></a>01014
  425. <a name="l01023"></a>01023 <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getLayerUVMultiplier(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index) <span class="keyword">const</span>;
  426. <a name="l01024"></a>01024
  427. <a name="l01030"></a>01030 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#af73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; getLayerTextureName(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> layerIndex, <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> samplerIndex) <span class="keyword">const</span>;
  428. <a name="l01037"></a>01037 <span class="keywordtype">void</span> setLayerTextureName(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> layerIndex, <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> samplerIndex, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#af73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; textureName);
  429. <a name="l01038"></a>01038
  430. <a name="l01045"></a>01045 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getLayerBlendMapSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mLayerBlendMapSize; }
  431. <a name="l01046"></a>01046
  432. <a name="l01052"></a><a class="code" href="classOgre_1_1Terrain.html#aac3e1e21b32fac53f1ed9df15ddaf89c">01052</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getLightmapSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mLightmapSize; }
  433. <a name="l01053"></a>01053
  434. <a name="l01055"></a>01055 <span class="keyword">const</span> <a class="code" href="classOgre_1_1TexturePtr.html" title="Specialisation of SharedPtr to allow SharedPtr to be assigned to TexturePtr.">TexturePtr</a>&amp; getLightmap()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mLightmap; }
  435. <a name="l01056"></a>01056
  436. <a name="l01062"></a><a class="code" href="classOgre_1_1Terrain.html#a4a009b1a2de93007edd0696d7b9c440b">01062</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getCompositeMapSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mCompositeMapSize; }
  437. <a name="l01063"></a>01063
  438. <a name="l01065"></a><a class="code" href="classOgre_1_1Terrain.html#a38bb1cda48e1fb6afeb9f6624e934cbf">01065</a> <span class="keyword">const</span> <a class="code" href="classOgre_1_1TexturePtr.html" title="Specialisation of SharedPtr to allow SharedPtr to be assigned to TexturePtr.">TexturePtr</a>&amp; getCompositeMap()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mCompositeMap; }
  439. <a name="l01066"></a>01066
  440. <a name="l01068"></a>01068 <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; getPosition()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mPos; }
  441. <a name="l01070"></a>01070 <span class="keywordtype">void</span> setPosition(<span class="keyword">const</span> Vector3&amp; pos);
  442. <a name="l01072"></a>01072 SceneNode* _getRootSceneNode() <span class="keyword">const</span>;
  443. <a name="l01079"></a>01079 <span class="keywordtype">void</span> dirty();
  444. <a name="l01080"></a>01080
  445. <a name="l01089"></a>01089 <span class="keywordtype">void</span> dirtyRect(<span class="keyword">const</span> <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; rect);
  446. <a name="l01090"></a>01090
  447. <a name="l01096"></a>01096 <span class="keywordtype">void</span> _dirtyCompositeMapRect(<span class="keyword">const</span> <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; rect);
  448. <a name="l01097"></a>01097
  449. <a name="l01108"></a>01108 <span class="keywordtype">void</span> dirtyLightmapRect(<span class="keyword">const</span> <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; rect);
  450. <a name="l01109"></a>01109
  451. <a name="l01120"></a>01120 <span class="keywordtype">void</span> dirtyLightmap();
  452. <a name="l01121"></a>01121
  453. <a name="l01144"></a>01144 <span class="keywordtype">void</span> update(<span class="keywordtype">bool</span> synchronous = <span class="keyword">false</span>);
  454. <a name="l01145"></a>01145
  455. <a name="l01150"></a><a class="code" href="classOgre_1_1Terrain.html#adc4deb8ce09c46f3d6215ea1ff390959">01150</a> <span class="keywordtype">void</span> updateGeometry();
  456. <a name="l01151"></a><a class="code" href="classOgre_1_1Terrain.html#a633492f40707af756814bca31f0f35ba">01151</a>
  457. <a name="l01152"></a><a class="code" href="classOgre_1_1Terrain.html#a1ebde7f1f98abe26938397f7110c88f3">01152</a> <span class="comment">// Used as a type mask for updateDerivedData</span>
  458. <a name="l01153"></a><a class="code" href="classOgre_1_1Terrain.html#aaef9ac3a5d1ceed0260a17f93b88d848">01153</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> DERIVED_DATA_DELTAS;
  459. <a name="l01154"></a>01154 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> DERIVED_DATA_NORMALS;
  460. <a name="l01155"></a>01155 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> DERIVED_DATA_LIGHTMAP;
  461. <a name="l01156"></a>01156 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> DERIVED_DATA_ALL;
  462. <a name="l01157"></a>01157
  463. <a name="l01169"></a>01169 <span class="keywordtype">void</span> updateDerivedData(<span class="keywordtype">bool</span> synchronous = <span class="keyword">false</span>, <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> typeMask = 0xFF);
  464. <a name="l01170"></a>01170
  465. <a name="l01179"></a>01179 <span class="keywordtype">void</span> updateCompositeMap();
  466. <a name="l01180"></a>01180
  467. <a name="l01194"></a>01194 <span class="keywordtype">void</span> updateCompositeMapWithDelay(<a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> delay = 2);
  468. <a name="l01195"></a>01195
  469. <a name="l01196"></a>01196
  470. <a name="l01200"></a><a class="code" href="classOgre_1_1Terrain.html#a6e6152a17cc7c588fbed610793f7d057">01200</a> <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getSkirtSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mSkirtSize; }
  471. <a name="l01201"></a>01201
  472. <a name="l01203"></a><a class="code" href="classOgre_1_1Terrain.html#a324db087af9b6044a6dff949595d27aa">01203</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getNumLodLevels()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mNumLodLevels; }
  473. <a name="l01204"></a>01204
  474. <a name="l01206"></a>01206 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getNumLodLevelsPerLeaf()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mNumLodLevelsPerLeafNode; }
  475. <a name="l01207"></a>01207
  476. <a name="l01215"></a>01215 <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a> calculateHeightDeltas(<span class="keyword">const</span> <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; rect);
  477. <a name="l01216"></a>01216
  478. <a name="l01224"></a>01224 <span class="keywordtype">void</span> finaliseHeightDeltas(<span class="keyword">const</span> <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; rect, <span class="keywordtype">bool</span> cpuData);
  479. <a name="l01225"></a>01225
  480. <a name="l01231"></a>01231 PixelBox* calculateNormals(<span class="keyword">const</span> <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; rect, <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; outFinalRect);
  481. <a name="l01232"></a>01232
  482. <a name="l01240"></a>01240 <span class="keywordtype">void</span> finaliseNormals(<span class="keyword">const</span> <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; rect, PixelBox* normalsBox);
  483. <a name="l01241"></a>01241
  484. <a name="l01249"></a>01249 PixelBox* calculateLightmap(<span class="keyword">const</span> <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; rect, <span class="keyword">const</span> <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; extraTargetRect, <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; outFinalRect);
  485. <a name="l01250"></a>01250
  486. <a name="l01258"></a>01258 <span class="keywordtype">void</span> finaliseLightmap(<span class="keyword">const</span> <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; rect, PixelBox* lightmapBox);
  487. <a name="l01259"></a>01259
  488. <a name="l01263"></a>01263 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getResolutionAtLod(<a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> lodLevel);
  489. <a name="l01264"></a>01264
  490. <a name="l01276"></a>01276 std::pair&lt;bool, Vector3&gt; rayIntersects(<span class="keyword">const</span> Ray&amp; ray,
  491. <a name="l01277"></a>01277 <span class="keywordtype">bool</span> cascadeToNeighbours = <span class="keyword">false</span>, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> distanceLimit = 0); <span class="comment">//const;</span>
  492. <a name="l01278"></a>01278
  493. <a name="l01280"></a>01280 <span class="keyword">const</span> AxisAlignedBox&amp; getAABB() <span class="keyword">const</span>;
  494. <a name="l01282"></a>01282 AxisAlignedBox getWorldAABB() <span class="keyword">const</span>;
  495. <a name="l01284"></a>01284 <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getMinHeight() <span class="keyword">const</span>;
  496. <a name="l01286"></a>01286 <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getMaxHeight() <span class="keyword">const</span>;
  497. <a name="l01288"></a>01288 <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getBoundingRadius() <span class="keyword">const</span>;
  498. <a name="l01289"></a>01289
  499. <a name="l01291"></a>01291 <span class="keyword">const</span> MaterialPtr&amp; getMaterial() <span class="keyword">const</span>;
  500. <a name="l01293"></a>01293 <span class="keyword">const</span> MaterialPtr&amp; _getMaterial()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mMaterial; }
  501. <a name="l01295"></a>01295 <span class="keyword">const</span> MaterialPtr&amp; getCompositeMapMaterial() <span class="keyword">const</span>;
  502. <a name="l01297"></a><a class="code" href="classOgre_1_1Terrain.html#a9ca3f5c19817403a166a1a43350b09c9">01297</a> <span class="keyword">const</span> <a class="code" href="classOgre_1_1MaterialPtr.html" title="Specialisation of SharedPtr to allow SharedPtr to be assigned to MaterialPtr.">MaterialPtr</a>&amp; _getCompositeMapMaterial()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mCompositeMapMaterial; }
  503. <a name="l01298"></a>01298
  504. <a name="l01300"></a>01300 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#af73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; getMaterialName()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mMaterialName; }
  505. <a name="l01301"></a>01301
  506. <a name="l01303"></a>01303 <span class="keywordtype">void</span> preFindVisibleObjects(SceneManager* source,
  507. <a name="l01304"></a>01304 <a class="code" href="classOgre_1_1SceneManager.html#a51db39cc4fa15b28086a1793d42fc827" title="Describes the stage of rendering when performing complex illumination.">SceneManager::IlluminationRenderStage</a> irs, Viewport* v);
  508. <a name="l01306"></a><a class="code" href="classOgre_1_1Terrain.html#a85db9aa174047ce5cc4eb3904f32ef42">01306</a> <span class="keywordtype">void</span> sceneManagerDestroyed(<a class="code" href="classOgre_1_1SceneManager.html" title="Manages the organisation and rendering of a &amp;#39;scene&amp;#39; i.e.">SceneManager</a>* source);
  509. <a name="l01307"></a>01307
  510. <a name="l01309"></a>01309 <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> getRenderQueueGroup(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mRenderQueueGroup; }
  511. <a name="l01313"></a><a class="code" href="classOgre_1_1Terrain.html#a6f2a1ff260575d4ff9270d7c2198d5a4">01313</a> <span class="keywordtype">void</span> setRenderQueueGroup(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> grp) { mRenderQueueGroup = grp; }
  512. <a name="l01314"></a>01314
  513. <a name="l01316"></a>01316 <a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> getVisibilityFlags(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mVisibilityFlags; }
  514. <a name="l01320"></a><a class="code" href="classOgre_1_1Terrain.html#ac387d6c5b2fd70ab48e9ccf3e48c6619">01320</a> <span class="keywordtype">void</span> setVisibilityFlags(<a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> flags) { mVisibilityFlags = flags; }
  515. <a name="l01321"></a>01321
  516. <a name="l01323"></a>01323 <a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> getQueryFlags(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mQueryFlags; }
  517. <a name="l01327"></a><a class="code" href="classOgre_1_1Terrain.html#ad7934e16e9ad7a0a272bb86d46c17b9e">01327</a> <span class="keywordtype">void</span> setQueryFlags(<a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> flags) { mQueryFlags = flags; }
  518. <a name="l01328"></a>01328
  519. <a name="l01330"></a><a class="code" href="classOgre_1_1Terrain.html#aa0e26a4fd6e9897509bf7372388427ff">01330</a> <span class="keywordtype">void</span> addQueryFlags(<a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> flags) { mQueryFlags |= flags; }
  520. <a name="l01331"></a>01331
  521. <a name="l01332"></a>01332 <span class="comment">/* As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object. */</span>
  522. <a name="l01333"></a>01333 <span class="keywordtype">void</span> removeQueryFlags(<a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> flags) { mQueryFlags &amp;= ~flags; }
  523. <a name="l01334"></a>01334
  524. <a name="l01335"></a>01335
  525. <a name="l01348"></a>01348 TerrainLayerBlendMap* getLayerBlendMap(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> layerIndex);
  526. <a name="l01349"></a>01349
  527. <a name="l01355"></a>01355 <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> getBlendTextureIndex(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> layerIndex) <span class="keyword">const</span>;
  528. <a name="l01356"></a>01356
  529. <a name="l01358"></a>01358 <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> getBlendTextureCount() <span class="keyword">const</span>;
  530. <a name="l01360"></a>01360 <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> getBlendTextureCount(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> numLayers) <span class="keyword">const</span>;
  531. <a name="l01361"></a>01361
  532. <a name="l01362"></a>01362
  533. <a name="l01367"></a>01367 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#af73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; getBlendTextureName(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> textureIndex) <span class="keyword">const</span>;
  534. <a name="l01368"></a>01368
  535. <a name="l01381"></a>01381 <span class="keywordtype">void</span> setGlobalColourMapEnabled(<span class="keywordtype">bool</span> enabled, <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> size = 0);
  536. <a name="l01383"></a>01383 <span class="keywordtype">bool</span> getGlobalColourMapEnabled()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mGlobalColourMapEnabled; }
  537. <a name="l01385"></a>01385 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getGlobalColourMapSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mGlobalColourMapSize; }
  538. <a name="l01387"></a>01387 <span class="keyword">const</span> TexturePtr&amp; getGlobalColourMap()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mColourMap; }
  539. <a name="l01388"></a>01388
  540. <a name="l01394"></a>01394 <span class="keywordtype">void</span> widenRectByVector(<span class="keyword">const</span> Vector3&amp; vec, <span class="keyword">const</span> <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; inRect, <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; outRect);
  541. <a name="l01395"></a>01395
  542. <a name="l01403"></a>01403 <span class="keywordtype">void</span> widenRectByVector(<span class="keyword">const</span> Vector3&amp; vec, <span class="keyword">const</span> <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; inRect,
  543. <a name="l01404"></a>01404 <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> minHeight, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> maxHeight, <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; outRect);
  544. <a name="l01405"></a>01405
  545. <a name="l01415"></a>01415 <span class="keywordtype">void</span> freeTemporaryResources();
  546. <a name="l01416"></a>01416
  547. <a name="l01421"></a>01421 <span class="keyword">const</span> TexturePtr&amp; getLayerBlendTexture(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index);
  548. <a name="l01422"></a>01422
  549. <a name="l01429"></a>01429 std::pair&lt;uint8,uint8&gt; getLayerBlendTextureIndex(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> layerIndex);
  550. <a name="l01430"></a>01430
  551. <a name="l01441"></a>01441 <span class="keywordtype">void</span> _setMorphRequired(<span class="keywordtype">bool</span> morph) { mLodMorphRequired = morph; }
  552. <a name="l01443"></a>01443 <span class="keywordtype">bool</span> _getMorphRequired()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mLodMorphRequired; }
  553. <a name="l01444"></a>01444
  554. <a name="l01456"></a>01456 <span class="keywordtype">void</span> _setNormalMapRequired(<span class="keywordtype">bool</span> normalMap);
  555. <a name="l01457"></a>01457
  556. <a name="l01471"></a>01471 <span class="keywordtype">void</span> _setLightMapRequired(<span class="keywordtype">bool</span> lightMap, <span class="keywordtype">bool</span> shadowsOnly = <span class="keyword">false</span>);
  557. <a name="l01472"></a>01472
  558. <a name="l01491"></a>01491 <span class="keywordtype">void</span> _setCompositeMapRequired(<span class="keywordtype">bool</span> compositeMap);
  559. <a name="l01492"></a>01492
  560. <a name="l01494"></a>01494 <span class="keywordtype">bool</span> canHandleRequest(<span class="keyword">const</span> WorkQueue::Request* req, <span class="keyword">const</span> WorkQueue* srcQ);
  561. <a name="l01496"></a>01496 WorkQueue::Response* handleRequest(<span class="keyword">const</span> WorkQueue::Request* req, <span class="keyword">const</span> WorkQueue* srcQ);
  562. <a name="l01498"></a>01498 <span class="keywordtype">bool</span> canHandleResponse(<span class="keyword">const</span> WorkQueue::Response* res, <span class="keyword">const</span> WorkQueue* srcQ);
  563. <a name="l01500"></a>01500 <span class="keywordtype">void</span> handleResponse(<span class="keyword">const</span> WorkQueue::Response* res, <span class="keyword">const</span> WorkQueue* srcQ);
  564. <a name="l01501"></a>01501
  565. <a name="l01502"></a>01502 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> WORKQUEUE_DERIVED_DATA_REQUEST;
  566. <a name="l01503"></a>01503
  567. <a name="l01504"></a>01504
  568. <a name="l01506"></a>01506 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getLODLevelWhenVertexEliminated(<span class="keywordtype">long</span> x, <span class="keywordtype">long</span> y);
  569. <a name="l01508"></a>01508 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getLODLevelWhenVertexEliminated(<span class="keywordtype">long</span> rowOrColulmn);
  570. <a name="l01509"></a><a class="code" href="classOgre_1_1Terrain.html#a5415ad85a6bf652029c01169105a068d">01509</a>
  571. <a name="l01510"></a>01510
  572. <a name="l01512"></a><a class="code" href="classOgre_1_1Terrain.html#a7601c279cf4f0d4c99260c243f2e36a1">01512</a> <a class="code" href="classOgre_1_1TerrainQuadTreeNode.html" title="A node in a quad tree used to store a patch of terrain.">TerrainQuadTreeNode</a>* getQuadTree() { <span class="keywordflow">return</span> mQuadTree; }
  573. <a name="l01513"></a>01513
  574. <a name="l01515"></a>01515 <a class="code" href="classOgre_1_1TexturePtr.html" title="Specialisation of SharedPtr to allow SharedPtr to be assigned to TexturePtr.">TexturePtr</a> getTerrainNormalMap()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mTerrainNormalMap; }
  575. <a name="l01516"></a>01516
  576. <a name="l01524"></a>01524 Terrain* getNeighbour(NeighbourIndex index);
  577. <a name="l01525"></a>01525
  578. <a name="l01543"></a>01543 <span class="keywordtype">void</span> setNeighbour(NeighbourIndex index, Terrain* neighbour, <span class="keywordtype">bool</span> recalculate = <span class="keyword">false</span>, <span class="keywordtype">bool</span> notifyOther = <span class="keyword">true</span>);
  579. <a name="l01544"></a>01544
  580. <a name="l01549"></a>01549 <span class="keyword">static</span> NeighbourIndex getOppositeNeighbour(NeighbourIndex index);
  581. <a name="l01550"></a>01550
  582. <a name="l01553"></a>01553 <span class="keyword">static</span> NeighbourIndex getNeighbourIndex(<span class="keywordtype">long</span> offsetx, <span class="keywordtype">long</span> offsety);
  583. <a name="l01554"></a>01554
  584. <a name="l01562"></a>01562 <span class="keywordtype">void</span> notifyNeighbours();
  585. <a name="l01563"></a>01563
  586. <a name="l01571"></a>01571 <span class="keywordtype">void</span> neighbourModified(NeighbourIndex index, <span class="keyword">const</span> <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; edgerect, <span class="keyword">const</span> <a class="code" href="group__General.html#gae714035a753a8f484650598dc4143db8" title="Structure used to define a rectangle in a 2-D integer space.">Rect</a>&amp; shadowrect);
  587. <a name="l01572"></a>01572
  588. <a name="l01578"></a>01578 Terrain* raySelectNeighbour(<span class="keyword">const</span> Ray&amp; ray, <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> distanceLimit = 0);
  589. <a name="l01579"></a>01579
  590. <a name="l01584"></a><a class="code" href="classOgre_1_1Terrain.html#afb5586d0aba89e95bb91e5e3fd297948">01584</a> <span class="keywordtype">void</span> _dumpTextures(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#af73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; prefix, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#af73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; suffix);
  591. <a name="l01585"></a>01585
  592. <a name="l01587"></a>01587 <span class="keywordtype">bool</span> isDerivedDataUpdateInProgress()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mDerivedDataUpdateInProgress; }
  593. <a name="l01588"></a>01588
  594. <a name="l01589"></a>01589
  595. <a name="l01591"></a>01591 <span class="keyword">static</span> <span class="keywordtype">void</span> convertWorldToTerrainAxes(Alignment align, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; worldVec, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* terrainVec);
  596. <a name="l01593"></a>01593 <span class="keyword">static</span> <span class="keywordtype">void</span> convertTerrainToWorldAxes(Alignment align, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; terrainVec, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* worldVec);
  597. <a name="l01594"></a>01594
  598. <a name="l01596"></a>01596 <span class="keyword">static</span> <span class="keywordtype">void</span> writeLayerDeclaration(<span class="keyword">const</span> <a class="code" href="structOgre_1_1TerrainLayerDeclaration.html" title="The definition of the information each layer will contain in this terrain.">TerrainLayerDeclaration</a>&amp; decl, <a class="code" href="classOgre_1_1StreamSerialiser.html" title="Utility class providing helper methods for reading / writing structured data held...">StreamSerialiser</a>&amp; ser);
  599. <a name="l01598"></a>01598 <span class="keyword">static</span> <span class="keywordtype">bool</span> readLayerDeclaration(<a class="code" href="classOgre_1_1StreamSerialiser.html" title="Utility class providing helper methods for reading / writing structured data held...">StreamSerialiser</a>&amp; ser, <a class="code" href="structOgre_1_1TerrainLayerDeclaration.html" title="The definition of the information each layer will contain in this terrain.">TerrainLayerDeclaration</a>&amp; targetdecl);
  600. <a name="l01600"></a>01600 <span class="keyword">static</span> <span class="keywordtype">void</span> writeLayerInstanceList(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Terrain.html#a7f4f256f962849538b8e46eebd6da94c">Terrain::LayerInstanceList</a>&amp; lst, <a class="code" href="classOgre_1_1StreamSerialiser.html" title="Utility class providing helper methods for reading / writing structured data held...">StreamSerialiser</a>&amp; ser);
  601. <a name="l01602"></a>01602 <span class="keyword">static</span> <span class="keywordtype">bool</span> readLayerInstanceList(<a class="code" href="classOgre_1_1StreamSerialiser.html" title="Utility class providing helper methods for reading / writing structured data held...">StreamSerialiser</a>&amp; ser, <span class="keywordtype">size_t</span> numSamplers, <a class="code" href="classOgre_1_1Terrain.html#a7f4f256f962849538b8e46eebd6da94c">Terrain::LayerInstanceList</a>&amp; targetlst);
  602. <a name="l01603"></a>01603 <span class="keyword">protected</span>:
  603. <a name="l01604"></a>01604
  604. <a name="l01605"></a>01605 <span class="keywordtype">void</span> freeCPUResources();
  605. <a name="l01606"></a>01606 <span class="keywordtype">void</span> freeGPUResources();
  606. <a name="l01607"></a>01607 <span class="keywordtype">void</span> determineLodLevels();
  607. <a name="l01608"></a>01608 <span class="keywordtype">void</span> distributeVertexData();
  608. <a name="l01609"></a>01609 <span class="keywordtype">void</span> updateBaseScale();
  609. <a name="l01610"></a>01610 <span class="keywordtype">void</span> createGPUBlendTextures();
  610. <a name="l01611"></a>01611 <span class="keywordtype">void</span> createLayerBlendMaps();
  611. <a name="l01612"></a>01612 <span class="keywordtype">void</span> createOrDestroyGPUNormalMap();
  612. <a name="l01613"></a>01613 <span class="keywordtype">void</span> createOrDestroyGPUColourMap();
  613. <a name="l01614"></a>01614 <span class="keywordtype">void</span> createOrDestroyGPULightmap();
  614. <a name="l01615"></a>01615 <span class="keywordtype">void</span> createOrDestroyGPUCompositeMap();
  615. <a name="l01616"></a>01616 <span class="keywordtype">void</span> waitForDerivedProcesses();
  616. <a name="l01617"></a>01617 <span class="keywordtype">void</span> convertSpace(Space inSpace, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; inVec, Space outSpace, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; outVec, <span class="keywordtype">bool</span> translation) <span class="keyword">const</span>;
  617. <a name="l01618"></a>01618 <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a> convertWorldToTerrainAxes(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; inVec) <span class="keyword">const</span>;
  618. <a name="l01619"></a>01619 <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a> convertTerrainToWorldAxes(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; inVec) <span class="keyword">const</span>;
  619. <a name="l01623"></a>01623 <span class="keywordtype">void</span> getPointAlign(<span class="keywordtype">long</span> x, <span class="keywordtype">long</span> y, Alignment align, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outpos);
  620. <a name="l01628"></a>01628 <span class="keywordtype">void</span> getPointAlign(<span class="keywordtype">long</span> x, <span class="keywordtype">long</span> y, <span class="keywordtype">float</span> height, Alignment align, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outpos);
  621. <a name="l01629"></a>01629 <span class="keywordtype">void</span> calculateCurrentLod(<a class="code" href="classOgre_1_1Viewport.html" title="An abstraction of a viewport, i.e.">Viewport</a>* vp);
  622. <a name="l01631"></a>01631 std::pair&lt;bool, Vector3&gt; checkQuadIntersection(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Ray.html" title="Representation of a ray in space, i.e.">Ray</a>&amp; ray); <span class="comment">//const;</span>
  623. <a name="l01632"></a>01632
  624. <a name="l01634"></a>01634 <span class="keywordtype">void</span> deleteBlendMaps(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> lowIndex);
  625. <a name="l01636"></a>01636 <span class="keywordtype">void</span> shiftUpGPUBlendChannels(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index);
  626. <a name="l01638"></a>01638 <span class="keywordtype">void</span> shiftDownGPUBlendChannels(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index);
  627. <a name="l01640"></a>01640 <span class="keywordtype">void</span> copyBlendTextureChannel(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> srcIndex, <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> srcChannel, <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> destIndex, <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> destChannel );
  628. <a name="l01642"></a>01642 <span class="keywordtype">void</span> clearGPUBlendChannel(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index, <a class="code" href="namespaceOgre.html#ab6e842a18caf062ed73a5d3badd0dd4c">uint</a> channel);
  629. <a name="l01643"></a>01643
  630. <a name="l01644"></a>01644 <span class="keywordtype">void</span> copyGlobalOptions();
  631. <a name="l01645"></a>01645 <span class="keywordtype">void</span> checkLayers(<span class="keywordtype">bool</span> includeGPUResources);
  632. <a name="l01646"></a>01646 <span class="keywordtype">void</span> checkDeclaration();
  633. <a name="l01647"></a>01647 <span class="keywordtype">void</span> deriveUVMultipliers();
  634. <a name="l01648"></a>01648 <a class="code" href="group__Image.html#ga7e0353e7d36d4c2e8468641b7303d39c" title="The pixel format used for images, textures, and render surfaces.">PixelFormat</a> getBlendTextureFormat(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> textureIndex, <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> numLayers);
  635. <a name="l01649"></a>01649
  636. <a name="l01650"></a>01650 <span class="keywordtype">void</span> updateDerivedDataImpl(<span class="keyword">const</span> <a class="code" href="structOgre_1_1TRect.html">Rect</a>&amp; rect, <span class="keyword">const</span> <a class="code" href="structOgre_1_1TRect.html">Rect</a>&amp; lightmapExtraRect, <span class="keywordtype">bool</span> synchronous, <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> typeMask);
  637. <a name="l01651"></a>01651
  638. <a name="l01652"></a>01652 <span class="keywordtype">void</span> getEdgeRect(NeighbourIndex index, <span class="keywordtype">long</span> range, <a class="code" href="structOgre_1_1TRect.html">Rect</a>* outRect);
  639. <a name="l01653"></a>01653 <span class="comment">// get the equivalent of the passed in edge rectangle in neighbour</span>
  640. <a name="l01654"></a>01654 <span class="keywordtype">void</span> getNeighbourEdgeRect(NeighbourIndex index, <span class="keyword">const</span> <a class="code" href="structOgre_1_1TRect.html">Rect</a>&amp; inRect, <a class="code" href="structOgre_1_1TRect.html">Rect</a>* outRect);
  641. <a name="l01655"></a>01655 <span class="comment">// get the equivalent of the passed in edge point in neighbour</span>
  642. <a name="l01656"></a>01656 <span class="keywordtype">void</span> getNeighbourPoint(NeighbourIndex index, <span class="keywordtype">long</span> x, <span class="keywordtype">long</span> y, <span class="keywordtype">long</span> *outx, <span class="keywordtype">long</span> *outy);
  643. <a name="l01657"></a>01657 <span class="comment">// overflow a point into a neighbour index and point</span>
  644. <a name="l01658"></a>01658 <span class="keywordtype">void</span> getNeighbourPointOverflow(<span class="keywordtype">long</span> x, <span class="keywordtype">long</span> y, NeighbourIndex *outindex, <span class="keywordtype">long</span> *outx, <span class="keywordtype">long</span> *outy);
  645. <a name="l01659"></a><a class="code" href="classOgre_1_1Terrain.html#a5bd6d908c8953d9229b9bf6276d7b040">01659</a>
  646. <a name="l01660"></a><a class="code" href="classOgre_1_1Terrain.html#abc9edf0c90d1e990281cacda529313e7">01660</a>
  647. <a name="l01661"></a><a class="code" href="classOgre_1_1Terrain.html#abca80f7ceeacf8ffb404d2a9f2dfb2f3">01661</a>
  648. <a name="l01662"></a><a class="code" href="classOgre_1_1Terrain.html#a3e3a0e6e7fc53c54470172b5abc25d22">01662</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mWorkQueueChannel;
  649. <a name="l01663"></a><a class="code" href="classOgre_1_1Terrain.html#aea4c89bf7c89a1df235284661317ee5c">01663</a> <a class="code" href="classOgre_1_1SceneManager.html" title="Manages the organisation and rendering of a &amp;#39;scene&amp;#39; i.e.">SceneManager</a>* mSceneMgr;
  650. <a name="l01664"></a><a class="code" href="classOgre_1_1Terrain.html#a7492c31cf2d3172352adabdffef0c166">01664</a> <a class="code" href="classOgre_1_1SceneNode.html" title="Class representing a node in the scene graph.">SceneNode</a>* mRootNode;
  651. <a name="l01665"></a><a class="code" href="classOgre_1_1Terrain.html#aa8a35e9bf9c5307678dc6166273f3db0">01665</a> <a class="code" href="namespaceOgre.html#af73bbdc8bed8a3e6fcd56bb8fa188c45">String</a> mResourceGroup;
  652. <a name="l01666"></a>01666 <span class="keywordtype">bool</span> mIsLoaded;
  653. <a name="l01667"></a>01667 <span class="keywordtype">bool</span> mModified;
  654. <a name="l01668"></a><a class="code" href="classOgre_1_1Terrain.html#a83bbc61a8311ec2ccd52057fd25f627f">01668</a> <span class="keywordtype">bool</span> mHeightDataModified;
  655. <a name="l01669"></a>01669
  656. <a name="l01671"></a><a class="code" href="classOgre_1_1Terrain.html#a9641e90abcf63dab08dccf93af4bd85d">01671</a> <span class="keywordtype">float</span>* mHeightData;
  657. <a name="l01673"></a><a class="code" href="classOgre_1_1Terrain.html#ae24ab80aa422f73efdb425b1e2ad2b8e">01673</a> <span class="keywordtype">float</span>* mDeltaData;
  658. <a name="l01674"></a><a class="code" href="classOgre_1_1Terrain.html#a70b9d43bab8ca756a086be6570837276">01674</a> <a class="code" href="classOgre_1_1Terrain.html#aca4fcebfb7ed4684682347d325477e91" title="The alignment of the terrain.">Alignment</a> mAlign;
  659. <a name="l01675"></a><a class="code" href="classOgre_1_1Terrain.html#ae3822799690563d5127ccfa7e917d979">01675</a> <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> mWorldSize;
  660. <a name="l01676"></a><a class="code" href="classOgre_1_1Terrain.html#a8a2897ebf5e96be16ebff9adc8f4b0c3">01676</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mSize;
  661. <a name="l01677"></a><a class="code" href="classOgre_1_1Terrain.html#af21402726cbf4739e31525ad49787d77">01677</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mMaxBatchSize;
  662. <a name="l01678"></a><a class="code" href="classOgre_1_1Terrain.html#aa06c7fa7675af002931b570301788140">01678</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mMinBatchSize;
  663. <a name="l01679"></a><a class="code" href="classOgre_1_1Terrain.html#ab63de59c01ad5013c4334ac19f9ed5e9">01679</a> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a> mPos;
  664. <a name="l01680"></a><a class="code" href="classOgre_1_1Terrain.html#a3595a98d49b19937bd8c618bcc10d7d6">01680</a> <a class="code" href="classOgre_1_1TerrainQuadTreeNode.html" title="A node in a quad tree used to store a patch of terrain.">TerrainQuadTreeNode</a>* mQuadTree;
  665. <a name="l01681"></a>01681 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mNumLodLevels;
  666. <a name="l01682"></a><a class="code" href="classOgre_1_1Terrain.html#a485d3d98e481c23f37985e09df71cf09">01682</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mNumLodLevelsPerLeafNode;
  667. <a name="l01683"></a>01683 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mTreeDepth;
  668. <a name="l01685"></a><a class="code" href="classOgre_1_1Terrain.html#affb026be1fa23c8854565dc8b90953f6">01685</a> <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> mBase;
  669. <a name="l01687"></a><a class="code" href="classOgre_1_1Terrain.html#a6eca2f77f7a8798fa0022a215112de52">01687</a> <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> mScale;
  670. <a name="l01688"></a>01688 <a class="code" href="structOgre_1_1TerrainLayerDeclaration.html" title="The definition of the information each layer will contain in this terrain.">TerrainLayerDeclaration</a> mLayerDecl;
  671. <a name="l01689"></a><a class="code" href="classOgre_1_1Terrain.html#a5f71d9dcbd70fc1dd6d332941ce15583">01689</a> LayerInstanceList mLayers;
  672. <a name="l01690"></a><a class="code" href="classOgre_1_1Terrain.html#a77d20277f824e0f06e1a6429dd024299">01690</a> RealVector mLayerUVMultiplier;
  673. <a name="l01691"></a><a class="code" href="classOgre_1_1Terrain.html#a936455a8933674c796168c948b53055d">01691</a>
  674. <a name="l01692"></a><a class="code" href="classOgre_1_1Terrain.html#a1370239abf38ddc71c5a40159898c31d">01692</a> <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> mSkirtSize;
  675. <a name="l01693"></a>01693 <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> mRenderQueueGroup;
  676. <a name="l01694"></a><a class="code" href="classOgre_1_1Terrain.html#a3941cf4317bd326c4c3a1dfa7690a37b">01694</a> <a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> mVisibilityFlags;
  677. <a name="l01695"></a><a class="code" href="classOgre_1_1Terrain.html#af0755af0f30b1a30a1353dddc53b8d9f">01695</a> <a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> mQueryFlags;
  678. <a name="l01696"></a><a class="code" href="classOgre_1_1Terrain.html#a1cbef8c1fee4e5d9f84eba3f601020db">01696</a>
  679. <a name="l01697"></a><a class="code" href="classOgre_1_1Terrain.html#a3eaa3ae325935bba5aa04721d95a10c9">01697</a> <a class="code" href="structOgre_1_1TRect.html">Rect</a> mDirtyGeometryRect;
  680. <a name="l01698"></a><a class="code" href="classOgre_1_1Terrain.html#a4c8e4624c142f963e30cde4d0924a1f1">01698</a> <a class="code" href="structOgre_1_1TRect.html">Rect</a> mDirtyDerivedDataRect;
  681. <a name="l01699"></a><a class="code" href="classOgre_1_1Terrain.html#af4e5a2ff8419f32d98041c9427186ec4">01699</a> <a class="code" href="structOgre_1_1TRect.html">Rect</a> mDirtyGeometryRectForNeighbours;
  682. <a name="l01700"></a>01700 <a class="code" href="structOgre_1_1TRect.html">Rect</a> mDirtyLightmapFromNeighboursRect;
  683. <a name="l01701"></a>01701 <span class="keywordtype">bool</span> mDerivedDataUpdateInProgress;
  684. <a name="l01702"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataRequest.html">01702</a> <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> mDerivedUpdatePendingMask; <span class="comment">// if another update is requested while one is already running</span>
  685. <a name="l01703"></a>01703
  686. <a name="l01705"></a>01705 <span class="keyword">struct </span><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataRequest.html" title="A data holder for communicating with the background derived data update.">DerivedDataRequest</a>
  687. <a name="l01706"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataRequest.html#aec88e74f2d4a31352d7215bf609317ab">01706</a> {
  688. <a name="l01707"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataRequest.html#af351c17e10a42958748e4866b13f4010">01707</a> <a class="code" href="classOgre_1_1Terrain.html" title="The main containing class for a chunk of terrain.">Terrain</a>* terrain;
  689. <a name="l01708"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataRequest.html#a4efd3a42eed81d50532c0301780ec4a3">01708</a> <span class="comment">// types requested</span>
  690. <a name="l01709"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataRequest.html#a5031c5df320f3317b1a60bd4bd7f3778">01709</a> <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> typeMask;
  691. <a name="l01710"></a>01710 <a class="code" href="structOgre_1_1TRect.html">Rect</a> dirtyRect;
  692. <a name="l01711"></a>01711 <a class="code" href="structOgre_1_1TRect.html">Rect</a> lightmapExtraDirtyRect;
  693. <a name="l01712"></a>01712 <a class="code" href="OgreTerrainPrerequisites_8h.html#a2fbe49b54cb4b3c3e2757cd3ac167068">_OgreTerrainExport</a> <span class="keyword">friend</span> std::ostream&amp; <a class="code" href="group__General.html#ga5c0329d5ed26753b4c8f145373c6d415">operator&lt;&lt;</a>(std::ostream&amp; o, <span class="keyword">const</span> <a class="code" href="structOgre_1_1Terrain_1_1DerivedDataRequest.html" title="A data holder for communicating with the background derived data update.">DerivedDataRequest</a>&amp; r)
  694. <a name="l01713"></a>01713 { <span class="keywordflow">return</span> o; }
  695. <a name="l01714"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html">01714</a> };
  696. <a name="l01715"></a>01715
  697. <a name="l01717"></a>01717 <span class="keyword">struct </span><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html" title="A data holder for communicating with the background derived data update.">DerivedDataResponse</a>
  698. <a name="l01718"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html#ae47b1a81e0de479f34f0c48d315c0b1e">01718</a> {
  699. <a name="l01719"></a>01719 <a class="code" href="classOgre_1_1Terrain.html" title="The main containing class for a chunk of terrain.">Terrain</a>* terrain;
  700. <a name="l01720"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html#a364544a6a9c0c3a17c2ee11f6518b4dd">01720</a> <span class="comment">// remaining types not yet processed</span>
  701. <a name="l01721"></a>01721 <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> remainingTypeMask;
  702. <a name="l01722"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html#a26f573c43021a442c89fbc3850a45d34">01722</a> <span class="comment">// The area of deltas that was updated</span>
  703. <a name="l01723"></a>01723 <a class="code" href="structOgre_1_1TRect.html">Rect</a> deltaUpdateRect;
  704. <a name="l01724"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html#a69fc735a122d3037bf10d9a897e379a1">01724</a> <span class="comment">// the area of normals that was updated</span>
  705. <a name="l01725"></a>01725 <a class="code" href="structOgre_1_1TRect.html">Rect</a> normalUpdateRect;
  706. <a name="l01726"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html#ae75d9cbcc311fd797178b17e553421f7">01726</a> <span class="comment">// the area of lightmap that was updated</span>
  707. <a name="l01727"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html#a4d21ac16f65468550c6946f16f1de15b">01727</a> <a class="code" href="structOgre_1_1TRect.html">Rect</a> lightmapUpdateRect;
  708. <a name="l01728"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html#a331febe763a7cdf5a376570c40294985">01728</a> <span class="comment">// all CPU-side data, independent of textures; to be blitted in main thread</span>
  709. <a name="l01729"></a>01729 <a class="code" href="classOgre_1_1PixelBox.html" title="A primitive describing a volume (3D), image (2D) or line (1D) of pixels in memory...">PixelBox</a>* normalMapBox;
  710. <a name="l01730"></a>01730 <a class="code" href="classOgre_1_1PixelBox.html" title="A primitive describing a volume (3D), image (2D) or line (1D) of pixels in memory...">PixelBox</a>* lightMapBox;
  711. <a name="l01731"></a>01731 <a class="code" href="OgreTerrainPrerequisites_8h.html#a2fbe49b54cb4b3c3e2757cd3ac167068">_OgreTerrainExport</a> <span class="keyword">friend</span> std::ostream&amp; <a class="code" href="group__General.html#ga5c0329d5ed26753b4c8f145373c6d415">operator&lt;&lt;</a>(std::ostream&amp; o, <span class="keyword">const</span> <a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html" title="A data holder for communicating with the background derived data update.">DerivedDataResponse</a>&amp; r)
  712. <a name="l01732"></a><a class="code" href="classOgre_1_1Terrain.html#a23c48862654ccb8e34161e1d82ea4fc5">01732</a> { <span class="keywordflow">return</span> o; }
  713. <a name="l01733"></a><a class="code" href="classOgre_1_1Terrain.html#a350a48c17dc258989cb1c129764cf3bf">01733</a> };
  714. <a name="l01734"></a><a class="code" href="classOgre_1_1Terrain.html#a27a1e40f095c4b2903a80c27b89dfa72">01734</a>
  715. <a name="l01735"></a><a class="code" href="classOgre_1_1Terrain.html#ad3bc88cecb68633d47eb68c927a5ecd3">01735</a> <a class="code" href="namespaceOgre.html#af73bbdc8bed8a3e6fcd56bb8fa188c45">String</a> mMaterialName;
  716. <a name="l01736"></a><a class="code" href="classOgre_1_1Terrain.html#a9e3852fc118b397b149ec70a996c1ad2">01736</a> <span class="keyword">mutable</span> <a class="code" href="classOgre_1_1MaterialPtr.html" title="Specialisation of SharedPtr to allow SharedPtr to be assigned to MaterialPtr.">MaterialPtr</a> mMaterial;
  717. <a name="l01737"></a><a class="code" href="classOgre_1_1Terrain.html#ad665e8956447375d325810bb840e588f">01737</a> <span class="keyword">mutable</span> <a class="code" href="classOgre_1_1SharedPtr.html">TerrainMaterialGeneratorPtr</a> mMaterialGenerator;
  718. <a name="l01738"></a>01738 <span class="keyword">mutable</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span> mMaterialGenerationCount;
  719. <a name="l01739"></a><a class="code" href="classOgre_1_1Terrain.html#a51f3d31c83e4a675d1ae79764da08c9a">01739</a> <span class="keyword">mutable</span> <span class="keywordtype">bool</span> mMaterialDirty;
  720. <a name="l01740"></a><a class="code" href="classOgre_1_1Terrain.html#a1a440dd8c09418ff6e91361571361758">01740</a> <span class="keyword">mutable</span> <span class="keywordtype">bool</span> mMaterialParamsDirty;
  721. <a name="l01741"></a><a class="code" href="classOgre_1_1Terrain.html#ad6b29b78e589b431e95a9e9ad3b1e2eb">01741</a>
  722. <a name="l01742"></a>01742 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mLayerBlendMapSize;
  723. <a name="l01743"></a><a class="code" href="classOgre_1_1Terrain.html#a0a32afba4ecd26cc4b1b0afcb323a46f">01743</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mLayerBlendMapSizeActual;
  724. <a name="l01744"></a><a class="code" href="classOgre_1_1Terrain.html#a744b95b93d3f07295ddb42ef5f53d582">01744</a> <span class="keyword">typedef</span> <a class="code" href="structOgre_1_1vector.html">vector&lt;uint8*&gt;::type</a> BytePointerList;
  725. <a name="l01746"></a><a class="code" href="classOgre_1_1Terrain.html#a0360134ebb6d7d4de73947b44a4e058e">01746</a> BytePointerList mCpuBlendMapStorage;
  726. <a name="l01747"></a>01747 <span class="keyword">typedef</span> <a class="code" href="structOgre_1_1vector.html">vector&lt;TexturePtr&gt;::type</a> TexturePtrList;
  727. <a name="l01748"></a><a class="code" href="classOgre_1_1Terrain.html#a166ea7ce2cd207073b8c85b6cb3fd18e">01748</a> TexturePtrList mBlendTextureList;
  728. <a name="l01749"></a><a class="code" href="classOgre_1_1Terrain.html#a285d98679e7babd074f3520c1679c45a">01749</a> <a class="code" href="group__Terrain.html#ga0abaf85368e5e249f471ee358e7c8f60">TerrainLayerBlendMapList</a> mLayerBlendMapList;
  729. <a name="l01750"></a><a class="code" href="classOgre_1_1Terrain.html#ab298886638bf91c45c1cf742f0b70d69">01750</a>
  730. <a name="l01751"></a><a class="code" href="classOgre_1_1Terrain.html#af122a088d4fee6faf1ef48045ba549bd">01751</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mGlobalColourMapSize;
  731. <a name="l01752"></a>01752 <span class="keywordtype">bool</span> mGlobalColourMapEnabled;
  732. <a name="l01753"></a><a class="code" href="classOgre_1_1Terrain.html#aa11b22e1c3cf961d33a0954880ccbfb4">01753</a> <a class="code" href="classOgre_1_1TexturePtr.html" title="Specialisation of SharedPtr to allow SharedPtr to be assigned to TexturePtr.">TexturePtr</a> mColourMap;
  733. <a name="l01754"></a><a class="code" href="classOgre_1_1Terrain.html#a193fad393b24141f14e09200dd206c24">01754</a> <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a>* mCpuColourMapStorage;
  734. <a name="l01755"></a><a class="code" href="classOgre_1_1Terrain.html#a809efe6ea5ee604d9d43cfcd75841e30">01755</a>
  735. <a name="l01756"></a><a class="code" href="classOgre_1_1Terrain.html#a638f3bbe77c06c3e5cabd6e3ffa383d4">01756</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mLightmapSize;
  736. <a name="l01757"></a>01757 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mLightmapSizeActual;
  737. <a name="l01758"></a><a class="code" href="classOgre_1_1Terrain.html#a8e623526a576815f8e8b6ad5426f6520">01758</a> <a class="code" href="classOgre_1_1TexturePtr.html" title="Specialisation of SharedPtr to allow SharedPtr to be assigned to TexturePtr.">TexturePtr</a> mLightmap;
  738. <a name="l01759"></a><a class="code" href="classOgre_1_1Terrain.html#a517fc8df0870320f05fe86a7945e5577">01759</a> <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a>* mCpuLightmapStorage;
  739. <a name="l01760"></a><a class="code" href="classOgre_1_1Terrain.html#a0b4fdae3ba7dc9637122a571152b297b">01760</a>
  740. <a name="l01761"></a><a class="code" href="classOgre_1_1Terrain.html#abe66401a823c35bff777664165d44cb1">01761</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mCompositeMapSize;
  741. <a name="l01762"></a><a class="code" href="classOgre_1_1Terrain.html#aed440e71196c9f3d76633461e61ecf3c">01762</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mCompositeMapSizeActual;
  742. <a name="l01763"></a><a class="code" href="classOgre_1_1Terrain.html#afaf753af6db587044ce7c121a3ecb35a">01763</a> <a class="code" href="classOgre_1_1TexturePtr.html" title="Specialisation of SharedPtr to allow SharedPtr to be assigned to TexturePtr.">TexturePtr</a> mCompositeMap;
  743. <a name="l01764"></a><a class="code" href="classOgre_1_1Terrain.html#a5353699a17912c930ad6233a8c03eaeb">01764</a> <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a>* mCpuCompositeMapStorage;
  744. <a name="l01765"></a>01765 <a class="code" href="structOgre_1_1TRect.html">Rect</a> mCompositeMapDirtyRect;
  745. <a name="l01766"></a><a class="code" href="classOgre_1_1Terrain.html#ad5792073207265724b6d79766fcdf64a">01766</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mCompositeMapUpdateCountdown;
  746. <a name="l01767"></a><a class="code" href="classOgre_1_1Terrain.html#af58fb7c2a6bb9cf9d1414739a3927004">01767</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mLastMillis;
  747. <a name="l01769"></a>01769 <span class="keywordtype">bool</span> mCompositeMapDirtyRectLightmapUpdate;
  748. <a name="l01770"></a><a class="code" href="classOgre_1_1Terrain.html#a8ae8a162c87ef7f68f1071fa72b7b9e9">01770</a> <span class="keyword">mutable</span> <a class="code" href="classOgre_1_1MaterialPtr.html" title="Specialisation of SharedPtr to allow SharedPtr to be assigned to MaterialPtr.">MaterialPtr</a> mCompositeMapMaterial;
  749. <a name="l01771"></a><a class="code" href="classOgre_1_1Terrain.html#a1886f1e5eeefc749df664d9275361f2f">01771</a>
  750. <a name="l01772"></a><a class="code" href="classOgre_1_1Terrain.html#aee6e3b02940508becd5f1a8b2fa46727">01772</a>
  751. <a name="l01773"></a><a class="code" href="classOgre_1_1Terrain.html#ab15a97ece4b0ffe5b54b4e634f125b70">01773</a> <span class="keyword">static</span> <a class="code" href="classOgre_1_1NameGenerator.html" title="Utility class to generate a sequentially numbered series of names.">NameGenerator</a> msBlendTextureGenerator;
  752. <a name="l01774"></a>01774 <span class="keyword">static</span> <a class="code" href="classOgre_1_1NameGenerator.html" title="Utility class to generate a sequentially numbered series of names.">NameGenerator</a> msNormalMapNameGenerator;
  753. <a name="l01775"></a><a class="code" href="classOgre_1_1Terrain.html#a5c72d3c973a1ba37d321b7a68de1f0c4">01775</a> <span class="keyword">static</span> <a class="code" href="classOgre_1_1NameGenerator.html" title="Utility class to generate a sequentially numbered series of names.">NameGenerator</a> msLightmapNameGenerator;
  754. <a name="l01776"></a><a class="code" href="classOgre_1_1Terrain.html#a80cd0f9fa136d2051b2e233e38adf470">01776</a> <span class="keyword">static</span> <a class="code" href="classOgre_1_1NameGenerator.html" title="Utility class to generate a sequentially numbered series of names.">NameGenerator</a> msCompositeMapNameGenerator;
  755. <a name="l01777"></a><a class="code" href="classOgre_1_1Terrain.html#a4edce6e8967649ffcb97d5e8f586e400">01777</a>
  756. <a name="l01778"></a><a class="code" href="classOgre_1_1Terrain.html#a558428bf181e9b93e9818da3db6b336b">01778</a> <span class="keywordtype">bool</span> mLodMorphRequired;
  757. <a name="l01779"></a><a class="code" href="classOgre_1_1Terrain.html#a75a5aa015183ef539c2ce7da26b4e31b">01779</a> <span class="keywordtype">bool</span> mNormalMapRequired;
  758. <a name="l01780"></a>01780 <span class="keywordtype">bool</span> mLightMapRequired;
  759. <a name="l01781"></a><a class="code" href="classOgre_1_1Terrain.html#a2471b8639a44a294492dc6bc0ecc4a9f">01781</a> <span class="keywordtype">bool</span> mLightMapShadowsOnly;
  760. <a name="l01782"></a>01782 <span class="keywordtype">bool</span> mCompositeMapRequired;
  761. <a name="l01784"></a><a class="code" href="classOgre_1_1Terrain.html#a0176cf2bb7bb6f3724a23b2e3839e947">01784</a> <a class="code" href="classOgre_1_1TexturePtr.html" title="Specialisation of SharedPtr to allow SharedPtr to be assigned to TexturePtr.">TexturePtr</a> mTerrainNormalMap;
  762. <a name="l01785"></a>01785
  763. <a name="l01787"></a><a class="code" href="classOgre_1_1Terrain.html#a56abcf439703d0dfd1b9f20884b77ea6">01787</a> <a class="code" href="classOgre_1_1PixelBox.html" title="A primitive describing a volume (3D), image (2D) or line (1D) of pixels in memory...">PixelBox</a>* mCpuTerrainNormalMap;
  764. <a name="l01788"></a><a class="code" href="classOgre_1_1Terrain.html#a15d28aeba05b82cc302077ba14f97efb">01788</a>
  765. <a name="l01789"></a>01789 <span class="keyword">const</span> <a class="code" href="classOgre_1_1Camera.html" title="A viewpoint from which the scene will be rendered.">Camera</a>* mLastLODCamera;
  766. <a name="l01790"></a><a class="code" href="classOgre_1_1Terrain.html#a75d57c577cd10027d726c1f33d2f020b">01790</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mLastLODFrame;
  767. <a name="l01791"></a>01791 <span class="keywordtype">int</span> mLastViewportHeight;
  768. <a name="l01792"></a><a class="code" href="classOgre_1_1Terrain.html#a33e527a5b38fb315d1420070217351ab">01792</a>
  769. <a name="l01793"></a><a class="code" href="classOgre_1_1Terrain.html#aeeb4e9d5bfaf45a087a9810ff3e0e88d">01793</a> <a class="code" href="classOgre_1_1Terrain.html" title="The main containing class for a chunk of terrain.">Terrain</a>* mNeighbours[NEIGHBOUR_COUNT];
  770. <a name="l01794"></a>01794
  771. <a name="l01795"></a>01795 <a class="code" href="classOgre_1_1Terrain_1_1GpuBufferAllocator.html" title="Interface used to by the Terrain instance to allocate GPU buffers.">GpuBufferAllocator</a>* mCustomGpuBufferAllocator;
  772. <a name="l01796"></a>01796 <a class="code" href="classOgre_1_1Terrain_1_1DefaultGpuBufferAllocator.html" title="Standard implementation of a buffer allocator which re-uses buffers.">DefaultGpuBufferAllocator</a> mDefaultGpuBufferAllocator;
  773. <a name="l01797"></a>01797
  774. <a name="l01798"></a>01798 <span class="keywordtype">size_t</span> getPositionBufVertexSize() <span class="keyword">const</span>;
  775. <a name="l01799"></a>01799 <span class="keywordtype">size_t</span> getDeltaBufVertexSize() <span class="keyword">const</span>;
  776. <a name="l01800"></a>01800
  777. <a name="l01801"></a>01801 };
  778. <a name="l01802"></a>01802
  779. <a name="l01803"></a>01803
  780. <a name="l01813"></a>01813 <span class="keyword">class </span><a class="code" href="OgreTerrainPrerequisites_8h.html#a2fbe49b54cb4b3c3e2757cd3ac167068">_OgreTerrainExport</a> <a class="code" href="classOgre_1_1TerrainGlobalOptions.html" title="Options class which just stores default options for the terrain.">TerrainGlobalOptions</a> : <span class="keyword">public</span> <a class="code" href="classOgre_1_1AllocatedObject.html" title="Superclass for all objects that wish to use custom memory allocators when their new...">TerrainAlloc</a>, <span class="keyword">public</span> <a class="code" href="classOgre_1_1Singleton.html" title="Template class for creating single-instance global classes.">Singleton</a>&lt;TerrainGlobalOptions&gt;
  781. <a name="l01814"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a7f4b235983a1e264b9a05ac2bc8c0fa4">01814</a> {
  782. <a name="l01815"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#ae39fd9c9af07747bf1d97ac1fc8e2acf">01815</a> <span class="keyword">protected</span>:
  783. <a name="l01816"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a4e899e0de62b28cd4a7387d6bc309386">01816</a>
  784. <a name="l01817"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#acc5386c8a4470c1bb78a7480ccf0d6c8">01817</a> <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> mSkirtSize;
  785. <a name="l01818"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a1cb7acd60843de6f07fc88a6dc9c04f9">01818</a> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a> mLightMapDir;
  786. <a name="l01819"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a72e0f6e52815a310795140f2f53ce35c">01819</a> <span class="keywordtype">bool</span> mCastsShadows;
  787. <a name="l01820"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a6cb4188ffea1f78371d9eef49b985be7">01820</a> <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> mMaxPixelError;
  788. <a name="l01821"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#ad91bd2a30cbbed3def53c17dc740e3ca">01821</a> <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> mRenderQueueGroup;
  789. <a name="l01822"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a7becd0d484d721b8fae02e24c3527419">01822</a> <a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> mVisibilityFlags;
  790. <a name="l01823"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#ac63faa9bc5d2501aa90f9c8d3ca93ca7">01823</a> <a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> mQueryFlags;
  791. <a name="l01824"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a51dd2ce4993cb02f32693c58f309efe4">01824</a> <span class="keywordtype">bool</span> mUseRayBoxDistanceCalculation;
  792. <a name="l01825"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a17a1861e5b779f49aaf1bd164aded668">01825</a> <a class="code" href="classOgre_1_1SharedPtr.html">TerrainMaterialGeneratorPtr</a> mDefaultMaterialGenerator;
  793. <a name="l01826"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#ad8dea0cf9bfd02555448367d3b2abc4b">01826</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mLayerBlendMapSize;
  794. <a name="l01827"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#aa1eec11aa9da111c7cf3ef2ade86a564">01827</a> <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> mDefaultLayerTextureWorldSize;
  795. <a name="l01828"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a8f92defbfed343684f899c6e3cff17e8">01828</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mDefaultGlobalColourMapSize;
  796. <a name="l01829"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#adc5fc6047d3c919a18ed377bc6a79e57">01829</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mLightmapSize;
  797. <a name="l01830"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#ac48fa7e980062937ffd2a020de5186b8">01830</a> <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mCompositeMapSize;
  798. <a name="l01831"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a9cd495f55c60f4bf1f71a42ec1e939d1">01831</a> <a class="code" href="classOgre_1_1ColourValue.html" title="Class representing colour.">ColourValue</a> mCompositeMapAmbient;
  799. <a name="l01832"></a>01832 <a class="code" href="classOgre_1_1ColourValue.html" title="Class representing colour.">ColourValue</a> mCompositeMapDiffuse;
  800. <a name="l01833"></a>01833 <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> mCompositeMapDistance;
  801. <a name="l01834"></a>01834 <a class="code" href="namespaceOgre.html#af73bbdc8bed8a3e6fcd56bb8fa188c45">String</a> mResourceGroup;
  802. <a name="l01835"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#aa0e34bf29b14f99fe8957910aaf85698">01835</a>
  803. <a name="l01836"></a>01836 <span class="keyword">public</span>:
  804. <a name="l01837"></a>01837 <a class="code" href="classOgre_1_1TerrainGlobalOptions.html" title="Options class which just stores default options for the terrain.">TerrainGlobalOptions</a>();
  805. <a name="l01838"></a>01838 <span class="keyword">virtual</span> ~<a class="code" href="classOgre_1_1TerrainGlobalOptions.html" title="Options class which just stores default options for the terrain.">TerrainGlobalOptions</a>() {}
  806. <a name="l01839"></a>01839
  807. <a name="l01840"></a>01840
  808. <a name="l01844"></a>01844 <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getSkirtSize() { <span class="keywordflow">return</span> mSkirtSize; }
  809. <a name="l01850"></a>01850 <span class="keywordtype">void</span> setSkirtSize(<a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> skirtSz) { mSkirtSize = skirtSz; }
  810. <a name="l01852"></a>01852 <span class="keyword">const</span> Vector3&amp; getLightMapDirection() { <span class="keywordflow">return</span> mLightMapDir; }
  811. <a name="l01854"></a>01854 <span class="keywordtype">void</span> setLightMapDirection(<span class="keyword">const</span> Vector3&amp; v) { mLightMapDir = v; }
  812. <a name="l01856"></a>01856 <span class="keyword">const</span> ColourValue&amp; getCompositeMapAmbient() { <span class="keywordflow">return</span> mCompositeMapAmbient; }
  813. <a name="l01858"></a>01858 <span class="keywordtype">void</span> setCompositeMapAmbient(<span class="keyword">const</span> ColourValue&amp; c) { mCompositeMapAmbient = c; }
  814. <a name="l01860"></a>01860 <span class="keyword">const</span> ColourValue&amp; getCompositeMapDiffuse() { <span class="keywordflow">return</span> mCompositeMapDiffuse; }
  815. <a name="l01862"></a>01862 <span class="keywordtype">void</span> setCompositeMapDiffuse(<span class="keyword">const</span> ColourValue&amp; c) { mCompositeMapDiffuse = c; }
  816. <a name="l01864"></a>01864 <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getCompositeMapDistance() { <span class="keywordflow">return</span> mCompositeMapDistance; }
  817. <a name="l01866"></a>01866 <span class="keywordtype">void</span> setCompositeMapDistance(<a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> c) { mCompositeMapDistance = c; }
  818. <a name="l01867"></a>01867
  819. <a name="l01868"></a>01868
  820. <a name="l01872"></a>01872 <span class="keywordtype">bool</span> getCastsDynamicShadows() { <span class="keywordflow">return</span> mCastsShadows; }
  821. <a name="l01873"></a>01873
  822. <a name="l01879"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#aa4fd9f5c7f09577f8c3ba4a37e403327">01879</a> <span class="keywordtype">void</span> setCastsDynamicShadows(<span class="keywordtype">bool</span> s) { mCastsShadows = s; }
  823. <a name="l01880"></a>01880
  824. <a name="l01882"></a>01882 <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getMaxPixelError() { <span class="keywordflow">return</span> mMaxPixelError; }
  825. <a name="l01883"></a>01883
  826. <a name="l01889"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#ad7300d141adf26bfe5d9444b4bacfc1a">01889</a> <span class="keywordtype">void</span> setMaxPixelError(<a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> pixerr) { mMaxPixelError = pixerr; }
  827. <a name="l01890"></a>01890
  828. <a name="l01892"></a>01892 <a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> getRenderQueueGroup(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> mRenderQueueGroup; }
  829. <a name="l01897"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a3338343db08588f71d1661d9578c1959">01897</a> <span class="keywordtype">void</span> setRenderQueueGroup(<a class="code" href="namespaceOgre.html#a119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> grp) { mRenderQueueGroup = grp; }
  830. <a name="l01898"></a>01898
  831. <a name="l01900"></a>01900 <a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> getVisibilityFlags(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> mVisibilityFlags; }
  832. <a name="l01905"></a>01905 <span class="keywordtype">void</span> setVisibilityFlags(<a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> flags) { mVisibilityFlags = flags; }
  833. <a name="l01906"></a>01906
  834. <a name="l01911"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a9c8b745da6fe11ad3ee9dba59ec3a22c">01911</a> <span class="keywordtype">void</span> setQueryFlags(<a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> flags) { mQueryFlags = flags; }
  835. <a name="l01914"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#aaccc644a84e01e88954086048502a7e1">01914</a> <a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> getQueryFlags(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> mQueryFlags; }
  836. <a name="l01915"></a>01915
  837. <a name="l01917"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#ae7612bb654507fd6f0e148adca85aa41">01917</a> <span class="keywordtype">void</span> addQueryFlags(<a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> flags) { mQueryFlags |= flags; }
  838. <a name="l01918"></a>01918
  839. <a name="l01919"></a>01919 <span class="comment">/* As setQueryFlags, except the flags passed as parameters are removed from the existing flags on this object. */</span>
  840. <a name="l01920"></a>01920 <span class="keywordtype">void</span> removeQueryFlags(<a class="code" href="namespaceOgre.html#adf2a0cf2e77143b5ee1d38a75e289545">uint32</a> flags) { mQueryFlags &amp;= ~flags; }
  841. <a name="l01921"></a>01921
  842. <a name="l01926"></a>01926 <span class="keywordtype">bool</span> getUseRayBoxDistanceCalculation() { <span class="keywordflow">return</span> mUseRayBoxDistanceCalculation; }
  843. <a name="l01927"></a>01927
  844. <a name="l01939"></a>01939 <span class="keywordtype">void</span> setUseRayBoxDistanceCalculation(<span class="keywordtype">bool</span> rb) { mUseRayBoxDistanceCalculation = rb; }
  845. <a name="l01940"></a>01940
  846. <a name="l01943"></a>01943 <a class="code" href="group__Terrain.html#ga152d33cadca984511f2c0459562c7b0b">TerrainMaterialGeneratorPtr</a> getDefaultMaterialGenerator();
  847. <a name="l01944"></a>01944
  848. <a name="l01947"></a>01947 <span class="keywordtype">void</span> setDefaultMaterialGenerator(<a class="code" href="group__Terrain.html#ga152d33cadca984511f2c0459562c7b0b">TerrainMaterialGeneratorPtr</a> gen);
  849. <a name="l01948"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#af5ec15d4f51befb9a090a6d324a7c7e4">01948</a>
  850. <a name="l01951"></a>01951 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getLayerBlendMapSize() { <span class="keywordflow">return</span> mLayerBlendMapSize; }
  851. <a name="l01952"></a>01952
  852. <a name="l01957"></a>01957 <span class="keywordtype">void</span> setLayerBlendMapSize(<a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> sz) { mLayerBlendMapSize = sz;}
  853. <a name="l01958"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a1a5ff50b06cecc9f8d2adb12de40c5a9">01958</a>
  854. <a name="l01961"></a>01961 <a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getDefaultLayerTextureWorldSize() { <span class="keywordflow">return</span> mDefaultLayerTextureWorldSize; }
  855. <a name="l01962"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a6ee9f93b4bdb72f8de6562192db22dad">01962</a>
  856. <a name="l01965"></a>01965 <span class="keywordtype">void</span> setDefaultLayerTextureWorldSize(<a class="code" href="namespaceOgre.html#aa3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> sz) { mDefaultLayerTextureWorldSize = sz; }
  857. <a name="l01966"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a34823e51390646c43c5ef6903f487ab8">01966</a>
  858. <a name="l01969"></a>01969 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getDefaultGlobalColourMapSize() { <span class="keywordflow">return</span> mDefaultGlobalColourMapSize; }
  859. <a name="l01970"></a>01970
  860. <a name="l01974"></a>01974 <span class="keywordtype">void</span> setDefaultGlobalColourMapSize(<a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> sz) { mDefaultGlobalColourMapSize = sz;}
  861. <a name="l01975"></a>01975
  862. <a name="l01976"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#ad8f94831d429041e4227ec4bf2944fa8">01976</a>
  863. <a name="l01979"></a>01979 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getLightMapSize() { <span class="keywordflow">return</span> mLightmapSize; }
  864. <a name="l01980"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a62aaf2d6a7c072adadbacc3c517351f9">01980</a>
  865. <a name="l01983"></a>01983 <span class="keywordtype">void</span> setLightMapSize(<a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> sz) { mLightmapSize = sz;}
  866. <a name="l01984"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#ae845633ae80395b2497a67de8189f470">01984</a>
  867. <a name="l01987"></a>01987 <a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getCompositeMapSize() { <span class="keywordflow">return</span> mCompositeMapSize; }
  868. <a name="l01988"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a0d449a2ed56acd7959eb5fc7d894025c">01988</a>
  869. <a name="l01991"></a>01991 <span class="keywordtype">void</span> setCompositeMapSize(<a class="code" href="namespaceOgre.html#aa8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> sz) { mCompositeMapSize = sz;}
  870. <a name="l01992"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a0aeba371e3e83537d3269e0da4a476b9">01992</a>
  871. <a name="l01995"></a>01995 <span class="keywordtype">void</span> setDefaultResourceGroup(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#af73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; grp) { mResourceGroup = grp; }
  872. <a name="l01996"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#ab7560bd7fe9ebb5b9cee22e7a34f4143">01996</a>
  873. <a name="l01999"></a>01999 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#af73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; getDefaultResourceGroup() { <span class="keywordflow">return</span> mResourceGroup; }
  874. <a name="l02000"></a>02000
  875. <a name="l02016"></a>02016 <span class="keyword">static</span> <a class="code" href="classOgre_1_1TerrainGlobalOptions.html" title="Options class which just stores default options for the terrain.">TerrainGlobalOptions</a>&amp; getSingleton(<span class="keywordtype">void</span>);
  876. <a name="l02032"></a>02032 <span class="keyword">static</span> <a class="code" href="classOgre_1_1TerrainGlobalOptions.html" title="Options class which just stores default options for the terrain.">TerrainGlobalOptions</a>* getSingletonPtr(<span class="keywordtype">void</span>);
  877. <a name="l02033"></a>02033
  878. <a name="l02034"></a>02034
  879. <a name="l02035"></a>02035 };
  880. <a name="l02036"></a>02036
  881. <a name="l02037"></a>02037
  882. <a name="l02040"></a>02040 }
  883. <a name="l02041"></a>02041
  884. <a name="l02042"></a>02042
  885. <a name="l02043"></a>02043
  886. <a name="l02044"></a>02044
  887. <a name="l02045"></a>02045 <span class="preprocessor">#endif </span>
  888. </pre></div></div>
  889. <hr>
  890. <p>
  891. Copyright &copy; 2008 Torus Knot Software Ltd<br />
  892. <!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.<br/>
  893. <!--/Creative Commons License--><!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  894. <Work rdf:about="">
  895. <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
  896. <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
  897. </Work>
  898. <License rdf:about="http://creativecommons.org/licenses/by-sa/2.5/"><permits rdf:resource="http://web.resource.org/cc/Reproduction"/><permits rdf:resource="http://web.resource.org/cc/Distribution"/><requires rdf:resource="http://web.resource.org/cc/Notice"/><requires rdf:resource="http://web.resource.org/cc/Attribution"/><permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/><requires rdf:resource="http://web.resource.org/cc/ShareAlike"/></License></rdf:RDF> -->
  899. Last modified Fri Nov 5 18:53:33 2010
  900. </p>
  901. </body>
  902. </html>