source: OGRE/trunk/ogrenew/Docs/api/html/OgreTerrainSceneManager_8h-source.html @ 657

Revision 657, 21.2 KB checked in by mattausch, 18 years ago (diff)

added ogre dependencies and patched ogre sources

Line 
1<html>
2<head>
3<title>OgreTerrainSceneManager.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="style.css">
5</head>
6
7<body>
8<!-- Generated by Doxygen 1.3.6 -->
9<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
10<h1>OgreTerrainSceneManager.h</h1><a href="OgreTerrainSceneManager_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
1100002 <span class="comment">-----------------------------------------------------------------------------</span>
1200003 <span class="comment">This source file is part of OGRE</span>
1300004 <span class="comment">(Object-oriented Graphics Rendering Engine)</span>
1400005 <span class="comment">For the latest info, see http://www.ogre3d.org/</span>
1500006 <span class="comment"></span>
1600007 <span class="comment">Copyright (c) 2000-2005 The OGRE Team</span>
1700008 <span class="comment">Also see acknowledgements in Readme.html</span>
1800009 <span class="comment"></span>
1900010 <span class="comment">This program is free software; you can redistribute it and/or modify it under</span>
2000011 <span class="comment">the terms of the GNU Lesser General Public License as published by the Free Software</span>
2100012 <span class="comment">Foundation; either version 2 of the License, or (at your option) any later</span>
2200013 <span class="comment">version.</span>
2300014 <span class="comment"></span>
2400015 <span class="comment">This program is distributed in the hope that it will be useful, but WITHOUT</span>
2500016 <span class="comment">ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS</span>
2600017 <span class="comment">FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</span>
2700018 <span class="comment"></span>
2800019 <span class="comment">You should have received a copy of the GNU Lesser General Public License along with</span>
2900020 <span class="comment">this program; if not, write to the Free Software Foundation, Inc., 59 Temple</span>
3000021 <span class="comment">Place - Suite 330, Boston, MA 02111-1307, USA, or go to</span>
3100022 <span class="comment">http://www.gnu.org/copyleft/lesser.txt.</span>
3200023 <span class="comment">-----------------------------------------------------------------------------</span>
3300024 <span class="comment">*/</span>
3400025 <span class="comment">/***************************************************************************</span>
3500026 <span class="comment">terrainscenemanager.h  -  description</span>
3600027 <span class="comment">---------------------</span>
3700028 <span class="comment">  begin                : Mon Sep 23 2002</span>
3800029 <span class="comment">  copyright            : (C) 2002 by Jon Anderson</span>
3900030 <span class="comment">  email                : janders@users.sf.net</span>
4000031 <span class="comment"></span>
4100032 <span class="comment">  Enhancements 2003 - 2004 (C) The OGRE Team</span>
4200033 <span class="comment"></span>
4300034 <span class="comment">***************************************************************************/</span>
4400035
4500036 <span class="preprocessor">#ifndef TERRAINSCENEMANAGER_H</span>
4600037 <span class="preprocessor"></span><span class="preprocessor">#define TERRAINSCENEMANAGER_H</span>
4700038 <span class="preprocessor"></span>
4800039 <span class="preprocessor">#include "<a class="code" href="OgreTerrainPrerequisites_8h.html">OgreTerrainPrerequisites.h</a>"</span>
4900040 <span class="preprocessor">#include "<a class="code" href="OgreOctreeSceneManager_8h.html">OgreOctreeSceneManager.h</a>"</span>
5000041 <span class="preprocessor">#include "<a class="code" href="OgreOctreeSceneQuery_8h.html">OgreOctreeSceneQuery.h</a>"</span>
5100042 <span class="preprocessor">#include "<a class="code" href="OgreTerrainRenderable_8h.html">OgreTerrainRenderable.h</a>"</span>
5200043 <span class="preprocessor">#include "<a class="code" href="OgreTerrainPageSource_8h.html">OgreTerrainPageSource.h</a>"</span>
5300044 <span class="preprocessor">#include "<a class="code" href="OgreIteratorWrappers_8h.html">OgreIteratorWrappers.h</a>"</span>
5400045
5500046
5600047 <span class="keyword">namespace </span>Ogre
5700048 {
5800049
5900050 <span class="keyword">class </span>Image;
6000051
61<a name="l00052"></a><a class="code" href="namespaceOgre.html#a565">00052</a> <span class="keyword">typedef</span> std::vector &lt; TerrainPage * &gt; <a class="code" href="namespaceOgre.html#a565">TerrainPageRow</a>;
62<a name="l00053"></a><a class="code" href="namespaceOgre.html#a566">00053</a> <span class="keyword">typedef</span> std::vector &lt; TerrainPageRow &gt; <a class="code" href="namespaceOgre.html#a566">TerrainPage2D</a>;
6300054
64<a name="l00056"></a><a class="code" href="classOgre_1_1TerrainRaySceneQuery.html">00056</a> <span class="keyword">class </span><a class="code" href="OgreTerrainPrerequisites_8h.html#a0">_OgreTerrainExport</a> TerrainRaySceneQuery : <span class="keyword">public</span> <a class="code" href="classOgre_1_1OctreeRaySceneQuery.html">OctreeRaySceneQuery</a>
6500057 {
6600058 <span class="keyword">public</span>:
6700059     TerrainRaySceneQuery(<a class="code" href="classOgre_1_1SceneManager.html">SceneManager</a>* creator);
6800060     ~TerrainRaySceneQuery();
6900061
7000063     <span class="keywordtype">void</span> execute(<a class="code" href="classOgre_1_1RaySceneQueryListener.html">RaySceneQueryListener</a>* listener);
7100064 };
7200065
7300066
7400067
75<a name="l00073"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html">00073</a> <span class="keyword">class </span><a class="code" href="class__OgreTerrainExport.html">_OgreTerrainExport</a> TerrainSceneManager : <span class="keyword">public</span> <a class="code" href="classOgre_1_1OctreeSceneManager.html">OctreeSceneManager</a>
7600074 {
7700075 <span class="keyword">public</span>:
7800076     TerrainSceneManager( );
7900077     <span class="keyword">virtual</span> ~TerrainSceneManager( );
8000078
8100080     <span class="keywordtype">void</span> setWorldGeometry( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; filename );
8200081
8300083     <span class="keyword">virtual</span> <span class="keywordtype">void</span> _renderVisibleObjects( <span class="keywordtype">void</span> );
8400084
8500086     <span class="keywordtype">float</span> getHeightAt( <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y );
8600087
8700088
8800089     <span class="keywordtype">bool</span> intersectSegment( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> &amp; start, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> &amp; end, <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> * result );
8900090
9000092     <span class="keywordtype">void</span> setWorldTexture(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; textureName);
9100094     <span class="keywordtype">void</span> setDetailTexture(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; textureName);
9200096     <span class="keywordtype">void</span> setDetailTextureRepeat(<span class="keywordtype">int</span> repeat);
9300098     <span class="keywordtype">void</span> setTileSize(<span class="keywordtype">int</span> size);
9400100     <span class="keywordtype">void</span> setPageSize(<span class="keywordtype">int</span> size);
9500102     <span class="keywordtype">void</span> setMaxPixelError(<span class="keywordtype">int</span> pixelError);
9600104     <span class="keywordtype">void</span> setScale(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; scale);
9700106     <span class="keywordtype">void</span> setMaxGeoMipMapLevel(<span class="keywordtype">int</span> maxMip);
9800107     
99<a name="l00109"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagera14">00109</a>     <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; getWorldTexture(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> mWorldTextureName; }
100<a name="l00111"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagera15">00111</a>     <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; getDetailTexture(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> mDetailTextureName; }
10100113     <span class="keywordtype">int</span> getDetailTextureRepeat(<span class="keywordtype">void</span>);
10200115     <span class="keywordtype">int</span> getTileSize(<span class="keywordtype">void</span>);
10300117     <span class="keywordtype">int</span> getPageSize(<span class="keywordtype">void</span>);
10400119     <span class="keywordtype">int</span> getMaxPixelError(<span class="keywordtype">void</span>);
10500121     <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; getScale(<span class="keywordtype">void</span>);
10600123     <span class="keywordtype">int</span> getMaxGeoMipMapLevel(<span class="keywordtype">void</span>);
10700124
10800125
10900126
11000131     <span class="keywordtype">void</span> setUseTriStrips(<span class="keywordtype">bool</span> useStrips);
11100134     <span class="keywordtype">void</span> setUseLODMorph(<span class="keywordtype">bool</span> useMorph);
11200136     <span class="keywordtype">void</span> setUseVertexNormals(<span class="keywordtype">bool</span> useNormals);
11300138     <span class="keywordtype">void</span> setUseVertexColours(<span class="keywordtype">bool</span> useColours);
11400139
11500165     <span class="keywordtype">void</span> setCustomMaterial(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; materialName);
11600184     <span class="keywordtype">void</span> setCustomMaterialMorphFactorParam(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; paramName);
11700203     <span class="keywordtype">void</span> setCustomMaterialMorphFactorParam(size_t paramIndex);
11800206     <span class="keywordtype">void</span> setLODMorphStart(<a class="code" href="namespaceOgre.html#a420">Real</a> morphStart);
11900207
12000211     <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1TerrainRenderable.html">TerrainRenderable</a> * getTerrainTile( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> &amp; pt );
12100212
12200216     <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1TerrainPage.html">TerrainPage</a>* getTerrainPage( <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> &amp; pt );
12300217
12400230     <a class="code" href="classOgre_1_1RaySceneQuery.html">RaySceneQuery</a>*
12500231         createRayQuery(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Ray.html">Ray</a>&amp; ray, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mask = 0xFFFFFFFF);
12600232
12700236     <a class="code" href="classOgre_1_1Camera.html">Camera</a>* createCamera( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a> &amp;name );
128<a name="l00238"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagere0">00238</a>     <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classOgre_1_1TerrainOptions.html">TerrainOptions</a>&amp; getOptions(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> mOptions; }
12900239
13000261     <span class="keyword">virtual</span> <span class="keywordtype">bool</span> setOption( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a> &amp;, <span class="keyword">const</span> <span class="keywordtype">void</span> * );
13100262
13200266     <span class="keyword">virtual</span> <span class="keywordtype">void</span> setPrimaryCamera(<span class="keyword">const</span> <a class="code" href="classOgre_1_1Camera.html">Camera</a>* cam);
133<a name="l00268"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerw0">00268</a>     <span class="keyword">typedef</span> std::map&lt;String, TerrainPageSource*&gt; <a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerw0">PageSourceMap</a>;
13400269
135<a name="l00271"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerw1">00271</a>     <span class="keyword">typedef</span> <a class="code" href="classOgre_1_1ConstMapIterator.html">ConstMapIterator&lt;PageSourceMap&gt;</a> <a class="code" href="classOgre_1_1ConstMapIterator.html">PageSourceIterator</a>;
13600273     <a class="code" href="classOgre_1_1ConstMapIterator.html">PageSourceIterator</a> getPageSourceIterator(<span class="keywordtype">void</span>);
13700286     <span class="keyword">virtual</span> <span class="keywordtype">void</span> registerPageSource(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; typeName, <a class="code" href="classOgre_1_1TerrainPageSource.html">TerrainPageSource</a>* source);
13800297     <span class="keyword">virtual</span> <span class="keywordtype">void</span> selectPageSource(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; typeName,
13900298         <a class="code" href="namespaceOgre.html#a561">TerrainPageSourceOptionList</a>&amp; optionList);
14000299
14100310     <span class="keyword">virtual</span> <span class="keywordtype">void</span> attachPage(<a class="code" href="namespaceOgre.html#a422">ushort</a> pageX, <a class="code" href="namespaceOgre.html#a422">ushort</a> pageZ, <a class="code" href="classOgre_1_1TerrainPage.html">TerrainPage</a>* page);
14200312     <a class="code" href="classOgre_1_1MaterialPtr.html">MaterialPtr</a>&amp; getTerrainMaterial(<span class="keywordtype">void</span>);
14300313     <span class="comment">// Overridden from basic scene manager</span>
14400314     <span class="keywordtype">void</span> _renderScene(<a class="code" href="classOgre_1_1Camera.html">Camera</a> *cam, <a class="code" href="classOgre_1_1Viewport.html">Viewport</a> *vp, <span class="keywordtype">bool</span> includeOverlays);
14500315
146<a name="l00317"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagera42">00317</a>     <a class="code" href="classOgre_1_1SceneNode.html">SceneNode</a>* getTerrainRootNode(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mTerrainRoot; }
14700319     <span class="keywordtype">void</span> clearScene(<span class="keywordtype">void</span>);
14800321     <span class="keywordtype">void</span> setWorldGeometryRenderQueue(RenderQueueGroupID qid);
14900322
15000324     <span class="keywordtype">void</span> shutdown(<span class="keywordtype">void</span>);
15100325
15200326
15300327 <span class="keyword">protected</span>:
15400328
155<a name="l00330"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerb0">00330</a>     <span class="keywordtype">bool</span> _checkSize( <span class="keywordtype">int</span> s )
15600331     {
15700332         <span class="keywordflow">for</span> ( <span class="keywordtype">int</span> i = 0; i &lt; 16; i++ )
15800333         {
15900334             printf( <span class="stringliteral">"Checking...%d\n"</span>, ( 1 &lt;&lt; i ) + 1 );
16000335
16100336             <span class="keywordflow">if</span> ( s == ( 1 &lt;&lt; i ) + 1 )
16200337                 <span class="keywordflow">return</span> <span class="keyword">true</span>;
16300338         }
16400339
16500340         <span class="keywordflow">return</span> <span class="keyword">false</span>;
16600341
16700342     }
16800343
169<a name="l00345"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerp0">00345</a>     <a class="code" href="classOgre_1_1SceneNode.html">SceneNode</a> * mTerrainRoot;
170<a name="l00347"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagert0">00347</a>     <span class="keyword">static</span> <a class="code" href="classOgre_1_1TerrainOptions.html">TerrainOptions</a> mOptions;
171<a name="l00349"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerp1">00349</a>     <span class="keywordtype">bool</span> mUseCustomMaterial;
172<a name="l00351"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerp2">00351</a>     <a class="code" href="namespaceOgre.html#a426">String</a> mCustomMaterialName;
173<a name="l00353"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerp3">00353</a>     <a class="code" href="namespaceOgre.html#a426">String</a> mWorldTextureName;
174<a name="l00355"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerp4">00355</a>     <a class="code" href="namespaceOgre.html#a426">String</a> mDetailTextureName;
175<a name="l00357"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerp5">00357</a>     <span class="keywordtype">bool</span> mUseNamedParameterLodMorph;
176<a name="l00359"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerp6">00359</a>     <a class="code" href="namespaceOgre.html#a426">String</a> mLodMorphParamName;
177<a name="l00361"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerp7">00361</a>     size_t mLodMorphParamIndex;
178<a name="l00363"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerp8">00363</a>     <span class="keywordtype">bool</span> mPagingEnabled;
179<a name="l00365"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerp9">00365</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> mLivePageMargin;
180<a name="l00367"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerp10">00367</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> mBufferedPageMargin;
181<a name="l00369"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerp11">00369</a>     <a class="code" href="namespaceOgre.html#a566">TerrainPage2D</a> mTerrainPages;
18200370     
18300372     <span class="keywordtype">void</span> loadConfig(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; filename);
18400373
18500375     <span class="keywordtype">void</span> setupTerrainMaterial(<span class="keywordtype">void</span>);
18600377     <span class="keywordtype">void</span> setupTerrainPages(<span class="keywordtype">void</span>);
18700378
18800379
189<a name="l00381"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerp12">00381</a>     <a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerw0">PageSourceMap</a> mPageSources;
190<a name="l00383"></a><a class="code" href="classOgre_1_1TerrainSceneManager.html#Ogre_1_1TerrainSceneManagerp13">00383</a>     <a class="code" href="classOgre_1_1TerrainPageSource.html">TerrainPageSource</a>* mActivePageSource;
19100384
19200385 };
19300386
19400387 }
19500388
19600389 <span class="preprocessor">#endif</span>
197</pre></div><hr>
198<p>
199Copyright &copy; 2000-2005 by The OGRE Team<br />
200<!--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/>
201This 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/>
202                <!--/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#">
203                <Work rdf:about="">
204                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
205        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
206                </Work>
207                <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> -->
208
209Last modified Sun Feb 12 12:59:53 2006
210</p>
211</body>
212</html>
Note: See TracBrowser for help on using the repository browser.