PageRenderTime 76ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/Docs/api/html/OgreTerrain_8h-source.html

https://bitbucket.org/bodge/ogre
HTML | 899 lines | 890 code | 2 blank | 7 comment | 0 complexity | 1c4f284ca2460ddb59e2e1cd58f0bfb0 MD5 | raw file
Possible License(s): Apache-2.0, Unlicense, MPL-2.0-no-copyleft-exception, GPL-2.0, BSD-2-Clause, BSD-3-Clause, MIT, LGPL-3.0, LGPL-2.1, ISC
  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.5.5 -->
  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="classes.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="navpath"><a class="el" href="dir_4c07ad65be5afe5cd1867ae7571e7ae2.html">Components</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_62b93da639ce513b3cdb459c14f59886.html">Terrain</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_c1b77b4db57b8763484fd0dc299c9751.html">include</a>
  22. </div>
  23. </div>
  24. </div>
  25. <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>
  26. <a name="l00002"></a>00002 <span class="comment">-----------------------------------------------------------------------------</span>
  27. <a name="l00003"></a>00003 <span class="comment">This source file is part of OGRE</span>
  28. <a name="l00004"></a>00004 <span class="comment">(Object-oriented Graphics Rendering Engine)</span>
  29. <a name="l00005"></a>00005 <span class="comment">For the latest info, see http://www.ogre3d.org/</span>
  30. <a name="l00006"></a>00006 <span class="comment"></span>
  31. <a name="l00007"></a>00007 <span class="comment">Copyright (c) 2000-2009 Torus Knot Software Ltd</span>
  32. <a name="l00008"></a>00008 <span class="comment"></span>
  33. <a name="l00009"></a>00009 <span class="comment">Permission is hereby granted, free of charge, to any person obtaining a copy</span>
  34. <a name="l00010"></a>00010 <span class="comment">of this software and associated documentation files (the "Software"), to deal</span>
  35. <a name="l00011"></a>00011 <span class="comment">in the Software without restriction, including without limitation the rights</span>
  36. <a name="l00012"></a>00012 <span class="comment">to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</span>
  37. <a name="l00013"></a>00013 <span class="comment">copies of the Software, and to permit persons to whom the Software is</span>
  38. <a name="l00014"></a>00014 <span class="comment">furnished to do so, subject to the following conditions:</span>
  39. <a name="l00015"></a>00015 <span class="comment"></span>
  40. <a name="l00016"></a>00016 <span class="comment">The above copyright notice and this permission notice shall be included in</span>
  41. <a name="l00017"></a>00017 <span class="comment">all copies or substantial portions of the Software.</span>
  42. <a name="l00018"></a>00018 <span class="comment"></span>
  43. <a name="l00019"></a>00019 <span class="comment">THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span>
  44. <a name="l00020"></a>00020 <span class="comment">IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span>
  45. <a name="l00021"></a>00021 <span class="comment">FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span>
  46. <a name="l00022"></a>00022 <span class="comment">AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span>
  47. <a name="l00023"></a>00023 <span class="comment">LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span>
  48. <a name="l00024"></a>00024 <span class="comment">OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN</span>
  49. <a name="l00025"></a>00025 <span class="comment">THE SOFTWARE.</span>
  50. <a name="l00026"></a>00026 <span class="comment">-----------------------------------------------------------------------------</span>
  51. <a name="l00027"></a>00027 <span class="comment">*/</span>
  52. <a name="l00028"></a>00028
  53. <a name="l00029"></a>00029 <span class="preprocessor">#ifndef __Ogre_Terrain_H__</span>
  54. <a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define __Ogre_Terrain_H__</span>
  55. <a name="l00031"></a>00031 <span class="preprocessor"></span>
  56. <a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="OgreTerrainPrerequisites_8h.html">OgreTerrainPrerequisites.h</a>"</span>
  57. <a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="OgreCommon_8h.html">OgreCommon.h</a>"</span>
  58. <a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="OgreVector3_8h.html">OgreVector3.h</a>"</span>
  59. <a name="l00035"></a>00035 <span class="preprocessor">#include "<a class="code" href="OgreAxisAlignedBox_8h.html">OgreAxisAlignedBox.h</a>"</span>
  60. <a name="l00036"></a>00036 <span class="preprocessor">#include "<a class="code" href="OgreSceneManager_8h.html">OgreSceneManager.h</a>"</span>
  61. <a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="OgreTerrainMaterialGenerator_8h.html">OgreTerrainMaterialGenerator.h</a>"</span>
  62. <a name="l00038"></a>00038 <span class="preprocessor">#include "<a class="code" href="OgreTerrainLayerBlendMap_8h.html">OgreTerrainLayerBlendMap.h</a>"</span>
  63. <a name="l00039"></a>00039 <span class="preprocessor">#include "<a class="code" href="OgreWorkQueue_8h.html">OgreWorkQueue.h</a>"</span>
  64. <a name="l00040"></a>00040
  65. <a name="l00041"></a>00041 <span class="keyword">namespace </span>Ogre
  66. <a name="l00042"></a>00042 {
  67. <a name="l00261"></a><a class="code" href="classOgre_1_1Terrain.html">00261</a> <span class="keyword">class </span><a class="code" href="OgreTerrainPrerequisites_8h.html#2fbe49b54cb4b3c3e2757cd3ac167068">_OgreTerrainExport</a> <a class="code" href="classOgre_1_1Terrain.html" title="The main containing class for a chunk of terrain.">Terrain</a> : <span class="keyword">public</span> <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>::Listener,
  68. <a name="l00262"></a>00262 <span class="keyword">public</span> <a class="code" href="classOgre_1_1WorkQueue.html" title="Interface to a general purpose request / response style background work queue.">WorkQueue</a>::RequestHandler, <span class="keyword">public</span> <a class="code" href="classOgre_1_1WorkQueue.html" title="Interface to a general purpose request / response style background work queue.">WorkQueue</a>::ResponseHandler, <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>
  69. <a name="l00263"></a>00263 {
  70. <a name="l00264"></a>00264 <span class="keyword">public</span>:
  71. <a name="l00268"></a>00268 <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);
  72. <a name="l00269"></a>00269 <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>();
  73. <a name="l00270"></a>00270
  74. <a name="l00271"></a><a class="code" href="classOgre_1_1Terrain.html#d1b6d65618e1ebc55155214f3b10b337">00271</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> TERRAIN_CHUNK_ID;
  75. <a name="l00272"></a><a class="code" href="classOgre_1_1Terrain.html#fd3641ddf000f3e2ca771408f558131b">00272</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> TERRAIN_CHUNK_VERSION;
  76. <a name="l00273"></a><a class="code" href="classOgre_1_1Terrain.html#5c204799a40adae8b01411ec05dbc841">00273</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> TERRAIN_MAX_BATCH_SIZE;
  77. <a name="l00274"></a>00274
  78. <a name="l00275"></a><a class="code" href="classOgre_1_1Terrain.html#c83d9fa6c4ba65db9c7ad66bbd01b0de">00275</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> TERRAINLAYERDECLARATION_CHUNK_ID;
  79. <a name="l00276"></a><a class="code" href="classOgre_1_1Terrain.html#14ce718231ed706aec11489fc6843d76">00276</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> TERRAINLAYERDECLARATION_CHUNK_VERSION;
  80. <a name="l00277"></a><a class="code" href="classOgre_1_1Terrain.html#53d1561777a42b20c5aa5a42dd96bf9b">00277</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> TERRAINLAYERSAMPLER_CHUNK_ID;
  81. <a name="l00278"></a><a class="code" href="classOgre_1_1Terrain.html#369a6d0c5e30874dd103c7089406be6c">00278</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> TERRAINLAYERSAMPLER_CHUNK_VERSION;
  82. <a name="l00279"></a><a class="code" href="classOgre_1_1Terrain.html#df20ab502696a7e4acf28dec2ebdd0c7">00279</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> TERRAINLAYERSAMPLERELEMENT_CHUNK_ID;
  83. <a name="l00280"></a><a class="code" href="classOgre_1_1Terrain.html#6b4dc148f017fbd6441bc81f79fe743d">00280</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> TERRAINLAYERSAMPLERELEMENT_CHUNK_VERSION;
  84. <a name="l00281"></a><a class="code" href="classOgre_1_1Terrain.html#cb18d059e425a9e6f7677d4dfb2d43ee">00281</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> TERRAINLAYERINSTANCE_CHUNK_ID;
  85. <a name="l00282"></a><a class="code" href="classOgre_1_1Terrain.html#c7837f27d59df9244743172d331e2fb3">00282</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> TERRAINLAYERINSTANCE_CHUNK_VERSION;
  86. <a name="l00283"></a><a class="code" href="classOgre_1_1Terrain.html#50efd0b73343b76d8cfae1366cfd1cd0">00283</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> TERRAINDERIVEDDATA_CHUNK_ID;
  87. <a name="l00284"></a><a class="code" href="classOgre_1_1Terrain.html#935d5fea06bddac979ae56c7fa13d9da">00284</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> TERRAINDERIVEDDATA_CHUNK_VERSION;
  88. <a name="l00285"></a>00285
  89. <a name="l00286"></a><a class="code" href="classOgre_1_1Terrain.html#efb36415178b8e15aac901f87b61d3da">00286</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> LOD_MORPH_CUSTOM_PARAM;
  90. <a name="l00287"></a>00287
  91. <a name="l00288"></a><a class="code" href="classOgre_1_1Terrain.html#a2b09fef0fe773201df2e55cc995d312">00288</a> <span class="keyword">typedef</span> <a class="code" href="structOgre_1_1vector.html">vector&lt;Real&gt;::type</a> RealVector;
  92. <a name="l00289"></a>00289
  93. <a name="l00292"></a><a class="code" href="structOgre_1_1Terrain_1_1LayerInstance.html">00292</a> <span class="keyword">struct </span><a class="code" href="OgreTerrainPrerequisites_8h.html#2fbe49b54cb4b3c3e2757cd3ac167068">_OgreTerrainExport</a> <a class="code" href="structOgre_1_1Terrain_1_1LayerInstance.html" title="An instance of a layer, with specific texture names.">LayerInstance</a>
  94. <a name="l00293"></a>00293 {
  95. <a name="l00295"></a><a class="code" href="structOgre_1_1Terrain_1_1LayerInstance.html#54f726e8a0c17ec1579a16afa1a9398c">00295</a> <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> worldSize;
  96. <a name="l00297"></a><a class="code" href="structOgre_1_1Terrain_1_1LayerInstance.html#14363e8e526e90ea47ea93cac3764fc1">00297</a> <a class="code" href="group__General.html#g0899c03496d3c25c6555889aa76a78db">StringVector</a> textureNames;
  97. <a name="l00298"></a>00298
  98. <a name="l00299"></a><a class="code" href="structOgre_1_1Terrain_1_1LayerInstance.html#a554bc0d00ec43b9fb48cf9a436112c2">00299</a> <a class="code" href="structOgre_1_1Terrain_1_1LayerInstance.html" title="An instance of a layer, with specific texture names.">LayerInstance</a>()
  99. <a name="l00300"></a>00300 : worldSize(100) {}
  100. <a name="l00301"></a>00301 };
  101. <a name="l00302"></a><a class="code" href="classOgre_1_1Terrain.html#7f4f256f962849538b8e46eebd6da94c">00302</a> <span class="keyword">typedef</span> <a class="code" href="structOgre_1_1vector.html">vector&lt;LayerInstance&gt;::type</a> LayerInstanceList;
  102. <a name="l00303"></a>00303
  103. <a name="l00305"></a><a class="code" href="classOgre_1_1Terrain.html#ca4fcebfb7ed4684682347d325477e91">00305</a> <span class="keyword">enum</span> <a class="code" href="classOgre_1_1Terrain.html#ca4fcebfb7ed4684682347d325477e91" title="The alignment of the terrain.">Alignment</a>
  104. <a name="l00306"></a>00306 {
  105. <a name="l00308"></a><a class="code" href="classOgre_1_1Terrain.html#ca4fcebfb7ed4684682347d325477e91c4699c4f99bea344a309d5544b33c140">00308</a> ALIGN_X_Z = 0,
  106. <a name="l00310"></a><a class="code" href="classOgre_1_1Terrain.html#ca4fcebfb7ed4684682347d325477e91dfc96b5a388b3e48709d56b899098508">00310</a> ALIGN_X_Y = 1,
  107. <a name="l00312"></a><a class="code" href="classOgre_1_1Terrain.html#ca4fcebfb7ed4684682347d325477e91dd646ddae48fd0c7cc9c0a74458feb42">00312</a> ALIGN_Y_Z = 2
  108. <a name="l00313"></a>00313 };
  109. <a name="l00314"></a>00314
  110. <a name="l00318"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html">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>
  111. <a name="l00319"></a>00319 {
  112. <a name="l00321"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#9cc48b1e14f6974f46bf9da947f8fc76">00321</a> <a class="code" href="classOgre_1_1Terrain.html#ca4fcebfb7ed4684682347d325477e91" title="The alignment of the terrain.">Alignment</a> terrainAlign;
  113. <a name="l00323"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#0b5bc1f24bcc9003e5ed0ccb850711f8">00323</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> terrainSize;
  114. <a name="l00329"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#cebf6cfa7dcb63b4725ed1dc2e63a9f2">00329</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> maxBatchSize;
  115. <a name="l00340"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#60b1682048188053cc885097eb2383c6">00340</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> minBatchSize;
  116. <a name="l00341"></a>00341
  117. <a name="l00346"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#de0d3e9baacc9408bc08ce2531f177b4">00346</a> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a> pos;
  118. <a name="l00347"></a>00347
  119. <a name="l00349"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#43509d8a986b1b733d010300487425a5">00349</a> <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> worldSize;
  120. <a name="l00350"></a>00350
  121. <a name="l00356"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#61b189d3b9768810d747f35f7d141e79">00356</a> <a class="code" href="classOgre_1_1Image.html" title="Class representing an image file.">Image</a>* inputImage;
  122. <a name="l00357"></a>00357
  123. <a name="l00362"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#aab91a388f7bab0e1d00a858bbeb5902">00362</a> <span class="keywordtype">float</span>* inputFloat;
  124. <a name="l00363"></a>00363
  125. <a name="l00367"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#210633812bf4ae671e19736a934079b3">00367</a> <span class="keywordtype">float</span> constantHeight;
  126. <a name="l00368"></a>00368
  127. <a name="l00376"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#b5bbdf7852ee1d2192c421c17df237e7">00376</a> <span class="keywordtype">bool</span> deleteInputData;
  128. <a name="l00377"></a>00377
  129. <a name="l00379"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#e97c725c89e0c789e5099fd387953020">00379</a> <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> inputScale;
  130. <a name="l00381"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#a92240ffea408a3ff250e8e8233789bb">00381</a> <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> inputBias;
  131. <a name="l00382"></a>00382
  132. <a name="l00387"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#e3203cf7a78bd3ed0cd75ffe3c107a2e">00387</a> <a class="code" href="structOgre_1_1TerrainLayerDeclaration.html" title="The definition of the information each layer will contain in this terrain.">TerrainLayerDeclaration</a> layerDeclaration;
  133. <a name="l00392"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#3d892ce610f8e6aec873528d042fe72b">00392</a> LayerInstanceList layerList;
  134. <a name="l00393"></a>00393
  135. <a name="l00394"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#4051612dde80d254c9761343a66bf47e">00394</a> <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>()
  136. <a name="l00395"></a>00395 : terrainAlign(ALIGN_X_Z)
  137. <a name="l00396"></a>00396 , terrainSize(1025)
  138. <a name="l00397"></a>00397 , maxBatchSize(65)
  139. <a name="l00398"></a>00398 , minBatchSize(17)
  140. <a name="l00399"></a>00399 , pos(<a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>::ZERO)
  141. <a name="l00400"></a>00400 , worldSize(1000)
  142. <a name="l00401"></a>00401 , inputImage(0)
  143. <a name="l00402"></a>00402 , inputFloat(0)
  144. <a name="l00403"></a>00403 , constantHeight(0)
  145. <a name="l00404"></a>00404 , deleteInputData(false)
  146. <a name="l00405"></a>00405 , inputScale(1.0)
  147. <a name="l00406"></a>00406 , inputBias(0.0)
  148. <a name="l00407"></a>00407 {
  149. <a name="l00408"></a>00408
  150. <a name="l00409"></a>00409 }
  151. <a name="l00410"></a>00410
  152. <a name="l00411"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#94c34664786d5059f7a9ef36e061890e">00411</a> <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)
  153. <a name="l00412"></a>00412 : terrainAlign(ALIGN_X_Z)
  154. <a name="l00413"></a>00413 , terrainSize(1025)
  155. <a name="l00414"></a>00414 , maxBatchSize(65)
  156. <a name="l00415"></a>00415 , minBatchSize(17)
  157. <a name="l00416"></a>00416 , pos(<a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>::ZERO)
  158. <a name="l00417"></a>00417 , worldSize(1000)
  159. <a name="l00418"></a>00418 , inputImage(0)
  160. <a name="l00419"></a>00419 , inputFloat(0)
  161. <a name="l00420"></a>00420 , constantHeight(0)
  162. <a name="l00421"></a>00421 , deleteInputData(false)
  163. <a name="l00422"></a>00422 , inputScale(1.0)
  164. <a name="l00423"></a>00423 , inputBias(0.0)
  165. <a name="l00424"></a>00424 {
  166. <a name="l00425"></a>00425 *<span class="keyword">this</span> = rhs;
  167. <a name="l00426"></a>00426 }
  168. <a name="l00427"></a>00427
  169. <a name="l00428"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#abbbf63a35790a9b414acaa1e20baf93">00428</a> <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)
  170. <a name="l00429"></a>00429 {
  171. <a name="l00430"></a>00430 <span class="comment">// basic copy</span>
  172. <a name="l00431"></a>00431 terrainAlign = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#9cc48b1e14f6974f46bf9da947f8fc76" title="The alignment of the terrain.">terrainAlign</a>;
  173. <a name="l00432"></a>00432 terrainSize = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#0b5bc1f24bcc9003e5ed0ccb850711f8" title="Terrain size (along one edge) in vertices; must be 2^n+1.">terrainSize</a>;
  174. <a name="l00433"></a>00433 maxBatchSize = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#cebf6cfa7dcb63b4725ed1dc2e63a9f2" title="Maximum batch size (along one edge) in vertices; must be 2^n+1 and &amp;lt;= 65.">maxBatchSize</a>;
  175. <a name="l00434"></a>00434 minBatchSize = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#60b1682048188053cc885097eb2383c6" title="Minimum batch size (along one edge) in vertices; must be 2^n+1.">minBatchSize</a>;
  176. <a name="l00435"></a>00435 pos = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#de0d3e9baacc9408bc08ce2531f177b4" title="Position of the terrain.">pos</a>;
  177. <a name="l00436"></a>00436 worldSize = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#43509d8a986b1b733d010300487425a5" title="The world size of the terrain.">worldSize</a>;
  178. <a name="l00437"></a>00437 constantHeight = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#210633812bf4ae671e19736a934079b3" title="If neither inputImage or inputFloat are supplied, the constant height at which the...">constantHeight</a>;
  179. <a name="l00438"></a>00438 deleteInputData = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#b5bbdf7852ee1d2192c421c17df237e7" title="Whether this structure should &amp;#39;own&amp;#39; the input data (inputImage and inputFloat)...">deleteInputData</a>;
  180. <a name="l00439"></a>00439 inputScale = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#e97c725c89e0c789e5099fd387953020" title="How to scale the input values provided (if any).">inputScale</a>;
  181. <a name="l00440"></a>00440 inputBias = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#a92240ffea408a3ff250e8e8233789bb" title="How to bias the input values provided (if any).">inputBias</a>;
  182. <a name="l00441"></a>00441 layerDeclaration = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#e3203cf7a78bd3ed0cd75ffe3c107a2e" title="Definition of the contents of each layer (required).">layerDeclaration</a>;
  183. <a name="l00442"></a>00442 layerList = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#3d892ce610f8e6aec873528d042fe72b" title="List of layer structures, one for each layer required.">layerList</a>;
  184. <a name="l00443"></a>00443
  185. <a name="l00444"></a>00444 <span class="comment">// By-value copies in ownership cases</span>
  186. <a name="l00445"></a>00445 <span class="keywordflow">if</span> (rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#b5bbdf7852ee1d2192c421c17df237e7" title="Whether this structure should &amp;#39;own&amp;#39; the input data (inputImage and inputFloat)...">deleteInputData</a>)
  187. <a name="l00446"></a>00446 {
  188. <a name="l00447"></a>00447 <span class="keywordflow">if</span> (rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#61b189d3b9768810d747f35f7d141e79" title="Optional heightmap providing the initial heights for the terrain.">inputImage</a>)
  189. <a name="l00448"></a>00448 inputImage = <a class="code" href="group__Memory.html#gb5fc1358fd5a889de0a06d07e45df1ff">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#61b189d3b9768810d747f35f7d141e79" title="Optional heightmap providing the initial heights for the terrain.">inputImage</a>);
  190. <a name="l00449"></a>00449 <span class="keywordflow">else</span>
  191. <a name="l00450"></a>00450 inputImage = 0;
  192. <a name="l00451"></a>00451
  193. <a name="l00452"></a>00452 <span class="keywordflow">if</span> (rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#aab91a388f7bab0e1d00a858bbeb5902" title="Optional list of terrainSize * terrainSize floats defining the terrain.">inputFloat</a>)
  194. <a name="l00453"></a>00453 {
  195. <a name="l00454"></a>00454 inputFloat = <a class="code" href="group__Memory.html#g3211e4a6a806aa789b38dce2432ef472" 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#gg830fab51be174d6f2849857cb1abb36af9e04ff475de4493bc942a9c73da4c2e" title="Geometry held in main memory.">MEMCATEGORY_GEOMETRY</a>);
  196. <a name="l00455"></a>00455 memcpy(inputFloat, rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#aab91a388f7bab0e1d00a858bbeb5902" title="Optional list of terrainSize * terrainSize floats defining the terrain.">inputFloat</a>, <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>) * terrainSize*terrainSize);
  197. <a name="l00456"></a>00456 }
  198. <a name="l00457"></a>00457 <span class="keywordflow">else</span>
  199. <a name="l00458"></a>00458 inputFloat = 0;
  200. <a name="l00459"></a>00459 }
  201. <a name="l00460"></a>00460 <span class="keywordflow">else</span>
  202. <a name="l00461"></a>00461 {
  203. <a name="l00462"></a>00462 <span class="comment">// re-use pointers</span>
  204. <a name="l00463"></a>00463 inputImage = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#61b189d3b9768810d747f35f7d141e79" title="Optional heightmap providing the initial heights for the terrain.">inputImage</a>;
  205. <a name="l00464"></a>00464 inputFloat = rhs.<a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#aab91a388f7bab0e1d00a858bbeb5902" title="Optional list of terrainSize * terrainSize floats defining the terrain.">inputFloat</a>;
  206. <a name="l00465"></a>00465 }
  207. <a name="l00466"></a>00466 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
  208. <a name="l00467"></a>00467 }
  209. <a name="l00468"></a>00468
  210. <a name="l00470"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#7a5f66953eabbc5221f36ee476f98d47">00470</a> <span class="keywordtype">void</span> destroy()
  211. <a name="l00471"></a>00471 {
  212. <a name="l00472"></a>00472 <span class="keywordflow">if</span> (deleteInputData)
  213. <a name="l00473"></a>00473 {
  214. <a name="l00474"></a>00474 <a class="code" href="group__Memory.html#gd18eff671a00617b21c8e35a7f545690">OGRE_DELETE</a> inputImage;
  215. <a name="l00475"></a>00475 <a class="code" href="group__Memory.html#gcfd8dc937cf390c7bff05495f0dc10cf" 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#gg830fab51be174d6f2849857cb1abb36af9e04ff475de4493bc942a9c73da4c2e" title="Geometry held in main memory.">MEMCATEGORY_GEOMETRY</a>);
  216. <a name="l00476"></a>00476 inputImage = 0;
  217. <a name="l00477"></a>00477 inputFloat = 0;
  218. <a name="l00478"></a>00478 }
  219. <a name="l00479"></a>00479
  220. <a name="l00480"></a>00480 }
  221. <a name="l00481"></a>00481
  222. <a name="l00482"></a><a class="code" href="structOgre_1_1Terrain_1_1ImportData.html#b44221d85f1c10b8c2be75b476d89440">00482</a> ~<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>()
  223. <a name="l00483"></a>00483 {
  224. <a name="l00484"></a>00484 destroy();
  225. <a name="l00485"></a>00485 }
  226. <a name="l00486"></a>00486
  227. <a name="l00487"></a>00487 };
  228. <a name="l00488"></a>00488
  229. <a name="l00490"></a><a class="code" href="classOgre_1_1Terrain.html#2d0c6e14298e6a196148388ca2ffa9e2">00490</a> <span class="keyword">enum</span> <a class="code" href="classOgre_1_1Terrain.html#2d0c6e14298e6a196148388ca2ffa9e2" title="Neighbour index enumeration - indexed anticlockwise from East like angles.">NeighbourIndex</a>
  230. <a name="l00491"></a>00491 {
  231. <a name="l00492"></a><a class="code" href="classOgre_1_1Terrain.html#2d0c6e14298e6a196148388ca2ffa9e288c6e2c93031bba254272861a1664cc3">00492</a> NEIGHBOUR_EAST = 0,
  232. <a name="l00493"></a><a class="code" href="classOgre_1_1Terrain.html#2d0c6e14298e6a196148388ca2ffa9e2ed82e8f7f45fcb5faeef6158c9d1ff3a">00493</a> NEIGHBOUR_NORTHEAST = 1,
  233. <a name="l00494"></a><a class="code" href="classOgre_1_1Terrain.html#2d0c6e14298e6a196148388ca2ffa9e207b3c537d34f5c7e1e3e79634dfcac1d">00494</a> NEIGHBOUR_NORTH = 2,
  234. <a name="l00495"></a><a class="code" href="classOgre_1_1Terrain.html#2d0c6e14298e6a196148388ca2ffa9e28795dff5bfc2240747ee0a843a900c71">00495</a> NEIGHBOUR_NORTHWEST = 3,
  235. <a name="l00496"></a><a class="code" href="classOgre_1_1Terrain.html#2d0c6e14298e6a196148388ca2ffa9e23a45b8d00d2ba435e61cdc99c94b0a91">00496</a> NEIGHBOUR_WEST = 4,
  236. <a name="l00497"></a><a class="code" href="classOgre_1_1Terrain.html#2d0c6e14298e6a196148388ca2ffa9e2ec43a04404ef9873e7d43c094e097e40">00497</a> NEIGHBOUR_SOUTHWEST = 5,
  237. <a name="l00498"></a><a class="code" href="classOgre_1_1Terrain.html#2d0c6e14298e6a196148388ca2ffa9e28c91ce1d5f82d7525102bc91fde0df2d">00498</a> NEIGHBOUR_SOUTH = 6,
  238. <a name="l00499"></a><a class="code" href="classOgre_1_1Terrain.html#2d0c6e14298e6a196148388ca2ffa9e24183a4a8b0f78832395fa0aa981f07bf">00499</a> NEIGHBOUR_SOUTHEAST = 7,
  239. <a name="l00500"></a>00500
  240. <a name="l00501"></a><a class="code" href="classOgre_1_1Terrain.html#2d0c6e14298e6a196148388ca2ffa9e25ba448a51833e6c8eea28884a706834c">00501</a> NEIGHBOUR_COUNT = 8
  241. <a name="l00502"></a>00502 };
  242. <a name="l00503"></a>00503
  243. <a name="l00504"></a><a class="code" href="classOgre_1_1Terrain.html#7c381de393a45f50b946a0deb82d3e94">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; }
  244. <a name="l00505"></a>00505
  245. <a name="l00507"></a><a class="code" href="classOgre_1_1Terrain.html#ebf8a7aadb5de3a0669d41acfd58d781">00507</a> <span class="keyword">enum</span> <a class="code" href="classOgre_1_1Terrain.html#ebf8a7aadb5de3a0669d41acfd58d781" title="Enumeration of relative spaces that you might want to use to address the terrain...">Space</a>
  246. <a name="l00508"></a>00508 {
  247. <a name="l00510"></a><a class="code" href="classOgre_1_1Terrain.html#ebf8a7aadb5de3a0669d41acfd58d7810a7049246e4a77e37dcea36fd35c4daf">00510</a> WORLD_SPACE = 0,
  248. <a name="l00512"></a><a class="code" href="classOgre_1_1Terrain.html#ebf8a7aadb5de3a0669d41acfd58d781e3eabb53019f0d4ecfbff1d9a417d907">00512</a> LOCAL_SPACE = 1,
  249. <a name="l00516"></a><a class="code" href="classOgre_1_1Terrain.html#ebf8a7aadb5de3a0669d41acfd58d7810ad91edc61b2fb7ebe1966fc167ffe6d">00516</a> TERRAIN_SPACE = 2,
  250. <a name="l00520"></a><a class="code" href="classOgre_1_1Terrain.html#ebf8a7aadb5de3a0669d41acfd58d781748f0b5f2b54c63be96965de53931de6">00520</a> POINT_SPACE = 3
  251. <a name="l00521"></a>00521 };
  252. <a name="l00522"></a>00522
  253. <a name="l00527"></a><a class="code" href="classOgre_1_1Terrain_1_1GpuBufferAllocator.html">00527</a> <span class="keyword">class </span><a class="code" href="OgreTerrainPrerequisites_8h.html#2fbe49b54cb4b3c3e2757cd3ac167068">_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>
  254. <a name="l00528"></a>00528 {
  255. <a name="l00529"></a>00529 <span class="keyword">public</span>:
  256. <a name="l00530"></a><a class="code" href="classOgre_1_1Terrain_1_1GpuBufferAllocator.html#dafa196fd89b566090806bde188bbf33">00530</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>() {}
  257. <a name="l00531"></a><a class="code" href="classOgre_1_1Terrain_1_1GpuBufferAllocator.html#b50e9928256ddbd09462938a7e13e3c8">00531</a> <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>() {}
  258. <a name="l00532"></a>00532
  259. <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;
  260. <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;
  261. <a name="l00542"></a>00542
  262. <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#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> batchSize,
  263. <a name="l00558"></a>00558 <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> vdatasize, <span class="keywordtype">size_t</span> vertexIncrement, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> xoffset, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> yoffset, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> numSkirtRowsCols,
  264. <a name="l00559"></a>00559 <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> skirtRowColSkip) = 0;
  265. <a name="l00560"></a>00560
  266. <a name="l00562"></a>00562 <span class="keyword">virtual</span> <span class="keywordtype">void</span> freeAllBuffers() = 0;
  267. <a name="l00563"></a>00563
  268. <a name="l00564"></a>00564 };
  269. <a name="l00566"></a><a class="code" href="classOgre_1_1Terrain_1_1DefaultGpuBufferAllocator.html">00566</a> <span class="keyword">class </span><a class="code" href="OgreTerrainPrerequisites_8h.html#2fbe49b54cb4b3c3e2757cd3ac167068">_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>
  270. <a name="l00567"></a>00567 {
  271. <a name="l00568"></a>00568 <span class="keyword">public</span>:
  272. <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>();
  273. <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>();
  274. <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);
  275. <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);
  276. <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#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> batchSize,
  277. <a name="l00574"></a>00574 <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> vdatasize, <span class="keywordtype">size_t</span> vertexIncrement, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> xoffset, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> yoffset, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> numSkirtRowsCols,
  278. <a name="l00575"></a>00575 <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> skirtRowColSkip);
  279. <a name="l00576"></a>00576 <span class="keywordtype">void</span> freeAllBuffers();
  280. <a name="l00577"></a>00577
  281. <a name="l00581"></a>00581 <span class="keywordtype">void</span> warmStart(<span class="keywordtype">size_t</span> numInstances, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> terrainSize, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> maxBatchSize,
  282. <a name="l00582"></a>00582 <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> minBatchSize);
  283. <a name="l00583"></a>00583
  284. <a name="l00584"></a>00584 <span class="keyword">protected</span>:
  285. <a name="l00585"></a><a class="code" href="classOgre_1_1Terrain_1_1DefaultGpuBufferAllocator.html#55379cc5331736568c8a73ad2cc5c5ed">00585</a> <span class="keyword">typedef</span> <a class="code" href="structOgre_1_1list.html">list&lt;HardwareVertexBufferSharedPtr&gt;::type</a> VBufList;
  286. <a name="l00586"></a><a class="code" href="classOgre_1_1Terrain_1_1DefaultGpuBufferAllocator.html#8820ed742f93ba0b13da637d71b934a9">00586</a> VBufList mFreePosBufList;
  287. <a name="l00587"></a><a class="code" href="classOgre_1_1Terrain_1_1DefaultGpuBufferAllocator.html#1f0cda9f231eb97e7fd0367ddc8055c9">00587</a> VBufList mFreeDeltaBufList;
  288. <a name="l00588"></a><a class="code" href="classOgre_1_1Terrain_1_1DefaultGpuBufferAllocator.html#aa440fddd2249c96890533c6d20e21a6">00588</a> <span class="keyword">typedef</span> <a class="code" href="structOgre_1_1map.html">map&lt;uint32, HardwareIndexBufferSharedPtr&gt;::type</a> IBufMap;
  289. <a name="l00589"></a><a class="code" href="classOgre_1_1Terrain_1_1DefaultGpuBufferAllocator.html#80d57bd40f5fa54dc002dc208fc096bb">00589</a> IBufMap mSharedIBufMap;
  290. <a name="l00590"></a>00590
  291. <a name="l00591"></a>00591 <a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> hashIndexBuffer(<a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> batchSize,
  292. <a name="l00592"></a>00592 <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> vdatasize, <span class="keywordtype">size_t</span> vertexIncrement, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> xoffset, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> yoffset, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> numSkirtRowsCols,
  293. <a name="l00593"></a>00593 <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> skirtRowColSkip);
  294. <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);
  295. <a name="l00595"></a>00595
  296. <a name="l00596"></a>00596 };
  297. <a name="l00597"></a>00597
  298. <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);
  299. <a name="l00603"></a>00603
  300. <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();
  301. <a name="l00606"></a>00606
  302. <a name="l00608"></a>00608 <span class="keyword">static</span> <span class="keywordtype">size_t</span> _getNumIndexesForBatchSize(<a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> batchSize);
  303. <a name="l00620"></a>00620 <span class="keyword">static</span> <span class="keywordtype">void</span> _populateIndexBuffer(<a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a>* pIndexes, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> batchSize,
  304. <a name="l00621"></a>00621 <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> vdatasize, <span class="keywordtype">size_t</span> vertexIncrement, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> xoffset, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> yoffset, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> numSkirtRowsCols,
  305. <a name="l00622"></a>00622 <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> skirtRowColSkip);
  306. <a name="l00623"></a>00623
  307. <a name="l00625"></a>00625 <span class="keyword">static</span> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> _calcSkirtVertexIndex(<a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mainIndex, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> vdatasize, <span class="keywordtype">bool</span> isCol,
  308. <a name="l00626"></a>00626 <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> numSkirtRowsCols, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> skirtRowColSkip);
  309. <a name="l00627"></a>00627
  310. <a name="l00634"></a>00634 <span class="keywordtype">void</span> convertPosition(<a class="code" href="classOgre_1_1Terrain.html#ebf8a7aadb5de3a0669d41acfd58d781" 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#ebf8a7aadb5de3a0669d41acfd58d781" 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>;
  311. <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#ebf8a7aadb5de3a0669d41acfd58d781" 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#ebf8a7aadb5de3a0669d41acfd58d781" title="Enumeration of relative spaces that you might want to use to address the terrain...">Space</a> outSpace) <span class="keyword">const</span>;
  312. <a name="l00648"></a>00648 <span class="keywordtype">void</span> convertDirection(<a class="code" href="classOgre_1_1Terrain.html#ebf8a7aadb5de3a0669d41acfd58d781" 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#ebf8a7aadb5de3a0669d41acfd58d781" 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>;
  313. <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#ebf8a7aadb5de3a0669d41acfd58d781" 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#ebf8a7aadb5de3a0669d41acfd58d781" title="Enumeration of relative spaces that you might want to use to address the terrain...">Space</a> outSpace) <span class="keyword">const</span>;
  314. <a name="l00656"></a>00656
  315. <a name="l00661"></a><a class="code" href="classOgre_1_1Terrain.html#acd2dcc94afbc3e8fbca6d6de1baedab">00661</a> <span class="keywordtype">void</span> setResourceGroup(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#f73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; resGroup) { mResourceGroup = resGroup; }
  316. <a name="l00662"></a>00662
  317. <a name="l00666"></a><a class="code" href="classOgre_1_1Terrain.html#b737d9aa90458fef3e19d3e1131c960e">00666</a> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#f73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; getResourceGroup()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mResourceGroup; }
  318. <a name="l00667"></a>00667
  319. <a name="l00670"></a>00670 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#f73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; _getDerivedResourceGroup() <span class="keyword">const</span>;
  320. <a name="l00671"></a>00671
  321. <a name="l00680"></a>00680 <span class="keywordtype">void</span> save(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#f73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; filename);
  322. <a name="l00686"></a>00686 <span class="keywordtype">void</span> save(<a class="code" href="classOgre_1_1StreamSerialiser.html" title="Utility class providing helper methods for reading / writing structured data held...">StreamSerialiser</a>&amp; stream);
  323. <a name="l00687"></a>00687
  324. <a name="l00694"></a>00694 <span class="keywordtype">bool</span> prepare(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#f73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; filename);
  325. <a name="l00701"></a>00701 <span class="keywordtype">bool</span> prepare(<a class="code" href="classOgre_1_1StreamSerialiser.html" title="Utility class providing helper methods for reading / writing structured data held...">StreamSerialiser</a>&amp; stream);
  326. <a name="l00702"></a>00702
  327. <a name="l00708"></a>00708 <span class="keywordtype">bool</span> prepare(<span class="keyword">const</span> ImportData&amp; importData);
  328. <a name="l00709"></a>00709
  329. <a name="l00715"></a>00715 <span class="keywordtype">void</span> load(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#f73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; filename);
  330. <a name="l00716"></a>00716
  331. <a name="l00722"></a>00722 <span class="keywordtype">void</span> load(<a class="code" href="classOgre_1_1StreamSerialiser.html" title="Utility class providing helper methods for reading / writing structured data held...">StreamSerialiser</a>&amp; stream);
  332. <a name="l00723"></a>00723
  333. <a name="l00728"></a>00728 <span class="keywordtype">void</span> load();
  334. <a name="l00729"></a>00729
  335. <a name="l00735"></a><a class="code" href="classOgre_1_1Terrain.html#39961727e82c23d6ac940b426ff4b0b7">00735</a> <span class="keywordtype">bool</span> isLoaded()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mIsLoaded; }
  336. <a name="l00736"></a>00736
  337. <a name="l00741"></a><a class="code" href="classOgre_1_1Terrain.html#0388783d87e3ac97b4a43efb57937c8f">00741</a> <span class="keywordtype">bool</span> isModified()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mModified; }
  338. <a name="l00742"></a>00742
  339. <a name="l00743"></a>00743
  340. <a name="l00748"></a><a class="code" href="classOgre_1_1Terrain.html#b466ef2e08c9c7db3587c8d20899c63d">00748</a> <span class="keywordtype">bool</span> isHeightDataModified()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mHeightDataModified; }
  341. <a name="l00749"></a>00749
  342. <a name="l00750"></a>00750
  343. <a name="l00755"></a>00755 <span class="keywordtype">void</span> unload();
  344. <a name="l00756"></a>00756
  345. <a name="l00761"></a>00761 <span class="keywordtype">void</span> unprepare();
  346. <a name="l00762"></a>00762
  347. <a name="l00763"></a>00763
  348. <a name="l00773"></a>00773 <span class="keywordtype">float</span>* getHeightData() <span class="keyword">const</span>;
  349. <a name="l00774"></a>00774
  350. <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>;
  351. <a name="l00778"></a>00778
  352. <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>;
  353. <a name="l00784"></a>00784
  354. <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);
  355. <a name="l00792"></a>00792
  356. <a name="l00796"></a>00796 <span class="keywordtype">float</span> getHeightAtTerrainPosition(<a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y);
  357. <a name="l00797"></a>00797
  358. <a name="l00803"></a>00803 <span class="keywordtype">float</span> getHeightAtWorldPosition(<a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z);
  359. <a name="l00804"></a>00804
  360. <a name="l00810"></a>00810 <span class="keywordtype">float</span> getHeightAtWorldPosition(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; pos);
  361. <a name="l00811"></a>00811
  362. <a name="l00818"></a>00818 <span class="keyword">const</span> <span class="keywordtype">float</span>* getDeltaData();
  363. <a name="l00819"></a>00819
  364. <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);
  365. <a name="l00823"></a>00823
  366. <a name="l00828"></a>00828 <span class="keywordtype">void</span> getPoint(<span class="keywordtype">long</span> x, <span class="keywordtype">long</span> y, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outpos);
  367. <a name="l00829"></a>00829
  368. <a name="l00835"></a>00835 <span class="keywordtype">void</span> getPointFromSelfOrNeighbour(<span class="keywordtype">long</span> x, <span class="keywordtype">long</span> y, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outpos);
  369. <a name="l00836"></a>00836
  370. <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, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outpos);
  371. <a name="l00846"></a>00846 <span class="keywordtype">void</span> getTerrainVector(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; inVec, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outVec);
  372. <a name="l00851"></a>00851 <span class="keywordtype">void</span> getTerrainVectorAlign(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; inVec, Alignment align, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outVec);
  373. <a name="l00852"></a>00852
  374. <a name="l00857"></a>00857 <span class="keywordtype">void</span> getTerrainVector(<a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outVec);
  375. <a name="l00862"></a>00862 <span class="keywordtype">void</span> getTerrainVectorAlign(<a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z, Alignment align, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outVec);
  376. <a name="l00863"></a>00863
  377. <a name="l00868"></a>00868 <span class="keywordtype">void</span> getVector(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; inVec, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outVec);
  378. <a name="l00873"></a>00873 <span class="keywordtype">void</span> getVectorAlign(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; inVec, Alignment align, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outVec);
  379. <a name="l00874"></a>00874
  380. <a name="l00879"></a>00879 <span class="keywordtype">void</span> getVector(<a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outVec);
  381. <a name="l00884"></a>00884 <span class="keywordtype">void</span> getVectorAlign(<a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z, Alignment align, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outVec);
  382. <a name="l00885"></a>00885
  383. <a name="l00886"></a>00886
  384. <a name="l00894"></a>00894 <span class="keywordtype">void</span> getPosition(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; TSpos, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outWSpos);
  385. <a name="l00902"></a>00902 <span class="keywordtype">void</span> getPosition(<a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outWSpos);
  386. <a name="l00903"></a>00903
  387. <a name="l00910"></a>00910 <span class="keywordtype">void</span> getTerrainPosition(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; WSpos, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outTSpos);
  388. <a name="l00917"></a>00917 <span class="keywordtype">void</span> getTerrainPosition(<a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outTSpos);
  389. <a name="l00924"></a>00924 <span class="keywordtype">void</span> getPositionAlign(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; TSpos, Alignment align, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outWSpos);
  390. <a name="l00931"></a>00931 <span class="keywordtype">void</span> getPositionAlign(<a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z, Alignment align, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outWSpos);
  391. <a name="l00932"></a>00932
  392. <a name="l00939"></a>00939 <span class="keywordtype">void</span> getTerrainPositionAlign(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; WSpos, Alignment align, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outTSpos);
  393. <a name="l00946"></a>00946 <span class="keywordtype">void</span> getTerrainPositionAlign(<a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> x, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> y, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> z, Alignment align, <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>* outTSpos);
  394. <a name="l00947"></a>00947
  395. <a name="l00948"></a>00948
  396. <a name="l00950"></a>00950 Alignment getAlignment() <span class="keyword">const</span>;
  397. <a name="l00952"></a>00952 <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getSize() <span class="keyword">const</span>;
  398. <a name="l00954"></a>00954 <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getMaxBatchSize() <span class="keyword">const</span>;
  399. <a name="l00956"></a>00956 <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getMinBatchSize() <span class="keyword">const</span>;
  400. <a name="l00958"></a>00958 <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getWorldSize() <span class="keyword">const</span>;
  401. <a name="l00959"></a>00959
  402. <a name="l00961"></a><a class="code" href="classOgre_1_1Terrain.html#5f509f011aa69122ce34816f8da4c318">00961</a> <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">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#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a><span class="keyword">&gt;</span>(mLayers.size()); }
  403. <a name="l00962"></a>00962
  404. <a name="l00964"></a><a class="code" href="classOgre_1_1Terrain.html#d4f87c4046c4b1c816797bdbdde3738c">00964</a> <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; }
  405. <a name="l00965"></a>00965
  406. <a name="l00972"></a>00972 <span class="keywordtype">void</span> addLayer(<a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> worldSize = 0, <span class="keyword">const</span> <a class="code" href="group__General.html#g0899c03496d3c25c6555889aa76a78db">StringVector</a>* textureNames = 0);
  407. <a name="l00973"></a>00973
  408. <a name="l00981"></a>00981 <span class="keywordtype">void</span> addLayer(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> worldSize = 0, <span class="keyword">const</span> <a class="code" href="group__General.html#g0899c03496d3c25c6555889aa76a78db">StringVector</a>* textureNames = 0);
  409. <a name="l00982"></a>00982
  410. <a name="l00985"></a>00985 <span class="keywordtype">void</span> removeLayer(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index);
  411. <a name="l00986"></a>00986
  412. <a name="l00996"></a>00996 <span class="keywordtype">void</span> replaceLayer(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index, <span class="keywordtype">bool</span> keepBlends, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> worldSize = 0, <span class="keyword">const</span> <a class="code" href="group__General.html#g0899c03496d3c25c6555889aa76a78db">StringVector</a>* textureNames = 0);
  413. <a name="l00997"></a>00997
  414. <a name="l01001"></a>01001 <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> getMaxLayers() <span class="keyword">const</span>;
  415. <a name="l01002"></a>01002
  416. <a name="l01007"></a>01007 <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getLayerWorldSize(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index) <span class="keyword">const</span>;
  417. <a name="l01013"></a>01013 <span class="keywordtype">void</span> setLayerWorldSize(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> size);
  418. <a name="l01014"></a>01014
  419. <a name="l01023"></a>01023 <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getLayerUVMultiplier(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index) <span class="keyword">const</span>;
  420. <a name="l01024"></a>01024
  421. <a name="l01030"></a>01030 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#f73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; getLayerTextureName(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> layerIndex, <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> samplerIndex) <span class="keyword">const</span>;
  422. <a name="l01037"></a>01037 <span class="keywordtype">void</span> setLayerTextureName(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> layerIndex, <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> samplerIndex, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#f73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; textureName);
  423. <a name="l01038"></a>01038
  424. <a name="l01045"></a><a class="code" href="classOgre_1_1Terrain.html#df689a83410a0714ad42a4d5c8d163fc">01045</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getLayerBlendMapSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mLayerBlendMapSize; }
  425. <a name="l01046"></a>01046
  426. <a name="l01052"></a><a class="code" href="classOgre_1_1Terrain.html#221f18c8b2cb5a57f1892d28e14df850">01052</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getLightmapSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mLightmapSize; }
  427. <a name="l01053"></a>01053
  428. <a name="l01055"></a><a class="code" href="classOgre_1_1Terrain.html#ac3e1e21b32fac53f1ed9df15ddaf89c">01055</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; getLightmap()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mLightmap; }
  429. <a name="l01056"></a>01056
  430. <a name="l01062"></a><a class="code" href="classOgre_1_1Terrain.html#ca0739082e26a3f9d68a316f76392a65">01062</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getCompositeMapSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mCompositeMapSize; }
  431. <a name="l01063"></a>01063
  432. <a name="l01065"></a><a class="code" href="classOgre_1_1Terrain.html#4a009b1a2de93007edd0696d7b9c440b">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; }
  433. <a name="l01066"></a>01066
  434. <a name="l01068"></a><a class="code" href="classOgre_1_1Terrain.html#38bb1cda48e1fb6afeb9f6624e934cbf">01068</a> <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; }
  435. <a name="l01070"></a>01070 <span class="keywordtype">void</span> setPosition(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; pos);
  436. <a name="l01072"></a>01072 <a class="code" href="classOgre_1_1SceneNode.html" title="Class representing a node in the scene graph.">SceneNode</a>* _getRootSceneNode() <span class="keyword">const</span>;
  437. <a name="l01079"></a>01079 <span class="keywordtype">void</span> dirty();
  438. <a name="l01080"></a>01080
  439. <a name="l01089"></a>01089 <span class="keywordtype">void</span> dirtyRect(<span class="keyword">const</span> <a class="code" href="structOgre_1_1TRect.html">Rect</a>&amp; rect);
  440. <a name="l01090"></a>01090
  441. <a name="l01096"></a>01096 <span class="keywordtype">void</span> _dirtyCompositeMapRect(<span class="keyword">const</span> <a class="code" href="structOgre_1_1TRect.html">Rect</a>&amp; rect);
  442. <a name="l01097"></a>01097
  443. <a name="l01108"></a>01108 <span class="keywordtype">void</span> dirtyLightmapRect(<span class="keyword">const</span> <a class="code" href="structOgre_1_1TRect.html">Rect</a>&amp; rect);
  444. <a name="l01109"></a>01109
  445. <a name="l01120"></a>01120 <span class="keywordtype">void</span> dirtyLightmap();
  446. <a name="l01121"></a>01121
  447. <a name="l01144"></a>01144 <span class="keywordtype">void</span> update(<span class="keywordtype">bool</span> synchronous = <span class="keyword">false</span>);
  448. <a name="l01145"></a>01145
  449. <a name="l01150"></a>01150 <span class="keywordtype">void</span> updateGeometry();
  450. <a name="l01151"></a>01151
  451. <a name="l01152"></a>01152 <span class="comment">// Used as a type mask for updateDerivedData</span>
  452. <a name="l01153"></a><a class="code" href="classOgre_1_1Terrain.html#dc4deb8ce09c46f3d6215ea1ff390959">01153</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> DERIVED_DATA_DELTAS;
  453. <a name="l01154"></a><a class="code" href="classOgre_1_1Terrain.html#633492f40707af756814bca31f0f35ba">01154</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> DERIVED_DATA_NORMALS;
  454. <a name="l01155"></a><a class="code" href="classOgre_1_1Terrain.html#1ebde7f1f98abe26938397f7110c88f3">01155</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> DERIVED_DATA_LIGHTMAP;
  455. <a name="l01156"></a><a class="code" href="classOgre_1_1Terrain.html#aef9ac3a5d1ceed0260a17f93b88d848">01156</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> DERIVED_DATA_ALL;
  456. <a name="l01157"></a>01157
  457. <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#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> typeMask = 0xFF);
  458. <a name="l01170"></a>01170
  459. <a name="l01179"></a>01179 <span class="keywordtype">void</span> updateCompositeMap();
  460. <a name="l01180"></a>01180
  461. <a name="l01194"></a>01194 <span class="keywordtype">void</span> updateCompositeMapWithDelay(<a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> delay = 2);
  462. <a name="l01195"></a>01195
  463. <a name="l01196"></a>01196
  464. <a name="l01200"></a><a class="code" href="classOgre_1_1Terrain.html#405294244727e67a5601e0bbb32cfb0d">01200</a> <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getSkirtSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mSkirtSize; }
  465. <a name="l01201"></a>01201
  466. <a name="l01203"></a><a class="code" href="classOgre_1_1Terrain.html#6e6152a17cc7c588fbed610793f7d057">01203</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getNumLodLevels()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mNumLodLevels; }
  467. <a name="l01204"></a>01204
  468. <a name="l01206"></a><a class="code" href="classOgre_1_1Terrain.html#324db087af9b6044a6dff949595d27aa">01206</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getNumLodLevelsPerLeaf()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mNumLodLevelsPerLeafNode; }
  469. <a name="l01207"></a>01207
  470. <a name="l01215"></a>01215 <a class="code" href="structOgre_1_1TRect.html">Rect</a> calculateHeightDeltas(<span class="keyword">const</span> <a class="code" href="structOgre_1_1TRect.html">Rect</a>&amp; rect);
  471. <a name="l01216"></a>01216
  472. <a name="l01224"></a>01224 <span class="keywordtype">void</span> finaliseHeightDeltas(<span class="keyword">const</span> <a class="code" href="structOgre_1_1TRect.html">Rect</a>&amp; rect, <span class="keywordtype">bool</span> cpuData);
  473. <a name="l01225"></a>01225
  474. <a name="l01231"></a>01231 <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>* calculateNormals(<span class="keyword">const</span> <a class="code" href="structOgre_1_1TRect.html">Rect</a>&amp; rect, <a class="code" href="structOgre_1_1TRect.html">Rect</a>&amp; outFinalRect);
  475. <a name="l01232"></a>01232
  476. <a name="l01240"></a>01240 <span class="keywordtype">void</span> finaliseNormals(<span class="keyword">const</span> <a class="code" href="structOgre_1_1TRect.html">Rect</a>&amp; rect, <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>* normalsBox);
  477. <a name="l01241"></a>01241
  478. <a name="l01249"></a>01249 <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>* calculateLightmap(<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; extraTargetRect, <a class="code" href="structOgre_1_1TRect.html">Rect</a>&amp; outFinalRect);
  479. <a name="l01250"></a>01250
  480. <a name="l01258"></a>01258 <span class="keywordtype">void</span> finaliseLightmap(<span class="keyword">const</span> <a class="code" href="structOgre_1_1TRect.html">Rect</a>&amp; rect, <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);
  481. <a name="l01259"></a>01259
  482. <a name="l01263"></a>01263 <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getResolutionAtLod(<a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> lodLevel);
  483. <a name="l01264"></a>01264
  484. <a name="l01276"></a>01276 std::pair&lt;bool, Vector3&gt; rayIntersects(<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,
  485. <a name="l01277"></a>01277 <span class="keywordtype">bool</span> cascadeToNeighbours = <span class="keyword">false</span>, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> distanceLimit = 0); <span class="comment">//const;</span>
  486. <a name="l01278"></a>01278
  487. <a name="l01280"></a>01280 <span class="keyword">const</span> <a class="code" href="classOgre_1_1AxisAlignedBox.html" title="A 3D box aligned with the x/y/z axes.">AxisAlignedBox</a>&amp; getAABB() <span class="keyword">const</span>;
  488. <a name="l01282"></a>01282 <a class="code" href="classOgre_1_1AxisAlignedBox.html" title="A 3D box aligned with the x/y/z axes.">AxisAlignedBox</a> getWorldAABB() <span class="keyword">const</span>;
  489. <a name="l01284"></a>01284 <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getMinHeight() <span class="keyword">const</span>;
  490. <a name="l01286"></a>01286 <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getMaxHeight() <span class="keyword">const</span>;
  491. <a name="l01288"></a>01288 <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getBoundingRadius() <span class="keyword">const</span>;
  492. <a name="l01289"></a>01289
  493. <a name="l01291"></a>01291 <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; getMaterial() <span class="keyword">const</span>;
  494. <a name="l01293"></a><a class="code" href="classOgre_1_1Terrain.html#6e8b5db2343f30c724c9d3a2851b5f1a">01293</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; _getMaterial()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mMaterial; }
  495. <a name="l01295"></a>01295 <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>;
  496. <a name="l01297"></a><a class="code" href="classOgre_1_1Terrain.html#9ce8e6eb204553e2eb6367d855a27d06">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; }
  497. <a name="l01298"></a>01298
  498. <a name="l01300"></a><a class="code" href="classOgre_1_1Terrain.html#9ca3f5c19817403a166a1a43350b09c9">01300</a> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#f73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; getMaterialName()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mMaterialName; }
  499. <a name="l01301"></a>01301
  500. <a name="l01303"></a>01303 <span class="keywordtype">void</span> preFindVisibleObjects(<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,
  501. <a name="l01304"></a>01304 <a class="code" href="classOgre_1_1SceneManager.html#51db39cc4fa15b28086a1793d42fc827" title="Describes the stage of rendering when performing complex illumination.">SceneManager::IlluminationRenderStage</a> irs, <a class="code" href="classOgre_1_1Viewport.html" title="An abstraction of a viewport, i.e.">Viewport</a>* v);
  502. <a name="l01306"></a>01306 <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);
  503. <a name="l01307"></a>01307
  504. <a name="l01309"></a><a class="code" href="classOgre_1_1Terrain.html#85db9aa174047ce5cc4eb3904f32ef42">01309</a> <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> getRenderQueueGroup(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mRenderQueueGroup; }
  505. <a name="l01313"></a><a class="code" href="classOgre_1_1Terrain.html#9ff521bcc0fb0193d9105af627af5c0d">01313</a> <span class="keywordtype">void</span> setRenderQueueGroup(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> grp) { mRenderQueueGroup = grp; }
  506. <a name="l01314"></a>01314
  507. <a name="l01316"></a><a class="code" href="classOgre_1_1Terrain.html#6f2a1ff260575d4ff9270d7c2198d5a4">01316</a> <a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> getVisibilityFlags(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mVisibilityFlags; }
  508. <a name="l01320"></a><a class="code" href="classOgre_1_1Terrain.html#03a3ea2ce4dba4e2948a6b9d1fc02566">01320</a> <span class="keywordtype">void</span> setVisibilityFlags(<a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> flags) { mVisibilityFlags = flags; }
  509. <a name="l01321"></a>01321
  510. <a name="l01323"></a><a class="code" href="classOgre_1_1Terrain.html#c387d6c5b2fd70ab48e9ccf3e48c6619">01323</a> <a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> getQueryFlags(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mQueryFlags; }
  511. <a name="l01327"></a><a class="code" href="classOgre_1_1Terrain.html#4b05d2eef470c736f23b6e3dbb5619d9">01327</a> <span class="keywordtype">void</span> setQueryFlags(<a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> flags) { mQueryFlags = flags; }
  512. <a name="l01328"></a>01328
  513. <a name="l01330"></a><a class="code" href="classOgre_1_1Terrain.html#d7934e16e9ad7a0a272bb86d46c17b9e">01330</a> <span class="keywordtype">void</span> addQueryFlags(<a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> flags) { mQueryFlags |= flags; }
  514. <a name="l01331"></a>01331
  515. <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>
  516. <a name="l01333"></a><a class="code" href="classOgre_1_1Terrain.html#a0e26a4fd6e9897509bf7372388427ff">01333</a> <span class="keywordtype">void</span> removeQueryFlags(<a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> flags) { mQueryFlags &amp;= ~flags; }
  517. <a name="l01334"></a>01334
  518. <a name="l01335"></a>01335
  519. <a name="l01348"></a>01348 <a class="code" href="classOgre_1_1TerrainLayerBlendMap.html" title="Class exposing an interface to a blend map for a given layer.">TerrainLayerBlendMap</a>* getLayerBlendMap(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> layerIndex);
  520. <a name="l01349"></a>01349
  521. <a name="l01355"></a>01355 <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> getBlendTextureIndex(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> layerIndex) <span class="keyword">const</span>;
  522. <a name="l01356"></a>01356
  523. <a name="l01358"></a>01358 <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> getBlendTextureCount() <span class="keyword">const</span>;
  524. <a name="l01360"></a>01360 <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> getBlendTextureCount(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> numLayers) <span class="keyword">const</span>;
  525. <a name="l01361"></a>01361
  526. <a name="l01362"></a>01362
  527. <a name="l01367"></a>01367 <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#f73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; getBlendTextureName(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> textureIndex) <span class="keyword">const</span>;
  528. <a name="l01368"></a>01368
  529. <a name="l01381"></a>01381 <span class="keywordtype">void</span> setGlobalColourMapEnabled(<span class="keywordtype">bool</span> enabled, <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> size = 0);
  530. <a name="l01383"></a><a class="code" href="classOgre_1_1Terrain.html#aa4a4d93ba62e06f1718ee757bf2e053">01383</a> <span class="keywordtype">bool</span> getGlobalColourMapEnabled()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mGlobalColourMapEnabled; }
  531. <a name="l01385"></a><a class="code" href="classOgre_1_1Terrain.html#90a9e5f27d4df4fcf1aa58efb3b2eb82">01385</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getGlobalColourMapSize()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mGlobalColourMapSize; }
  532. <a name="l01387"></a><a class="code" href="classOgre_1_1Terrain.html#71ceea9cd78cf678e6bdbbd379d65a43">01387</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; getGlobalColourMap()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mColourMap; }
  533. <a name="l01388"></a>01388
  534. <a name="l01394"></a>01394 <span class="keywordtype">void</span> widenRectByVector(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; vec, <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>&amp; outRect);
  535. <a name="l01395"></a>01395
  536. <a name="l01403"></a>01403 <span class="keywordtype">void</span> widenRectByVector(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; vec, <span class="keyword">const</span> <a class="code" href="structOgre_1_1TRect.html">Rect</a>&amp; inRect,
  537. <a name="l01404"></a>01404 <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> minHeight, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> maxHeight, <a class="code" href="structOgre_1_1TRect.html">Rect</a>&amp; outRect);
  538. <a name="l01405"></a>01405
  539. <a name="l01415"></a>01415 <span class="keywordtype">void</span> freeTemporaryResources();
  540. <a name="l01416"></a>01416
  541. <a name="l01421"></a>01421 <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; getLayerBlendTexture(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index);
  542. <a name="l01422"></a>01422
  543. <a name="l01429"></a>01429 std::pair&lt;uint8,uint8&gt; getLayerBlendTextureIndex(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> layerIndex);
  544. <a name="l01430"></a>01430
  545. <a name="l01441"></a><a class="code" href="classOgre_1_1Terrain.html#2a65fb835fe22a425107ce43edf43219">01441</a> <span class="keywordtype">void</span> _setMorphRequired(<span class="keywordtype">bool</span> morph) { mLodMorphRequired = morph; }
  546. <a name="l01443"></a><a class="code" href="classOgre_1_1Terrain.html#14decc3b04b97743c57cc99f89ddb3b4">01443</a> <span class="keywordtype">bool</span> _getMorphRequired()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mLodMorphRequired; }
  547. <a name="l01444"></a>01444
  548. <a name="l01456"></a>01456 <span class="keywordtype">void</span> _setNormalMapRequired(<span class="keywordtype">bool</span> normalMap);
  549. <a name="l01457"></a>01457
  550. <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>);
  551. <a name="l01472"></a>01472
  552. <a name="l01491"></a>01491 <span class="keywordtype">void</span> _setCompositeMapRequired(<span class="keywordtype">bool</span> compositeMap);
  553. <a name="l01492"></a>01492
  554. <a name="l01494"></a>01494 <span class="keywordtype">bool</span> canHandleRequest(<span class="keyword">const</span> <a class="code" href="classOgre_1_1WorkQueue_1_1Request.html" title="General purpose request structure.">WorkQueue::Request</a>* req, <span class="keyword">const</span> <a class="code" href="classOgre_1_1WorkQueue.html" title="Interface to a general purpose request / response style background work queue.">WorkQueue</a>* srcQ);
  555. <a name="l01496"></a>01496 <a class="code" href="structOgre_1_1WorkQueue_1_1Response.html" title="General purpose response structure.">WorkQueue::Response</a>* handleRequest(<span class="keyword">const</span> <a class="code" href="classOgre_1_1WorkQueue_1_1Request.html" title="General purpose request structure.">WorkQueue::Request</a>* req, <span class="keyword">const</span> <a class="code" href="classOgre_1_1WorkQueue.html" title="Interface to a general purpose request / response style background work queue.">WorkQueue</a>* srcQ);
  556. <a name="l01498"></a>01498 <span class="keywordtype">bool</span> canHandleResponse(<span class="keyword">const</span> <a class="code" href="structOgre_1_1WorkQueue_1_1Response.html" title="General purpose response structure.">WorkQueue::Response</a>* res, <span class="keyword">const</span> <a class="code" href="classOgre_1_1WorkQueue.html" title="Interface to a general purpose request / response style background work queue.">WorkQueue</a>* srcQ);
  557. <a name="l01500"></a>01500 <span class="keywordtype">void</span> handleResponse(<span class="keyword">const</span> <a class="code" href="structOgre_1_1WorkQueue_1_1Response.html" title="General purpose response structure.">WorkQueue::Response</a>* res, <span class="keyword">const</span> <a class="code" href="classOgre_1_1WorkQueue.html" title="Interface to a general purpose request / response style background work queue.">WorkQueue</a>* srcQ);
  558. <a name="l01501"></a>01501
  559. <a name="l01502"></a><a class="code" href="classOgre_1_1Terrain.html#0441ddb006dede009b3725e0a5536bba">01502</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> WORKQUEUE_DERIVED_DATA_REQUEST;
  560. <a name="l01503"></a>01503
  561. <a name="l01504"></a>01504
  562. <a name="l01506"></a>01506 <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getLODLevelWhenVertexEliminated(<span class="keywordtype">long</span> x, <span class="keywordtype">long</span> y);
  563. <a name="l01508"></a>01508 <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getLODLevelWhenVertexEliminated(<span class="keywordtype">long</span> rowOrColulmn);
  564. <a name="l01509"></a>01509
  565. <a name="l01510"></a>01510
  566. <a name="l01512"></a><a class="code" href="classOgre_1_1Terrain.html#5415ad85a6bf652029c01169105a068d">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; }
  567. <a name="l01513"></a>01513
  568. <a name="l01515"></a><a class="code" href="classOgre_1_1Terrain.html#7601c279cf4f0d4c99260c243f2e36a1">01515</a> <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; }
  569. <a name="l01516"></a>01516
  570. <a name="l01524"></a>01524 <a class="code" href="classOgre_1_1Terrain.html" title="The main containing class for a chunk of terrain.">Terrain</a>* getNeighbour(NeighbourIndex index);
  571. <a name="l01525"></a>01525
  572. <a name="l01543"></a>01543 <span class="keywordtype">void</span> setNeighbour(NeighbourIndex index, <a class="code" href="classOgre_1_1Terrain.html" title="The main containing class for a chunk of terrain.">Terrain</a>* neighbour, <span class="keywordtype">bool</span> recalculate = <span class="keyword">false</span>, <span class="keywordtype">bool</span> notifyOther = <span class="keyword">true</span>);
  573. <a name="l01544"></a>01544
  574. <a name="l01549"></a>01549 <span class="keyword">static</span> NeighbourIndex getOppositeNeighbour(NeighbourIndex index);
  575. <a name="l01550"></a>01550
  576. <a name="l01553"></a>01553 <span class="keyword">static</span> NeighbourIndex getNeighbourIndex(<span class="keywordtype">long</span> offsetx, <span class="keywordtype">long</span> offsety);
  577. <a name="l01554"></a>01554
  578. <a name="l01562"></a>01562 <span class="keywordtype">void</span> notifyNeighbours();
  579. <a name="l01563"></a>01563
  580. <a name="l01571"></a>01571 <span class="keywordtype">void</span> neighbourModified(NeighbourIndex index, <span class="keyword">const</span> <a class="code" href="structOgre_1_1TRect.html">Rect</a>&amp; edgerect, <span class="keyword">const</span> <a class="code" href="structOgre_1_1TRect.html">Rect</a>&amp; shadowrect);
  581. <a name="l01572"></a>01572
  582. <a name="l01578"></a>01578 <a class="code" href="classOgre_1_1Terrain.html" title="The main containing class for a chunk of terrain.">Terrain</a>* raySelectNeighbour(<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, <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> distanceLimit = 0);
  583. <a name="l01579"></a>01579
  584. <a name="l01584"></a>01584 <span class="keywordtype">void</span> _dumpTextures(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#f73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; prefix, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#f73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; suffix);
  585. <a name="l01585"></a>01585
  586. <a name="l01587"></a><a class="code" href="classOgre_1_1Terrain.html#fb5586d0aba89e95bb91e5e3fd297948">01587</a> <span class="keywordtype">bool</span> isDerivedDataUpdateInProgress()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mDerivedDataUpdateInProgress; }
  587. <a name="l01588"></a>01588
  588. <a name="l01589"></a>01589
  589. <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);
  590. <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);
  591. <a name="l01594"></a>01594
  592. <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);
  593. <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);
  594. <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#7f4f256f962849538b8e46eebd6da94c">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);
  595. <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#7f4f256f962849538b8e46eebd6da94c">Terrain::LayerInstanceList</a>&amp; targetlst);
  596. <a name="l01603"></a>01603 <span class="keyword">protected</span>:
  597. <a name="l01604"></a>01604
  598. <a name="l01605"></a>01605 <span class="keywordtype">void</span> freeCPUResources();
  599. <a name="l01606"></a>01606 <span class="keywordtype">void</span> freeGPUResources();
  600. <a name="l01607"></a>01607 <span class="keywordtype">void</span> determineLodLevels();
  601. <a name="l01608"></a>01608 <span class="keywordtype">void</span> distributeVertexData();
  602. <a name="l01609"></a>01609 <span class="keywordtype">void</span> updateBaseScale();
  603. <a name="l01610"></a>01610 <span class="keywordtype">void</span> createGPUBlendTextures();
  604. <a name="l01611"></a>01611 <span class="keywordtype">void</span> createLayerBlendMaps();
  605. <a name="l01612"></a>01612 <span class="keywordtype">void</span> createOrDestroyGPUNormalMap();
  606. <a name="l01613"></a>01613 <span class="keywordtype">void</span> createOrDestroyGPUColourMap();
  607. <a name="l01614"></a>01614 <span class="keywordtype">void</span> createOrDestroyGPULightmap();
  608. <a name="l01615"></a>01615 <span class="keywordtype">void</span> createOrDestroyGPUCompositeMap();
  609. <a name="l01616"></a>01616 <span class="keywordtype">void</span> waitForDerivedProcesses();
  610. <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>;
  611. <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>;
  612. <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>;
  613. <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);
  614. <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);
  615. <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);
  616. <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>
  617. <a name="l01632"></a>01632
  618. <a name="l01634"></a>01634 <span class="keywordtype">void</span> deleteBlendMaps(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> lowIndex);
  619. <a name="l01636"></a>01636 <span class="keywordtype">void</span> shiftUpGPUBlendChannels(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index);
  620. <a name="l01638"></a>01638 <span class="keywordtype">void</span> shiftDownGPUBlendChannels(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index);
  621. <a name="l01640"></a>01640 <span class="keywordtype">void</span> copyBlendTextureChannel(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> srcIndex, <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> srcChannel, <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> destIndex, <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> destChannel );
  622. <a name="l01642"></a>01642 <span class="keywordtype">void</span> clearGPUBlendChannel(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> index, <a class="code" href="namespaceOgre.html#b6e842a18caf062ed73a5d3badd0dd4c">uint</a> channel);
  623. <a name="l01643"></a>01643
  624. <a name="l01644"></a>01644 <span class="keywordtype">void</span> copyGlobalOptions();
  625. <a name="l01645"></a>01645 <span class="keywordtype">void</span> checkLayers(<span class="keywordtype">bool</span> includeGPUResources);
  626. <a name="l01646"></a>01646 <span class="keywordtype">void</span> checkDeclaration();
  627. <a name="l01647"></a>01647 <span class="keywordtype">void</span> deriveUVMultipliers();
  628. <a name="l01648"></a>01648 <a class="code" href="group__Image.html#g7e0353e7d36d4c2e8468641b7303d39c" title="The pixel format used for images, textures, and render surfaces.">PixelFormat</a> getBlendTextureFormat(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> textureIndex, <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> numLayers);
  629. <a name="l01649"></a>01649
  630. <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#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> typeMask);
  631. <a name="l01651"></a>01651
  632. <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);
  633. <a name="l01653"></a>01653 <span class="comment">// get the equivalent of the passed in edge rectangle in neighbour</span>
  634. <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);
  635. <a name="l01655"></a>01655 <span class="comment">// get the equivalent of the passed in edge point in neighbour</span>
  636. <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);
  637. <a name="l01657"></a>01657 <span class="comment">// overflow a point into a neighbour index and point</span>
  638. <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);
  639. <a name="l01659"></a>01659
  640. <a name="l01660"></a>01660
  641. <a name="l01661"></a>01661
  642. <a name="l01662"></a><a class="code" href="classOgre_1_1Terrain.html#5bd6d908c8953d9229b9bf6276d7b040">01662</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mWorkQueueChannel;
  643. <a name="l01663"></a><a class="code" href="classOgre_1_1Terrain.html#bc9edf0c90d1e990281cacda529313e7">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;
  644. <a name="l01664"></a><a class="code" href="classOgre_1_1Terrain.html#bca80f7ceeacf8ffb404d2a9f2dfb2f3">01664</a> <a class="code" href="classOgre_1_1SceneNode.html" title="Class representing a node in the scene graph.">SceneNode</a>* mRootNode;
  645. <a name="l01665"></a><a class="code" href="classOgre_1_1Terrain.html#3e3a0e6e7fc53c54470172b5abc25d22">01665</a> <a class="code" href="namespaceOgre.html#f73bbdc8bed8a3e6fcd56bb8fa188c45">String</a> mResourceGroup;
  646. <a name="l01666"></a><a class="code" href="classOgre_1_1Terrain.html#ea4c89bf7c89a1df235284661317ee5c">01666</a> <span class="keywordtype">bool</span> mIsLoaded;
  647. <a name="l01667"></a><a class="code" href="classOgre_1_1Terrain.html#7492c31cf2d3172352adabdffef0c166">01667</a> <span class="keywordtype">bool</span> mModified;
  648. <a name="l01668"></a><a class="code" href="classOgre_1_1Terrain.html#a8a35e9bf9c5307678dc6166273f3db0">01668</a> <span class="keywordtype">bool</span> mHeightDataModified;
  649. <a name="l01669"></a>01669
  650. <a name="l01671"></a><a class="code" href="classOgre_1_1Terrain.html#83bbc61a8311ec2ccd52057fd25f627f">01671</a> <span class="keywordtype">float</span>* mHeightData;
  651. <a name="l01673"></a><a class="code" href="classOgre_1_1Terrain.html#8937c5f21401077b9d33955d9b07ac64">01673</a> <span class="keywordtype">float</span>* mDeltaData;
  652. <a name="l01674"></a><a class="code" href="classOgre_1_1Terrain.html#9641e90abcf63dab08dccf93af4bd85d">01674</a> <a class="code" href="classOgre_1_1Terrain.html#ca4fcebfb7ed4684682347d325477e91" title="The alignment of the terrain.">Alignment</a> mAlign;
  653. <a name="l01675"></a><a class="code" href="classOgre_1_1Terrain.html#95c0eee4308d06f22e2ea02d9e1df555">01675</a> <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> mWorldSize;
  654. <a name="l01676"></a><a class="code" href="classOgre_1_1Terrain.html#e24ab80aa422f73efdb425b1e2ad2b8e">01676</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mSize;
  655. <a name="l01677"></a><a class="code" href="classOgre_1_1Terrain.html#70b9d43bab8ca756a086be6570837276">01677</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mMaxBatchSize;
  656. <a name="l01678"></a><a class="code" href="classOgre_1_1Terrain.html#e3822799690563d5127ccfa7e917d979">01678</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mMinBatchSize;
  657. <a name="l01679"></a><a class="code" href="classOgre_1_1Terrain.html#8a2897ebf5e96be16ebff9adc8f4b0c3">01679</a> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a> mPos;
  658. <a name="l01680"></a><a class="code" href="classOgre_1_1Terrain.html#f21402726cbf4739e31525ad49787d77">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;
  659. <a name="l01681"></a><a class="code" href="classOgre_1_1Terrain.html#a06c7fa7675af002931b570301788140">01681</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mNumLodLevels;
  660. <a name="l01682"></a><a class="code" href="classOgre_1_1Terrain.html#b63de59c01ad5013c4334ac19f9ed5e9">01682</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mNumLodLevelsPerLeafNode;
  661. <a name="l01683"></a><a class="code" href="classOgre_1_1Terrain.html#3595a98d49b19937bd8c618bcc10d7d6">01683</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mTreeDepth;
  662. <a name="l01685"></a><a class="code" href="classOgre_1_1Terrain.html#485d3d98e481c23f37985e09df71cf09">01685</a> <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> mBase;
  663. <a name="l01687"></a><a class="code" href="classOgre_1_1Terrain.html#86b630eff3dcf4c4c6a7ee5098e1cc09">01687</a> <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> mScale;
  664. <a name="l01688"></a><a class="code" href="classOgre_1_1Terrain.html#ffb026be1fa23c8854565dc8b90953f6">01688</a> <a class="code" href="structOgre_1_1TerrainLayerDeclaration.html" title="The definition of the information each layer will contain in this terrain.">TerrainLayerDeclaration</a> mLayerDecl;
  665. <a name="l01689"></a><a class="code" href="classOgre_1_1Terrain.html#f1ebd1d59d9609e57f636403cd0c5d75">01689</a> LayerInstanceList mLayers;
  666. <a name="l01690"></a><a class="code" href="classOgre_1_1Terrain.html#6eca2f77f7a8798fa0022a215112de52">01690</a> RealVector mLayerUVMultiplier;
  667. <a name="l01691"></a>01691
  668. <a name="l01692"></a><a class="code" href="classOgre_1_1Terrain.html#5f71d9dcbd70fc1dd6d332941ce15583">01692</a> <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> mSkirtSize;
  669. <a name="l01693"></a><a class="code" href="classOgre_1_1Terrain.html#77d20277f824e0f06e1a6429dd024299">01693</a> <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> mRenderQueueGroup;
  670. <a name="l01694"></a><a class="code" href="classOgre_1_1Terrain.html#936455a8933674c796168c948b53055d">01694</a> <a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> mVisibilityFlags;
  671. <a name="l01695"></a><a class="code" href="classOgre_1_1Terrain.html#1370239abf38ddc71c5a40159898c31d">01695</a> <a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> mQueryFlags;
  672. <a name="l01696"></a>01696
  673. <a name="l01697"></a><a class="code" href="classOgre_1_1Terrain.html#3941cf4317bd326c4c3a1dfa7690a37b">01697</a> <a class="code" href="structOgre_1_1TRect.html">Rect</a> mDirtyGeometryRect;
  674. <a name="l01698"></a><a class="code" href="classOgre_1_1Terrain.html#f0755af0f30b1a30a1353dddc53b8d9f">01698</a> <a class="code" href="structOgre_1_1TRect.html">Rect</a> mDirtyDerivedDataRect;
  675. <a name="l01699"></a><a class="code" href="classOgre_1_1Terrain.html#1cbef8c1fee4e5d9f84eba3f601020db">01699</a> <a class="code" href="structOgre_1_1TRect.html">Rect</a> mDirtyGeometryRectForNeighbours;
  676. <a name="l01700"></a><a class="code" href="classOgre_1_1Terrain.html#3eaa3ae325935bba5aa04721d95a10c9">01700</a> <a class="code" href="structOgre_1_1TRect.html">Rect</a> mDirtyLightmapFromNeighboursRect;
  677. <a name="l01701"></a><a class="code" href="classOgre_1_1Terrain.html#4c8e4624c142f963e30cde4d0924a1f1">01701</a> <span class="keywordtype">bool</span> mDerivedDataUpdateInProgress;
  678. <a name="l01702"></a><a class="code" href="classOgre_1_1Terrain.html#f4e5a2ff8419f32d98041c9427186ec4">01702</a> <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> mDerivedUpdatePendingMask; <span class="comment">// if another update is requested while one is already running</span>
  679. <a name="l01703"></a>01703
  680. <a name="l01705"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataRequest.html">01705</a> <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>
  681. <a name="l01706"></a>01706 {
  682. <a name="l01707"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataRequest.html#ab0d0ae24c1ec302c2ec82f2d13c51ab">01707</a> <a class="code" href="classOgre_1_1Terrain.html" title="The main containing class for a chunk of terrain.">Terrain</a>* terrain;
  683. <a name="l01708"></a>01708 <span class="comment">// types requested</span>
  684. <a name="l01709"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataRequest.html#ec88e74f2d4a31352d7215bf609317ab">01709</a> <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> typeMask;
  685. <a name="l01710"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataRequest.html#f351c17e10a42958748e4866b13f4010">01710</a> <a class="code" href="structOgre_1_1TRect.html">Rect</a> dirtyRect;
  686. <a name="l01711"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataRequest.html#4efd3a42eed81d50532c0301780ec4a3">01711</a> <a class="code" href="structOgre_1_1TRect.html">Rect</a> lightmapExtraDirtyRect;
  687. <a name="l01712"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataRequest.html#5031c5df320f3317b1a60bd4bd7f3778">01712</a> <a class="code" href="OgreTerrainPrerequisites_8h.html#2fbe49b54cb4b3c3e2757cd3ac167068">_OgreTerrainExport</a> <span class="keyword">friend</span> std::ostream&amp; <a class="code" href="group__General.html#g5c0329d5ed26753b4c8f145373c6d415">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)
  688. <a name="l01713"></a>01713 { <span class="keywordflow">return</span> o; }
  689. <a name="l01714"></a>01714 };
  690. <a name="l01715"></a>01715
  691. <a name="l01717"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html">01717</a> <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>
  692. <a name="l01718"></a>01718 {
  693. <a name="l01719"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html#a8d6dfd215d499896823a6279cb37928">01719</a> <a class="code" href="classOgre_1_1Terrain.html" title="The main containing class for a chunk of terrain.">Terrain</a>* terrain;
  694. <a name="l01720"></a>01720 <span class="comment">// remaining types not yet processed</span>
  695. <a name="l01721"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html#e47b1a81e0de479f34f0c48d315c0b1e">01721</a> <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> remainingTypeMask;
  696. <a name="l01722"></a>01722 <span class="comment">// The area of deltas that was updated</span>
  697. <a name="l01723"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html#364544a6a9c0c3a17c2ee11f6518b4dd">01723</a> <a class="code" href="structOgre_1_1TRect.html">Rect</a> deltaUpdateRect;
  698. <a name="l01724"></a>01724 <span class="comment">// the area of normals that was updated</span>
  699. <a name="l01725"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html#26f573c43021a442c89fbc3850a45d34">01725</a> <a class="code" href="structOgre_1_1TRect.html">Rect</a> normalUpdateRect;
  700. <a name="l01726"></a>01726 <span class="comment">// the area of lightmap that was updated</span>
  701. <a name="l01727"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html#69fc735a122d3037bf10d9a897e379a1">01727</a> <a class="code" href="structOgre_1_1TRect.html">Rect</a> lightmapUpdateRect;
  702. <a name="l01728"></a>01728 <span class="comment">// all CPU-side data, independent of textures; to be blitted in main thread</span>
  703. <a name="l01729"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html#e75d9cbcc311fd797178b17e553421f7">01729</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>* normalMapBox;
  704. <a name="l01730"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html#4d21ac16f65468550c6946f16f1de15b">01730</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>* lightMapBox;
  705. <a name="l01731"></a><a class="code" href="structOgre_1_1Terrain_1_1DerivedDataResponse.html#331febe763a7cdf5a376570c40294985">01731</a> <a class="code" href="OgreTerrainPrerequisites_8h.html#2fbe49b54cb4b3c3e2757cd3ac167068">_OgreTerrainExport</a> <span class="keyword">friend</span> std::ostream&amp; <a class="code" href="group__General.html#g5c0329d5ed26753b4c8f145373c6d415">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)
  706. <a name="l01732"></a>01732 { <span class="keywordflow">return</span> o; }
  707. <a name="l01733"></a>01733 };
  708. <a name="l01734"></a>01734
  709. <a name="l01735"></a><a class="code" href="classOgre_1_1Terrain.html#23c48862654ccb8e34161e1d82ea4fc5">01735</a> <a class="code" href="namespaceOgre.html#f73bbdc8bed8a3e6fcd56bb8fa188c45">String</a> mMaterialName;
  710. <a name="l01736"></a><a class="code" href="classOgre_1_1Terrain.html#350a48c17dc258989cb1c129764cf3bf">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;
  711. <a name="l01737"></a><a class="code" href="classOgre_1_1Terrain.html#27a1e40f095c4b2903a80c27b89dfa72">01737</a> <span class="keyword">mutable</span> <a class="code" href="classOgre_1_1SharedPtr.html" title="Reference-counted shared pointer, used for objects where implicit destruction is...">TerrainMaterialGeneratorPtr</a> mMaterialGenerator;
  712. <a name="l01738"></a><a class="code" href="classOgre_1_1Terrain.html#d3bc88cecb68633d47eb68c927a5ecd3">01738</a> <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;
  713. <a name="l01739"></a><a class="code" href="classOgre_1_1Terrain.html#9e3852fc118b397b149ec70a996c1ad2">01739</a> <span class="keyword">mutable</span> <span class="keywordtype">bool</span> mMaterialDirty;
  714. <a name="l01740"></a><a class="code" href="classOgre_1_1Terrain.html#d665e8956447375d325810bb840e588f">01740</a> <span class="keyword">mutable</span> <span class="keywordtype">bool</span> mMaterialParamsDirty;
  715. <a name="l01741"></a>01741
  716. <a name="l01742"></a><a class="code" href="classOgre_1_1Terrain.html#51f3d31c83e4a675d1ae79764da08c9a">01742</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mLayerBlendMapSize;
  717. <a name="l01743"></a><a class="code" href="classOgre_1_1Terrain.html#1a440dd8c09418ff6e91361571361758">01743</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mLayerBlendMapSizeActual;
  718. <a name="l01744"></a><a class="code" href="classOgre_1_1Terrain.html#d6b29b78e589b431e95a9e9ad3b1e2eb">01744</a> <span class="keyword">typedef</span> <a class="code" href="structOgre_1_1vector.html">vector&lt;uint8*&gt;::type</a> BytePointerList;
  719. <a name="l01746"></a><a class="code" href="classOgre_1_1Terrain.html#0a32afba4ecd26cc4b1b0afcb323a46f">01746</a> BytePointerList mCpuBlendMapStorage;
  720. <a name="l01747"></a><a class="code" href="classOgre_1_1Terrain.html#744b95b93d3f07295ddb42ef5f53d582">01747</a> <span class="keyword">typedef</span> <a class="code" href="structOgre_1_1vector.html">vector&lt;TexturePtr&gt;::type</a> TexturePtrList;
  721. <a name="l01748"></a><a class="code" href="classOgre_1_1Terrain.html#5a6f0694c75d27a1f610f45f7d3fe298">01748</a> TexturePtrList mBlendTextureList;
  722. <a name="l01749"></a><a class="code" href="classOgre_1_1Terrain.html#0360134ebb6d7d4de73947b44a4e058e">01749</a> <a class="code" href="group__Terrain.html#g0abaf85368e5e249f471ee358e7c8f60">TerrainLayerBlendMapList</a> mLayerBlendMapList;
  723. <a name="l01750"></a>01750
  724. <a name="l01751"></a><a class="code" href="classOgre_1_1Terrain.html#166ea7ce2cd207073b8c85b6cb3fd18e">01751</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mGlobalColourMapSize;
  725. <a name="l01752"></a><a class="code" href="classOgre_1_1Terrain.html#285d98679e7babd074f3520c1679c45a">01752</a> <span class="keywordtype">bool</span> mGlobalColourMapEnabled;
  726. <a name="l01753"></a><a class="code" href="classOgre_1_1Terrain.html#b298886638bf91c45c1cf742f0b70d69">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;
  727. <a name="l01754"></a><a class="code" href="classOgre_1_1Terrain.html#f122a088d4fee6faf1ef48045ba549bd">01754</a> <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a>* mCpuColourMapStorage;
  728. <a name="l01755"></a>01755
  729. <a name="l01756"></a><a class="code" href="classOgre_1_1Terrain.html#a11b22e1c3cf961d33a0954880ccbfb4">01756</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mLightmapSize;
  730. <a name="l01757"></a><a class="code" href="classOgre_1_1Terrain.html#193fad393b24141f14e09200dd206c24">01757</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mLightmapSizeActual;
  731. <a name="l01758"></a><a class="code" href="classOgre_1_1Terrain.html#809efe6ea5ee604d9d43cfcd75841e30">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;
  732. <a name="l01759"></a><a class="code" href="classOgre_1_1Terrain.html#638f3bbe77c06c3e5cabd6e3ffa383d4">01759</a> <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a>* mCpuLightmapStorage;
  733. <a name="l01760"></a>01760
  734. <a name="l01761"></a><a class="code" href="classOgre_1_1Terrain.html#8e623526a576815f8e8b6ad5426f6520">01761</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mCompositeMapSize;
  735. <a name="l01762"></a><a class="code" href="classOgre_1_1Terrain.html#517fc8df0870320f05fe86a7945e5577">01762</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mCompositeMapSizeActual;
  736. <a name="l01763"></a><a class="code" href="classOgre_1_1Terrain.html#0b4fdae3ba7dc9637122a571152b297b">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;
  737. <a name="l01764"></a><a class="code" href="classOgre_1_1Terrain.html#be66401a823c35bff777664165d44cb1">01764</a> <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a>* mCpuCompositeMapStorage;
  738. <a name="l01765"></a><a class="code" href="classOgre_1_1Terrain.html#ed440e71196c9f3d76633461e61ecf3c">01765</a> <a class="code" href="structOgre_1_1TRect.html">Rect</a> mCompositeMapDirtyRect;
  739. <a name="l01766"></a><a class="code" href="classOgre_1_1Terrain.html#faf753af6db587044ce7c121a3ecb35a">01766</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mCompositeMapUpdateCountdown;
  740. <a name="l01767"></a><a class="code" href="classOgre_1_1Terrain.html#5353699a17912c930ad6233a8c03eaeb">01767</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mLastMillis;
  741. <a name="l01769"></a><a class="code" href="classOgre_1_1Terrain.html#d5792073207265724b6d79766fcdf64a">01769</a> <span class="keywordtype">bool</span> mCompositeMapDirtyRectLightmapUpdate;
  742. <a name="l01770"></a><a class="code" href="classOgre_1_1Terrain.html#f58fb7c2a6bb9cf9d1414739a3927004">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;
  743. <a name="l01771"></a>01771
  744. <a name="l01772"></a>01772
  745. <a name="l01773"></a><a class="code" href="classOgre_1_1Terrain.html#8ae8a162c87ef7f68f1071fa72b7b9e9">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;
  746. <a name="l01774"></a><a class="code" href="classOgre_1_1Terrain.html#1886f1e5eeefc749df664d9275361f2f">01774</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> msNormalMapNameGenerator;
  747. <a name="l01775"></a><a class="code" href="classOgre_1_1Terrain.html#ee6e3b02940508becd5f1a8b2fa46727">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;
  748. <a name="l01776"></a><a class="code" href="classOgre_1_1Terrain.html#b15a97ece4b0ffe5b54b4e634f125b70">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;
  749. <a name="l01777"></a>01777
  750. <a name="l01778"></a><a class="code" href="classOgre_1_1Terrain.html#5c72d3c973a1ba37d321b7a68de1f0c4">01778</a> <span class="keywordtype">bool</span> mLodMorphRequired;
  751. <a name="l01779"></a><a class="code" href="classOgre_1_1Terrain.html#80cd0f9fa136d2051b2e233e38adf470">01779</a> <span class="keywordtype">bool</span> mNormalMapRequired;
  752. <a name="l01780"></a><a class="code" href="classOgre_1_1Terrain.html#4edce6e8967649ffcb97d5e8f586e400">01780</a> <span class="keywordtype">bool</span> mLightMapRequired;
  753. <a name="l01781"></a><a class="code" href="classOgre_1_1Terrain.html#558428bf181e9b93e9818da3db6b336b">01781</a> <span class="keywordtype">bool</span> mLightMapShadowsOnly;
  754. <a name="l01782"></a><a class="code" href="classOgre_1_1Terrain.html#75a5aa015183ef539c2ce7da26b4e31b">01782</a> <span class="keywordtype">bool</span> mCompositeMapRequired;
  755. <a name="l01784"></a><a class="code" href="classOgre_1_1Terrain.html#2471b8639a44a294492dc6bc0ecc4a9f">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;
  756. <a name="l01785"></a>01785
  757. <a name="l01787"></a><a class="code" href="classOgre_1_1Terrain.html#0176cf2bb7bb6f3724a23b2e3839e947">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;
  758. <a name="l01788"></a>01788
  759. <a name="l01789"></a><a class="code" href="classOgre_1_1Terrain.html#86d9e4225439aa3a80880866b5b0344d">01789</a> <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;
  760. <a name="l01790"></a><a class="code" href="classOgre_1_1Terrain.html#56abcf439703d0dfd1b9f20884b77ea6">01790</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mLastLODFrame;
  761. <a name="l01791"></a><a class="code" href="classOgre_1_1Terrain.html#15d28aeba05b82cc302077ba14f97efb">01791</a> <span class="keywordtype">int</span> mLastViewportHeight;
  762. <a name="l01792"></a>01792
  763. <a name="l01793"></a><a class="code" href="classOgre_1_1Terrain.html#75d57c577cd10027d726c1f33d2f020b">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];
  764. <a name="l01794"></a>01794
  765. <a name="l01795"></a><a class="code" href="classOgre_1_1Terrain.html#33e527a5b38fb315d1420070217351ab">01795</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>* mCustomGpuBufferAllocator;
  766. <a name="l01796"></a><a class="code" href="classOgre_1_1Terrain.html#eeb4e9d5bfaf45a087a9810ff3e0e88d">01796</a> <a class="code" href="classOgre_1_1Terrain_1_1DefaultGpuBufferAllocator.html" title="Standard implementation of a buffer allocator which re-uses buffers.">DefaultGpuBufferAllocator</a> mDefaultGpuBufferAllocator;
  767. <a name="l01797"></a>01797
  768. <a name="l01798"></a>01798 <span class="keywordtype">size_t</span> getPositionBufVertexSize() <span class="keyword">const</span>;
  769. <a name="l01799"></a>01799 <span class="keywordtype">size_t</span> getDeltaBufVertexSize() <span class="keyword">const</span>;
  770. <a name="l01800"></a>01800
  771. <a name="l01801"></a>01801 };
  772. <a name="l01802"></a>01802
  773. <a name="l01803"></a>01803
  774. <a name="l01813"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html">01813</a> <span class="keyword">class </span><a class="code" href="OgreTerrainPrerequisites_8h.html#2fbe49b54cb4b3c3e2757cd3ac167068">_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;
  775. <a name="l01814"></a>01814 {
  776. <a name="l01815"></a>01815 <span class="keyword">protected</span>:
  777. <a name="l01816"></a>01816
  778. <a name="l01817"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#7f4b235983a1e264b9a05ac2bc8c0fa4">01817</a> <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> mSkirtSize;
  779. <a name="l01818"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#e39fd9c9af07747bf1d97ac1fc8e2acf">01818</a> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a> mLightMapDir;
  780. <a name="l01819"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#4e899e0de62b28cd4a7387d6bc309386">01819</a> <span class="keywordtype">bool</span> mCastsShadows;
  781. <a name="l01820"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#cc5386c8a4470c1bb78a7480ccf0d6c8">01820</a> <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> mMaxPixelError;
  782. <a name="l01821"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#1cb7acd60843de6f07fc88a6dc9c04f9">01821</a> <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> mRenderQueueGroup;
  783. <a name="l01822"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#72e0f6e52815a310795140f2f53ce35c">01822</a> <a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> mVisibilityFlags;
  784. <a name="l01823"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#6cb4188ffea1f78371d9eef49b985be7">01823</a> <a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> mQueryFlags;
  785. <a name="l01824"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#d91bd2a30cbbed3def53c17dc740e3ca">01824</a> <span class="keywordtype">bool</span> mUseRayBoxDistanceCalculation;
  786. <a name="l01825"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#7becd0d484d721b8fae02e24c3527419">01825</a> <a class="code" href="classOgre_1_1SharedPtr.html" title="Reference-counted shared pointer, used for objects where implicit destruction is...">TerrainMaterialGeneratorPtr</a> mDefaultMaterialGenerator;
  787. <a name="l01826"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#c63faa9bc5d2501aa90f9c8d3ca93ca7">01826</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mLayerBlendMapSize;
  788. <a name="l01827"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#51dd2ce4993cb02f32693c58f309efe4">01827</a> <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> mDefaultLayerTextureWorldSize;
  789. <a name="l01828"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#17a1861e5b779f49aaf1bd164aded668">01828</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mDefaultGlobalColourMapSize;
  790. <a name="l01829"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#d8dea0cf9bfd02555448367d3b2abc4b">01829</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mLightmapSize;
  791. <a name="l01830"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a1eec11aa9da111c7cf3ef2ade86a564">01830</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> mCompositeMapSize;
  792. <a name="l01831"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#8f92defbfed343684f899c6e3cff17e8">01831</a> <a class="code" href="classOgre_1_1ColourValue.html" title="Class representing colour.">ColourValue</a> mCompositeMapAmbient;
  793. <a name="l01832"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#dc5fc6047d3c919a18ed377bc6a79e57">01832</a> <a class="code" href="classOgre_1_1ColourValue.html" title="Class representing colour.">ColourValue</a> mCompositeMapDiffuse;
  794. <a name="l01833"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#c48fa7e980062937ffd2a020de5186b8">01833</a> <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> mCompositeMapDistance;
  795. <a name="l01834"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#9cd495f55c60f4bf1f71a42ec1e939d1">01834</a> <a class="code" href="namespaceOgre.html#f73bbdc8bed8a3e6fcd56bb8fa188c45">String</a> mResourceGroup;
  796. <a name="l01835"></a>01835
  797. <a name="l01836"></a>01836 <span class="keyword">public</span>:
  798. <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>();
  799. <a name="l01838"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a0e34bf29b14f99fe8957910aaf85698">01838</a> <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>() {}
  800. <a name="l01839"></a>01839
  801. <a name="l01840"></a>01840
  802. <a name="l01844"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#da15fe26df2b98b5f299c2615494178a">01844</a> <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getSkirtSize() { <span class="keywordflow">return</span> mSkirtSize; }
  803. <a name="l01850"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#1edb0e8e24ef3f8d7ef698b88eb97613">01850</a> <span class="keywordtype">void</span> setSkirtSize(<a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> skirtSz) { mSkirtSize = skirtSz; }
  804. <a name="l01852"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#4970366f178bc43e36abb96ff2905a9a">01852</a> <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; getLightMapDirection() { <span class="keywordflow">return</span> mLightMapDir; }
  805. <a name="l01854"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#4f2c45cf37eb725be27e96b39383b622">01854</a> <span class="keywordtype">void</span> setLightMapDirection(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html" title="Standard 3-dimensional vector.">Vector3</a>&amp; v) { mLightMapDir = v; }
  806. <a name="l01856"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#2596e2077147169b755a35ab523f9d52">01856</a> <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html" title="Class representing colour.">ColourValue</a>&amp; getCompositeMapAmbient() { <span class="keywordflow">return</span> mCompositeMapAmbient; }
  807. <a name="l01858"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#0db83e224e43b4b2139d98d7682fd537">01858</a> <span class="keywordtype">void</span> setCompositeMapAmbient(<span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html" title="Class representing colour.">ColourValue</a>&amp; c) { mCompositeMapAmbient = c; }
  808. <a name="l01860"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#4e1f1887845a1805bd77009d5d654d9b">01860</a> <span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html" title="Class representing colour.">ColourValue</a>&amp; getCompositeMapDiffuse() { <span class="keywordflow">return</span> mCompositeMapDiffuse; }
  809. <a name="l01862"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#39b7fdcd9e04c019bf99409ef55d855a">01862</a> <span class="keywordtype">void</span> setCompositeMapDiffuse(<span class="keyword">const</span> <a class="code" href="classOgre_1_1ColourValue.html" title="Class representing colour.">ColourValue</a>&amp; c) { mCompositeMapDiffuse = c; }
  810. <a name="l01864"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a1a40efe1cbde70bd9e12dd112eb6950">01864</a> <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getCompositeMapDistance() { <span class="keywordflow">return</span> mCompositeMapDistance; }
  811. <a name="l01866"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a80e448823ce5fff95245461f87d9927">01866</a> <span class="keywordtype">void</span> setCompositeMapDistance(<a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> c) { mCompositeMapDistance = c; }
  812. <a name="l01867"></a>01867
  813. <a name="l01868"></a>01868
  814. <a name="l01872"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#ba7e519a435770e1818c4ea134585c8a">01872</a> <span class="keywordtype">bool</span> getCastsDynamicShadows() { <span class="keywordflow">return</span> mCastsShadows; }
  815. <a name="l01873"></a>01873
  816. <a name="l01879"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#9cdb0627494bf2d153ec2ffde2484bda">01879</a> <span class="keywordtype">void</span> setCastsDynamicShadows(<span class="keywordtype">bool</span> s) { mCastsShadows = s; }
  817. <a name="l01880"></a>01880
  818. <a name="l01882"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#a4fd9f5c7f09577f8c3ba4a37e403327">01882</a> <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getMaxPixelError() { <span class="keywordflow">return</span> mMaxPixelError; }
  819. <a name="l01883"></a>01883
  820. <a name="l01889"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#17a76921b32eaa417b109a811f2c4c81">01889</a> <span class="keywordtype">void</span> setMaxPixelError(<a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> pixerr) { mMaxPixelError = pixerr; }
  821. <a name="l01890"></a>01890
  822. <a name="l01892"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#d7300d141adf26bfe5d9444b4bacfc1a">01892</a> <a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> getRenderQueueGroup(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> mRenderQueueGroup; }
  823. <a name="l01897"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#e2c546b4465ef1e321f2cbc1895c4227">01897</a> <span class="keywordtype">void</span> setRenderQueueGroup(<a class="code" href="namespaceOgre.html#119732ea9d1e88bbddc47b4ac0fa21cb">uint8</a> grp) { mRenderQueueGroup = grp; }
  824. <a name="l01898"></a>01898
  825. <a name="l01900"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#3338343db08588f71d1661d9578c1959">01900</a> <a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> getVisibilityFlags(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> mVisibilityFlags; }
  826. <a name="l01905"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#8b7b87457f57b14e1dce2d023a0229d8">01905</a> <span class="keywordtype">void</span> setVisibilityFlags(<a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> flags) { mVisibilityFlags = flags; }
  827. <a name="l01906"></a>01906
  828. <a name="l01911"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#7194f2b178f46f69211d630d081624a7">01911</a> <span class="keywordtype">void</span> setQueryFlags(<a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> flags) { mQueryFlags = flags; }
  829. <a name="l01914"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#9c8b745da6fe11ad3ee9dba59ec3a22c">01914</a> <a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> getQueryFlags(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> mQueryFlags; }
  830. <a name="l01915"></a>01915
  831. <a name="l01917"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#accc644a84e01e88954086048502a7e1">01917</a> <span class="keywordtype">void</span> addQueryFlags(<a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> flags) { mQueryFlags |= flags; }
  832. <a name="l01918"></a>01918
  833. <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>
  834. <a name="l01920"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#e7612bb654507fd6f0e148adca85aa41">01920</a> <span class="keywordtype">void</span> removeQueryFlags(<a class="code" href="namespaceOgre.html#df2a0cf2e77143b5ee1d38a75e289545">uint32</a> flags) { mQueryFlags &amp;= ~flags; }
  835. <a name="l01921"></a>01921
  836. <a name="l01926"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#d678de425733b52b496865e6018af14c">01926</a> <span class="keywordtype">bool</span> getUseRayBoxDistanceCalculation() { <span class="keywordflow">return</span> mUseRayBoxDistanceCalculation; }
  837. <a name="l01927"></a>01927
  838. <a name="l01939"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#405c05d36af7a415b4aadf05492976de">01939</a> <span class="keywordtype">void</span> setUseRayBoxDistanceCalculation(<span class="keywordtype">bool</span> rb) { mUseRayBoxDistanceCalculation = rb; }
  839. <a name="l01940"></a>01940
  840. <a name="l01943"></a>01943 <a class="code" href="classOgre_1_1SharedPtr.html" title="Reference-counted shared pointer, used for objects where implicit destruction is...">TerrainMaterialGeneratorPtr</a> getDefaultMaterialGenerator();
  841. <a name="l01944"></a>01944
  842. <a name="l01947"></a>01947 <span class="keywordtype">void</span> setDefaultMaterialGenerator(<a class="code" href="classOgre_1_1SharedPtr.html" title="Reference-counted shared pointer, used for objects where implicit destruction is...">TerrainMaterialGeneratorPtr</a> gen);
  843. <a name="l01948"></a>01948
  844. <a name="l01951"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#f5ec15d4f51befb9a090a6d324a7c7e4">01951</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getLayerBlendMapSize() { <span class="keywordflow">return</span> mLayerBlendMapSize; }
  845. <a name="l01952"></a>01952
  846. <a name="l01957"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#629f5b31ac27bc8b19d0dcf9ddc9bc9f">01957</a> <span class="keywordtype">void</span> setLayerBlendMapSize(<a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> sz) { mLayerBlendMapSize = sz;}
  847. <a name="l01958"></a>01958
  848. <a name="l01961"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#1a5ff50b06cecc9f8d2adb12de40c5a9">01961</a> <a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> getDefaultLayerTextureWorldSize() { <span class="keywordflow">return</span> mDefaultLayerTextureWorldSize; }
  849. <a name="l01962"></a>01962
  850. <a name="l01965"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#6ee9f93b4bdb72f8de6562192db22dad">01965</a> <span class="keywordtype">void</span> setDefaultLayerTextureWorldSize(<a class="code" href="namespaceOgre.html#a3a7b6dfb905e6572d62f0dfa3d4274d" title="Software floating point type.">Real</a> sz) { mDefaultLayerTextureWorldSize = sz; }
  851. <a name="l01966"></a>01966
  852. <a name="l01969"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#34823e51390646c43c5ef6903f487ab8">01969</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getDefaultGlobalColourMapSize() { <span class="keywordflow">return</span> mDefaultGlobalColourMapSize; }
  853. <a name="l01970"></a>01970
  854. <a name="l01974"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#67dd1f4bf48968238e845e2939d744a0">01974</a> <span class="keywordtype">void</span> setDefaultGlobalColourMapSize(<a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> sz) { mDefaultGlobalColourMapSize = sz;}
  855. <a name="l01975"></a>01975
  856. <a name="l01976"></a>01976
  857. <a name="l01979"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#d8f94831d429041e4227ec4bf2944fa8">01979</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getLightMapSize() { <span class="keywordflow">return</span> mLightmapSize; }
  858. <a name="l01980"></a>01980
  859. <a name="l01983"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#62aaf2d6a7c072adadbacc3c517351f9">01983</a> <span class="keywordtype">void</span> setLightMapSize(<a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> sz) { mLightmapSize = sz;}
  860. <a name="l01984"></a>01984
  861. <a name="l01987"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#e845633ae80395b2497a67de8189f470">01987</a> <a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> getCompositeMapSize() { <span class="keywordflow">return</span> mCompositeMapSize; }
  862. <a name="l01988"></a>01988
  863. <a name="l01991"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#0d449a2ed56acd7959eb5fc7d894025c">01991</a> <span class="keywordtype">void</span> setCompositeMapSize(<a class="code" href="namespaceOgre.html#a8263b218e7d187ad5ef03a73a6ad7fd">uint16</a> sz) { mCompositeMapSize = sz;}
  864. <a name="l01992"></a>01992
  865. <a name="l01995"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#0aeba371e3e83537d3269e0da4a476b9">01995</a> <span class="keywordtype">void</span> setDefaultResourceGroup(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#f73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; grp) { mResourceGroup = grp; }
  866. <a name="l01996"></a>01996
  867. <a name="l01999"></a><a class="code" href="classOgre_1_1TerrainGlobalOptions.html#b7560bd7fe9ebb5b9cee22e7a34f4143">01999</a> <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#f73bbdc8bed8a3e6fcd56bb8fa188c45">String</a>&amp; getDefaultResourceGroup() { <span class="keywordflow">return</span> mResourceGroup; }
  868. <a name="l02000"></a>02000
  869. <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>);
  870. <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>);
  871. <a name="l02033"></a>02033
  872. <a name="l02034"></a>02034
  873. <a name="l02035"></a>02035 };
  874. <a name="l02036"></a>02036
  875. <a name="l02037"></a>02037
  876. <a name="l02040"></a>02040 }
  877. <a name="l02041"></a>02041
  878. <a name="l02042"></a>02042
  879. <a name="l02043"></a>02043
  880. <a name="l02044"></a>02044
  881. <a name="l02045"></a>02045 <span class="preprocessor">#endif </span>
  882. </pre></div></div>
  883. <hr>
  884. <p>
  885. Copyright &copy; 2008 Torus Knot Software Ltd<br />
  886. <!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights20.png"/></a><br/>
  887. This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License</a>.<br/>
  888. <!--/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#">
  889. <Work rdf:about="">
  890. <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
  891. <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
  892. </Work>
  893. <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> -->
  894. Last modified Sat Apr 24 18:00:40 2010
  895. </p>
  896. </body>
  897. </html>