Sophie

Sophie

distrib > Mandriva > 10.0-com > i586 > by-pkgid > 06719cf03808e17ae6f0852ca1052dc2 > files > 1317

libogre1-devel-0.13.0-1mdk.i586.rpm

<html>
<head>
<title>OgreTerrainRenderable.h Source File - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<link type="text/css" rel="stylesheet" href="style.css">
</head>

<body>
<!-- Generated by Doxygen 1.2.16 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>OgreTerrainRenderable.h</h1><a href="OgreTerrainRenderable_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/***************************************************************************</font>
00002 <font class="comment">                        terrainrenderable.h  -  description</font>
00003 <font class="comment">                           -------------------</font>
00004 <font class="comment">  begin                : Sat Oct 5 2002</font>
00005 <font class="comment">  copyright            : (C) 2002 by Jon Anderson</font>
00006 <font class="comment">  email                : janders@users.sf.net</font>
00007 <font class="comment">***************************************************************************/</font>
00008 
00009 <font class="comment">/***************************************************************************</font>
00010 <font class="comment"> *                                                                         *</font>
00011 <font class="comment"> *   This program is free software; you can redistribute it and/or modify  *</font>
00012 <font class="comment"> *   it under the terms of the GNU Lesser General Public License as published by  *</font>
00013 <font class="comment"> *   the Free Software Foundation; either version 2 of the License, or     *</font>
00014 <font class="comment"> *   (at your option) any later version.                                   *</font>
00015 <font class="comment"> *                                                                         *</font>
00016 <font class="comment"> ***************************************************************************/</font>
00017 
00018 <font class="preprocessor">#ifndef TERRAINRENDERABLE_H</font>
00019 <font class="preprocessor"></font><font class="preprocessor">#define TERRAINRENDERABLE_H</font>
00020 <font class="preprocessor"></font>
00021 <font class="preprocessor">#include &lt;<a class="code" href="OgreRenderable_8h.html">OgreRenderable.h</a>&gt;</font>
00022 <font class="preprocessor">#include &lt;<a class="code" href="OgreMovableObject_8h.html">OgreMovableObject.h</a>&gt;</font>
00023 <font class="preprocessor">#include &lt;<a class="code" href="OgreAxisAlignedBox_8h.html">OgreAxisAlignedBox.h</a>&gt;</font>
00024 <font class="preprocessor">#include &lt;<a class="code" href="OgreString_8h.html">OgreString.h</a>&gt;</font>
00025 <font class="preprocessor">#include &lt;<a class="code" href="OgreHardwareBufferManager_8h.html">OgreHardwareBufferManager.h</a>&gt;</font>
00026 
00027 <font class="preprocessor">#include &lt;vector&gt;</font>
00028 
00029 <font class="keyword">namespace </font>Ogre
00030 {
00031 
<a name="l00032"></a><a class="code" href="namespaceOgre.html#a472">00032</a> <font class="keyword">typedef</font> std::vector &lt; IndexData* &gt; <a class="code" href="namespaceOgre.html#a472">IndexArray</a>;
<a name="l00033"></a><a class="code" href="namespaceOgre.html#a473">00033</a> <font class="keyword">typedef</font> std::vector &lt; IndexArray &gt; <a class="code" href="namespaceOgre.html#a473">LevelArray</a>;
00034 
<a name="l00039"></a><a class="code" href="classOgre_1_1TerrainBufferCache.html">00039</a> <font class="keyword">class </font><a class="code" href="classOgre_1_1TerrainBufferCache.html">TerrainBufferCache</a>
00040 {
00041 <font class="keyword">public</font>:
<a name="l00042"></a><a class="code" href="classOgre_1_1TerrainBufferCache.html#Ogre_1_1TerrainBufferCachea0">00042</a>     <a class="code" href="classOgre_1_1TerrainBufferCache.html#Ogre_1_1TerrainBufferCachea0">~TerrainBufferCache</a>()
00043     {
00044         <font class="keywordflow">for</font>( size_t i=0; i&lt;<a class="code" href="classOgre_1_1TerrainBufferCache.html#Ogre_1_1TerrainBufferCachem0">mCache</a>.size(); i++ )
00045         {
00046             <font class="keyword">delete</font> <a class="code" href="classOgre_1_1TerrainBufferCache.html#Ogre_1_1TerrainBufferCachem0">mCache</a>[i];
00047         }
00048     }
00049 
<a name="l00050"></a><a class="code" href="classOgre_1_1TerrainBufferCache.html#Ogre_1_1TerrainBufferCachem0">00050</a>     <a class="code" href="namespaceOgre.html#a472">IndexArray</a> <a class="code" href="classOgre_1_1TerrainBufferCache.html#Ogre_1_1TerrainBufferCachem0">mCache</a>;
00051 };
00052 
<a name="l00053"></a><a class="code" href="namespaceOgre.html#a580">00053</a> <font class="keyword">inline</font> <a class="code" href="namespaceOgre.html#a349">Real</a> <a class="code" href="namespaceOgre.html#a580">_max</a>( <a class="code" href="namespaceOgre.html#a349">Real</a> x, <a class="code" href="namespaceOgre.html#a349">Real</a> y )
00054 {
00055     <font class="keywordflow">return</font> ( x &gt; y ) ? x : y;
00056 }
00057 
<a name="l00062"></a><a class="code" href="classOgre_1_1TerrainOptions.html">00062</a> <font class="keyword">class </font><a class="code" href="classOgre_1_1TerrainOptions.html">TerrainOptions</a>
00063 {
00064 <font class="keyword">public</font>:
<a name="l00065"></a><a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsa0">00065</a>     <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsa0">TerrainOptions</a>()
00066     {
00067         <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm0">data</a> = 0;
00068         <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm1">size</a> = 0;
00069         <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm2">world_size</a> = 0;
00070         <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm3">startx</a> = 0;
00071         <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm4">startz</a> = 0;
00072         <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm5">max_mipmap</a> = 0;
00073         <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm6">scalex</a> = 1;
00074         <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm7">scaley</a> = 1;
00075         <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm8">scalez</a> = 1;
00076         <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm9">max_pixel_error</a> = 4;
00077         <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm11">vert_res</a> = 768;
00078         <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm13">top_coord</a> = 1;
00079         <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm10">near_plane</a> = 1;
00080         <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm12">detail_tile</a> = 1;
00081         <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm14">lit</a> = <font class="keyword">false</font>;
00082         <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm15">colored</a> = <font class="keyword">false</font>;
00083     };
00084 
00085 
<a name="l00086"></a><a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsa1">00086</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsa1">_worldheight</a>( <font class="keywordtype">int</font> x, <font class="keywordtype">int</font> z )
00087     {
00088         <font class="keywordflow">return</font> <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm0">data</a>[ ( ( z * <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm2">world_size</a> ) + x ) ];
00089     };
00090 
<a name="l00091"></a><a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm0">00091</a>     <font class="keyword">const</font> <a class="code" href="namespaceOgre.html#a350">uchar</a> * <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm0">data</a>;     <font class="comment">//pointer to the world 2D data.</font>
<a name="l00092"></a><a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm1">00092</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm1">size</a>;         <font class="comment">//size of this square block</font>
<a name="l00093"></a><a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm2">00093</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm2">world_size</a>;   <font class="comment">//size of the world.</font>
<a name="l00094"></a><a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm3">00094</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm3">startx</a>;
<a name="l00095"></a><a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm4">00095</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm4">startz</a>; <font class="comment">//starting coords of this block.</font>
<a name="l00096"></a><a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm5">00096</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm5">max_mipmap</a>;  <font class="comment">//max mip_map level</font>
<a name="l00097"></a><a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm8">00097</a>     <font class="keywordtype">float</font> <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm6">scalex</a>, <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm7">scaley</a>, <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm8">scalez</a>;
00098 
<a name="l00099"></a><a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm9">00099</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm9">max_pixel_error</a>;
<a name="l00100"></a><a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm10">00100</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm10">near_plane</a>;
<a name="l00101"></a><a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm11">00101</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm11">vert_res</a>;
<a name="l00102"></a><a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm12">00102</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm12">detail_tile</a>;
<a name="l00103"></a><a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm13">00103</a>     <font class="keywordtype">float</font> <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm13">top_coord</a>;
00104 
<a name="l00105"></a><a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm14">00105</a>     <font class="keywordtype">bool</font> <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm14">lit</a>;
<a name="l00106"></a><a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm15">00106</a>     <font class="keywordtype">bool</font> <a class="code" href="classOgre_1_1TerrainOptions.html#Ogre_1_1TerrainOptionsm15">colored</a>;
00107 
00108 };
00109 
<a name="l00110"></a><a class="code" href="OgreTerrainRenderable_8h.html#a0">00110</a> <font class="preprocessor">#define TILE_NORTH  0x00000001</font>
<a name="l00111"></a><a class="code" href="OgreTerrainRenderable_8h.html#a1">00111</a> <font class="preprocessor"></font><font class="preprocessor">#define TILE_SOUTH  0x00000002</font>
<a name="l00112"></a><a class="code" href="OgreTerrainRenderable_8h.html#a2">00112</a> <font class="preprocessor"></font><font class="preprocessor">#define TILE_WEST   0x00000004</font>
<a name="l00113"></a><a class="code" href="OgreTerrainRenderable_8h.html#a3">00113</a> <font class="preprocessor"></font><font class="preprocessor">#define TILE_EAST   0x00000008</font>
00114 <font class="preprocessor"></font>
<a name="l00123"></a><a class="code" href="classOgre_1_1TerrainRenderable.html">00123</a> <font class="keyword">class </font><a class="code" href="classOgre_1_1TerrainRenderable.html">TerrainRenderable</a> : <font class="keyword">public</font> <a class="code" href="classOgre_1_1Renderable.html">Renderable</a>, <font class="keyword">public</font> <a class="code" href="classOgre_1_1MovableObject.html">MovableObject</a>
00124 {
00125 <font class="keyword">public</font>:
00126 
00127     <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea0">TerrainRenderable</a>();
00128     <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea1">~TerrainRenderable</a>();
00129 
00130     <font class="keywordtype">void</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea2">deleteGeometry</a>();
00131 
<a name="l00132"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderables5">00132</a>     <font class="keyword">enum</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderables5">Neighbor</a>
00133     {
00134         <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderables5Ogre_1_1TerrainRenderables0">NORTH</a> = 0,
00135         <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderables5Ogre_1_1TerrainRenderables1">SOUTH</a> = 1,
00136         <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderables5Ogre_1_1TerrainRenderables2">EAST</a> = 2,
00137         <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderables5Ogre_1_1TerrainRenderables3">WEST</a> = 3,
00138         <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderables5Ogre_1_1TerrainRenderables4">HERE</a> = 4
00139     };
00140 
00144     <font class="keywordtype">void</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea3">init</a>( TerrainOptions &amp;options );
00145 
00146     <font class="comment">//movable object methods</font>
<a name="l00148"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea4">00148</a> <font class="comment"></font>    <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classOgre_1_1String.html">String</a>&amp; <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea4">getName</a>( <font class="keywordtype">void</font> )<font class="keyword"> const</font>
00149 <font class="keyword">    </font>{
00150         <font class="keywordflow">return</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen10">mName</a>;
00151     };
00152 
<a name="l00154"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea5">00154</a>     <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classOgre_1_1String.html">String</a>&amp; <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea5">getMovableType</a>( <font class="keywordtype">void</font> )<font class="keyword"> const</font>
00155 <font class="keyword">    </font>{
00156         <font class="keywordflow">return</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderableq0">mType</a>;
00157     };
00158 
<a name="l00160"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea6">00160</a>     <font class="keyword">const</font> <a class="code" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a>&amp; <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea6">getBoundingBox</a>( <font class="keywordtype">void</font> )<font class="keyword"> const</font>
00161 <font class="keyword">    </font>{
00162         <font class="keywordflow">return</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen5">mBounds</a>;
00163     };
00164 
00166     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea7">_notifyCurrentCamera</a>( Camera* cam );
00167 
00168     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea8">_updateRenderQueue</a>( RenderQueue* queue );
00169 
00176     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea9">getRenderOperation</a>( RenderOperation&amp; rend );
00177 
<a name="l00178"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea10">00178</a>     <font class="keyword">virtual</font> <a class="code" href="classOgre_1_1Material.html">Material</a>* <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea10">getMaterial</a>( <font class="keywordtype">void</font> )<font class="keyword"> const</font>
00179 <font class="keyword">    </font>{
00180         <font class="keywordflow">return</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen11">mMaterial</a>;
00181     };
00182 
00183     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea11">getWorldTransforms</a>( Matrix4* xform ) <font class="keyword">const</font>;
00184 
00185     <font class="keyword">virtual</font> <font class="keyword">const</font> Quaternion&amp; <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea12">getWorldOrientation</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
00186     <font class="keyword">virtual</font> <font class="keyword">const</font> Vector3&amp; <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea13">getWorldPosition</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
00187 
<a name="l00189"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea14">00189</a>     <font class="keyword">inline</font> <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea14">getSize</a>()
00190     {
00191         <font class="keywordflow">return</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen8">mSize</a>;
00192     };
00193 
<a name="l00195"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea15">00195</a>     <font class="keyword">inline</font> <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea15">getRenderLevel</a>()
00196     {
00197         <font class="keywordflow">return</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen2">mRenderLevel</a>;
00198     };
00199 
<a name="l00201"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea16">00201</a>     <font class="keyword">inline</font> <font class="keywordtype">void</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea16">setForcedRenderLevel</a>( <font class="keywordtype">int</font> i )
00202     {
00203         <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen22">mForcedRenderLevel</a> = i;
00204     }
00205 
<a name="l00207"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea17">00207</a>     <font class="keyword">inline</font> <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea17">getNumMipMaps</a>()<font class="keyword"> const</font>
00208 <font class="keyword">    </font>{
00209         <font class="keywordflow">return</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen1">mNumMipMaps</a>;
00210     };
00211 
00213     <font class="keywordtype">void</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea18">_getNormalAt</a>( <font class="keywordtype">float</font> x, <font class="keywordtype">float</font> y, Vector3 * result );
00214 
00216     <font class="keywordtype">float</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea19">getHeightAt</a>( <font class="keywordtype">float</font> x, <font class="keywordtype">float</font> y );
00217 
00220     <font class="keywordtype">bool</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea20">intersectSegment</a>( <font class="keyword">const</font> Vector3 &amp; start, <font class="keyword">const</font> Vector3 &amp; end, Vector3 * result );
00221 
<a name="l00225"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea21">00225</a>     <font class="keywordtype">void</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea21">_setNeighbor</a>( <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderables5">Neighbor</a> n, <a class="code" href="classOgre_1_1TerrainRenderable.html">TerrainRenderable</a> *t )
00226     {
00227         <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen4">mNeighbors</a>[ n ] = t;
00228     };
00229 
<a name="l00232"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea22">00232</a>     <a class="code" href="classOgre_1_1TerrainRenderable.html">TerrainRenderable</a> * <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea22">_getNeighbor</a>( <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderables5">Neighbor</a> n )
00233     {
00234         <font class="keywordflow">return</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen4">mNeighbors</a>[ n ];
00235     }
00236 
00237 
<a name="l00238"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea23">00238</a>     <font class="keywordtype">void</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea23">setMaterial</a>( <a class="code" href="classOgre_1_1Material.html">Material</a> *m )
00239     {
00240         <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen11">mMaterial</a> = m;
00241     };
00242 
00244     <font class="keywordtype">void</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea24">_alignNeighbors</a>();
00246     <font class="keywordtype">void</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea25">_calculateNormals</a>();
00247 
00248 
00249 
00250 
00253     <font class="keywordtype">void</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea26">_generateVertexLighting</a>( <font class="keyword">const</font> Vector3 &amp;sun, ColourValue ambient );
00254 
00255 
00256     <font class="keyword">static</font> size_t <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablep0">mRenderedTris</a>;
00257 
00259     <a class="code" href="namespaceOgre.html#a349">Real</a> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea27">getSquaredViewDepth</a>(<font class="keyword">const</font> Camera* cam) <font class="keyword">const</font>;
00260 
<a name="l00262"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea28">00262</a>     <a class="code" href="namespaceOgre.html#a349">Real</a> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea28">getBoundingRadius</a>(<font class="keywordtype">void</font>)<font class="keyword"> const </font>{ <font class="keywordflow">return</font> 0; <font class="comment">/* not needed */</font> }
00263 
00265     <font class="keyword">const</font> <a class="code" href="namespaceOgre.html#a56">LightList</a>&amp; <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablea29">getLights</a>(<font class="keywordtype">void</font>) <font class="keyword">const</font>;
00266 
00267 
00268 
00269 <font class="keyword">protected</font>:
00270 
<a name="l00272"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderableb0">00272</a>     <font class="keyword">inline</font> <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderableb0">_index</a>( <font class="keywordtype">int</font> x, <font class="keywordtype">int</font> z )
00273     {
00274         <font class="keywordflow">return</font> ( x + z * <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen8">mSize</a> );
00275     };
00276 
<a name="l00278"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderableb1">00278</a>     <font class="keyword">inline</font> <font class="keywordtype">float</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderableb1">_vertex</a>( <font class="keywordtype">int</font> x, <font class="keywordtype">int</font> z, <font class="keywordtype">int</font> n )
00279     {
00280         <a class="code" href="classOgre_1_1HardwareVertexBufferSharedPtr.html">HardwareVertexBufferSharedPtr</a> vbuf = 
00281             <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen0">mTerrain</a>-&gt;<a class="code" href="classOgre_1_1VertexData.html#Ogre_1_1VertexDatam1">vertexBufferBinding</a>-&gt;<a class="code" href="classOgre_1_1VertexBufferBinding.html#Ogre_1_1VertexBufferBindinga6">getBuffer</a>(0);
00282 
00283         <a class="code" href="namespaceOgre.html#a349">Real</a> vertex = 0.0;
00284 
00285         vbuf-&gt;readData((x * 3 + z * <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen8">mSize</a> * 3 + n) * <font class="keyword">sizeof</font>(<a class="code" href="namespaceOgre.html#a349">Real</a>), <font class="keyword">sizeof</font>(<a class="code" href="namespaceOgre.html#a349">Real</a>), &amp;vertex);
00286 
00287         <font class="keywordflow">return</font> vertex;
00288       <font class="comment">/* </font>
00289 <font class="comment">        return mTerrain.pVertices[ x * 3 + z * mSize * 3 + n ];</font>
00290 <font class="comment">        */</font>
00291     };
00292 
00293 
<a name="l00294"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderableb2">00294</a>     <font class="keyword">inline</font> <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderableb2">_numNeighbors</a>()
00295     {
00296         <font class="keywordtype">int</font> n = 0;
00297 
00298         <font class="keywordflow">for</font> ( <font class="keywordtype">int</font> i = 0; i &lt; 4; i++ )
00299         {
00300             <font class="keywordflow">if</font> ( <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen4">mNeighbors</a>[ i ] != 0 )
00301                 n++;
00302         }
00303 
00304         <font class="keywordflow">return</font> n;
00305     }
00306 
<a name="l00307"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderableb3">00307</a>     <font class="keyword">inline</font> <font class="keywordtype">bool</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderableb3">_hasNeighborRenderLevel</a>( <font class="keywordtype">int</font> i )
00308     {
00309         <font class="keywordflow">for</font> ( <font class="keywordtype">int</font> j = 0; j &lt; 4; j++ )
00310         {
00311             <font class="keywordflow">if</font> ( <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen4">mNeighbors</a>[ j ] != 0 &amp;&amp; <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen4">mNeighbors</a>[ j ] -&gt;<a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen2">mRenderLevel</a> == i )
00312                 <font class="keywordflow">return</font> <font class="keyword">true</font>;;
00313         }
00314 
00315         <font class="keywordflow">return</font> <font class="keyword">false</font>;
00316 
00317     }
00318 
00319     <font class="keywordtype">void</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderableb4">_adjustRenderLevel</a>( <font class="keywordtype">int</font> i );
00320 
00321     <font class="keywordtype">void</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderableb5">_initLevelIndexes</a>();
00322 
00323     <font class="keywordtype">bool</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderableb6">_checkSize</a>( <font class="keywordtype">int</font> n );
00324 
00325     <font class="keywordtype">void</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderableb7">_calculateMinLevelDist2</a>( <a class="code" href="namespaceOgre.html#a349">Real</a> C );
00326 
00327     <a class="code" href="namespaceOgre.html#a349">Real</a> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderableb8">_calculateCFactor</a>();
00328 
<a name="l00329"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen0">00329</a>     <a class="code" href="classOgre_1_1VertexData.html">VertexData</a>* <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen0">mTerrain</a>;
00330 
<a name="l00331"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen1">00331</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen1">mNumMipMaps</a>;
<a name="l00332"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen2">00332</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen2">mRenderLevel</a>;
00333 
<a name="l00334"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen3">00334</a>     <a class="code" href="namespaceOgre.html#a349">Real</a> *<a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen3">mMinLevelDistSqr</a>;
00335 
<a name="l00336"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen4">00336</a>     <a class="code" href="classOgre_1_1TerrainRenderable.html">TerrainRenderable</a> *<a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen4">mNeighbors</a> [ 4 ];
00337 
<a name="l00338"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen5">00338</a>     <a class="code" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen5">mBounds</a>;
<a name="l00339"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen6">00339</a>     <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen6">mCenter</a>;
<a name="l00340"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen7">00340</a>     <a class="code" href="classOgre_1_1Vector3.html">Vector3</a> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen7">mScale</a>;
00341 
<a name="l00342"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen8">00342</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen8">mSize</a>;
<a name="l00343"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen9">00343</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen9">mWorldSize</a>;
00344 
<a name="l00345"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen10">00345</a>     <a class="code" href="classOgre_1_1String.html">String</a> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen10">mName</a>;
00346     <font class="keyword">static</font> <a class="code" href="classOgre_1_1String.html">String</a> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderableq0">mType</a>;
00347 
<a name="l00348"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen11">00348</a>     <a class="code" href="classOgre_1_1Material.html">Material</a> *<a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen11">mMaterial</a>;
00349 
<a name="l00350"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen12">00350</a>     <font class="keywordtype">bool</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen12">mRenderLevelChanged</a>;
<a name="l00351"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen13">00351</a>     <font class="keywordtype">bool</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen13">mInit</a>;
00352 
00353     <font class="keyword">static</font> <a class="code" href="namespaceOgre.html#a473">LevelArray</a> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderableq1">mLevelIndex</a>;
00354     <font class="keyword">static</font> <font class="keywordtype">bool</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderableq2">mLevelInit</a>;
00355 
<a name="l00356"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen14">00356</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen14">mNearPlane</a>;
<a name="l00357"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen15">00357</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen15">mMaxPixelError</a>;
<a name="l00358"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen16">00358</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen16">mVertResolution</a>;
<a name="l00359"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen17">00359</a>     <a class="code" href="namespaceOgre.html#a349">Real</a> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen17">mTopCoord</a>;
00360 
<a name="l00361"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen18">00361</a>     <a class="code" href="namespaceOgre.html#a349">Real</a> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen18">old_L</a>;
00362 
<a name="l00363"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen19">00363</a>     <a class="code" href="namespaceOgre.html#a349">Real</a> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen19">current_L</a>;
00364 
<a name="l00365"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen20">00365</a>     <font class="keywordtype">bool</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen20">mColored</a>;
<a name="l00366"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen21">00366</a>     <font class="keywordtype">bool</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen21">mLit</a>;
00367 
<a name="l00368"></a><a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen22">00368</a>     <font class="keywordtype">int</font> <a class="code" href="classOgre_1_1TerrainRenderable.html#Ogre_1_1TerrainRenderablen22">mForcedRenderLevel</a>;
00369 
00370 };
00371 
00372 }
00373 
00374 <font class="preprocessor">#endif</font>
</pre></div><p>
Copyright &copy; 2002-2003 by The OGRE Team<br />
Last modified Wed Jan 21 00:10:29 2004
</p>
</body>
</html>