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

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

added ogre dependencies and patched ogre sources

Line 
1<html>
2<head>
3<title>OgreBspSceneManager.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>OgreBspSceneManager.h</h1><a href="OgreBspSceneManager_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://ogre.sourceforge.net/</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="preprocessor">#ifndef __BspSceneManager_H__</span>
3500026 <span class="preprocessor"></span><span class="preprocessor">#define __BspSceneManager_H__</span>
3600027 <span class="preprocessor"></span>
3700028
3800029 <span class="preprocessor">#include "<a class="code" href="OgreBspPrerequisites_8h.html">OgreBspPrerequisites.h</a>"</span>
3900030 <span class="preprocessor">#include "<a class="code" href="OgreSceneManager_8h.html">OgreSceneManager.h</a>"</span>
4000031 <span class="preprocessor">#include "<a class="code" href="OgreStaticFaceGroup_8h.html">OgreStaticFaceGroup.h</a>"</span>
4100032 <span class="preprocessor">#include "<a class="code" href="OgreRenderOperation_8h.html">OgreRenderOperation.h</a>"</span>
4200033 <span class="preprocessor">#include "<a class="code" href="OgreBspLevel_8h.html">OgreBspLevel.h</a>"</span>
4300034 <span class="preprocessor">#include &lt;set&gt;</span>
4400035
4500036
4600037 <span class="keyword">namespace </span>Ogre {
4700038
4800039
49<a name="l00061"></a><a class="code" href="classOgre_1_1BspSceneManager.html">00061</a>     <span class="keyword">class </span><a class="code" href="classOgre_1_1BspSceneManager.html">BspSceneManager</a> : <span class="keyword">public</span> <a class="code" href="classOgre_1_1SceneManager.html">SceneManager</a>
5000062     {
5100063     <span class="keyword">protected</span>:
5200064
5300065         <span class="comment">// Pointer to resource manager just for singleton management</span>
54<a name="l00066"></a><a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerp0">00066</a>         <a class="code" href="classOgre_1_1BspResourceManager.html">BspResourceManager</a>* <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerp0">mBspResMgr</a>;
5500067
5600068         <span class="comment">// World geometry</span>
57<a name="l00069"></a><a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerp1">00069</a>         <a class="code" href="classOgre_1_1BspLevelPtr.html">BspLevelPtr</a> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerp1">mLevel</a>;
5800070
5900071         <span class="comment">// State variables for rendering WIP</span>
6000072         <span class="comment">// Set of face groups (by index) already included</span>
61<a name="l00073"></a><a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerx0">00073</a>         <span class="keyword">typedef</span> std::set&lt;int&gt; <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerx0">FaceGroupSet</a>;
62<a name="l00074"></a><a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerp2">00074</a>         <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerx0">FaceGroupSet</a> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerp2">mFaceGroupSet</a>;
6300075         <span class="comment">// Material -&gt; face group hashmap</span>
64<a name="l00076"></a><a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerx1">00076</a>         <span class="keyword">typedef</span> std::map&lt;Material*, std::vector&lt;StaticFaceGroup*&gt;, materialLess &gt; <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerx1">MaterialFaceGroupMap</a>;
65<a name="l00077"></a><a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerp3">00077</a>         <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerx1">MaterialFaceGroupMap</a> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerp3">mMatFaceGroupMap</a>;
6600078
67<a name="l00079"></a><a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerp4">00079</a>         <a class="code" href="classOgre_1_1RenderOperation.html">RenderOperation</a> mRenderOp;
6800080
6900081         <span class="comment">// Debugging features</span>
70<a name="l00082"></a><a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerp5">00082</a>         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerp5">mShowNodeAABs</a>;
71<a name="l00083"></a><a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerp6">00083</a>         <a class="code" href="classOgre_1_1RenderOperation.html">RenderOperation</a> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerp6">mAABGeometry</a>;
7200084
7300091         <a class="code" href="classOgre_1_1BspNode.html">BspNode</a>* <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerb0">walkTree</a>(<a class="code" href="classOgre_1_1Camera.html">Camera</a>* camera, <span class="keywordtype">bool</span> onlyShadowCasters);
7400093         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerb1">processVisibleLeaf</a>(<a class="code" href="classOgre_1_1BspNode.html">BspNode</a>* leaf, <a class="code" href="classOgre_1_1Camera.html">Camera</a>* cam, <span class="keywordtype">bool</span> onlyShadowCasters);
7500094
7600096         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerb2">cacheGeometry</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>* pIndexes, <span class="keyword">const</span> <a class="code" href="structOgre_1_1StaticFaceGroup.html">StaticFaceGroup</a>* faceGroup);
7700097
7800099         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerb3">freeMemory</a>(<span class="keywordtype">void</span>);
7900100
8000102         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerb4">addBoundingBox</a>(<span class="keyword">const</span> <a class="code" href="classOgre_1_1AxisAlignedBox.html">AxisAlignedBox</a>&amp; aab, <span class="keywordtype">bool</span> visible);
8100103
8200105         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerb5">renderStaticGeometry</a>(<span class="keywordtype">void</span>);
8300106
8400108         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerb6">clearScene</a>(<span class="keywordtype">void</span>);
8500109
8600110
87<a name="l00111"></a><a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerx2">00111</a>         <span class="keyword">typedef</span> std::set&lt;const MovableObject*&gt; <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerx2">MovablesForRendering</a>;
88<a name="l00112"></a><a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerp7">00112</a>         <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerx2">MovablesForRendering</a> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerp7">mMovablesForRendering</a>;
8900113
9000114     <span class="keyword">public</span>:
9100115         <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagera0">BspSceneManager</a>();
9200116         <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagera1">~BspSceneManager</a>();
9300117
9400119         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagera2">setWorldGeometry</a>(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; filename);
9500120
9600122         size_t <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagera3">estimateWorldGeometry</a>(<span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>&amp; filename);
9700123         
9800127         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagera4">showNodeBoxes</a>(<span class="keywordtype">bool</span> show);
9900128
10000130         <a class="code" href="structOgre_1_1ViewPoint.html">ViewPoint</a> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagera5">getSuggestedViewpoint</a>(<span class="keywordtype">bool</span> random = <span class="keyword">false</span>);
10100131
102<a name="l00132"></a><a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagera6">00132</a>         <span class="keyword">const</span> <a class="code" href="classOgre_1_1BspLevelPtr.html">BspLevelPtr</a>&amp; <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagera6">getLevel</a>(<span class="keywordtype">void</span>) {<span class="keywordflow">return</span> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagerp1">mLevel</a>; }
10300133
10400135         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagera7">_findVisibleObjects</a>(<a class="code" href="classOgre_1_1Camera.html">Camera</a>* cam, <span class="keywordtype">bool</span> onlyShadowCasters);
10500136
10600138         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagera8">_renderVisibleObjects</a>(<span class="keywordtype">void</span>);
10700139
10800141         <a class="code" href="classOgre_1_1SceneNode.html">SceneNode</a> * <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagera9">createSceneNode</a> ( <span class="keywordtype">void</span> );
10900143         <a class="code" href="classOgre_1_1SceneNode.html">SceneNode</a> * <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagera9">createSceneNode</a> ( <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a> &amp;name );
11000144
11100146         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagera11">_notifyObjectMoved</a>(<span class="keyword">const</span> <a class="code" href="classOgre_1_1MovableObject.html">MovableObject</a>* mov, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Vector3.html">Vector3</a>&amp; pos);
11200148         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagera12">_notifyObjectDetached</a>(<span class="keyword">const</span> <a class="code" href="classOgre_1_1MovableObject.html">MovableObject</a>* mov);
11300149
11400162         <span class="comment">/*</span>
11500163 <span class="comment">        virtual AxisAlignedBoxSceneQuery* </span>
11600164 <span class="comment">            createAABBQuery(const AxisAlignedBox&amp; box, unsigned long mask = 0xFFFFFFFF);</span>
11700165 <span class="comment">        */</span>
11800178         <span class="comment">/*</span>
11900179 <span class="comment">        virtual SphereSceneQuery* </span>
12000180 <span class="comment">            createSphereQuery(const Sphere&amp; sphere, unsigned long mask = 0xFFFFFFFF);</span>
12100181 <span class="comment">        */</span>
12200194         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1RaySceneQuery.html">RaySceneQuery</a>*
12300195             <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagera13">createRayQuery</a>(<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);
12400207         <span class="keyword">virtual</span> <a class="code" href="classOgre_1_1IntersectionSceneQuery.html">IntersectionSceneQuery</a>*
12500208             <a class="code" href="classOgre_1_1BspSceneManager.html#Ogre_1_1BspSceneManagera14">createIntersectionQuery</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mask = 0xFFFFFFFF);
12600209
12700210     };
12800211
129<a name="l00213"></a><a class="code" href="classOgre_1_1BspIntersectionSceneQuery.html">00213</a>     <span class="keyword">class </span><a class="code" href="classOgre_1_1BspIntersectionSceneQuery.html">BspIntersectionSceneQuery</a> : <span class="keyword">public</span> <a class="code" href="classOgre_1_1DefaultIntersectionSceneQuery.html">DefaultIntersectionSceneQuery</a>
13000214     {
13100215     <span class="keyword">public</span>:
13200216         <a class="code" href="classOgre_1_1BspIntersectionSceneQuery.html#Ogre_1_1BspIntersectionSceneQuerya0">BspIntersectionSceneQuery</a>(<a class="code" href="classOgre_1_1SceneManager.html">SceneManager</a>* creator);
13300217
13400219         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1IntersectionSceneQuery.html#Ogre_1_1OctreeIntersectionSceneQuerya3">execute</a>(<a class="code" href="classOgre_1_1IntersectionSceneQueryListener.html">IntersectionSceneQueryListener</a>* listener);
13500220
13600221     };
13700222
138<a name="l00224"></a><a class="code" href="classOgre_1_1BspRaySceneQuery.html">00224</a>     <span class="keyword">class </span><a class="code" href="classOgre_1_1BspRaySceneQuery.html">BspRaySceneQuery</a> : <span class="keyword">public</span> <a class="code" href="classOgre_1_1DefaultRaySceneQuery.html">DefaultRaySceneQuery</a>
13900225     {
14000226     <span class="keyword">public</span>:
14100227         <a class="code" href="classOgre_1_1BspRaySceneQuery.html#Ogre_1_1BspRaySceneQuerya0">BspRaySceneQuery</a>(<a class="code" href="classOgre_1_1SceneManager.html">SceneManager</a>* creator);
14200228         <a class="code" href="classOgre_1_1BspRaySceneQuery.html#Ogre_1_1BspRaySceneQuerya1">~BspRaySceneQuery</a>();
14300229
14400231         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1RaySceneQuery.html#Ogre_1_1TerrainRaySceneQuerya3">execute</a>(<a class="code" href="classOgre_1_1RaySceneQueryListener.html">RaySceneQueryListener</a>* listener);
14500232     <span class="keyword">protected</span>:
146<a name="l00234"></a><a class="code" href="classOgre_1_1BspRaySceneQuery.html#Ogre_1_1BspRaySceneQueryp0">00234</a>         std::set&lt;MovableObject*&gt; <a class="code" href="classOgre_1_1BspRaySceneQuery.html#Ogre_1_1BspRaySceneQueryp0">mObjsThisQuery</a>;
147<a name="l00236"></a><a class="code" href="classOgre_1_1BspRaySceneQuery.html#Ogre_1_1BspRaySceneQueryp1">00236</a>         std::vector&lt;SceneQuery::WorldFragment*&gt; <a class="code" href="classOgre_1_1BspRaySceneQuery.html#Ogre_1_1BspRaySceneQueryp1">mSingleIntersections</a>;
14800237
14900238         <span class="keywordtype">void</span> <a class="code" href="classOgre_1_1BspRaySceneQuery.html#Ogre_1_1BspRaySceneQueryb0">clearTemporaries</a>(<span class="keywordtype">void</span>);
15000242         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1BspRaySceneQuery.html#Ogre_1_1BspRaySceneQueryb1">processNode</a>(<span class="keyword">const</span> <a class="code" href="classOgre_1_1BspNode.html">BspNode</a>* node, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Ray.html">Ray</a>&amp; tracingRay, <a class="code" href="classOgre_1_1RaySceneQueryListener.html">RaySceneQueryListener</a>* listener,
15100243             <a class="code" href="namespaceOgre.html#a420">Real</a> maxDistance = Math::POS_INFINITY, <a class="code" href="namespaceOgre.html#a420">Real</a> traceDistance = 0.0f);
15200247         <span class="keywordtype">bool</span> <a class="code" href="classOgre_1_1BspRaySceneQuery.html#Ogre_1_1BspRaySceneQueryb2">processLeaf</a>(<span class="keyword">const</span> <a class="code" href="classOgre_1_1BspNode.html">BspNode</a>* node, <span class="keyword">const</span> <a class="code" href="classOgre_1_1Ray.html">Ray</a>&amp; tracingRay, <a class="code" href="classOgre_1_1RaySceneQueryListener.html">RaySceneQueryListener</a>* listener,
15300248             <a class="code" href="namespaceOgre.html#a420">Real</a> maxDistance = Math::POS_INFINITY, <a class="code" href="namespaceOgre.html#a420">Real</a> traceDistance = 0.0f);
15400249
15500250     };
15600251 }
15700252
15800253 <span class="preprocessor">#endif</span>
159</pre></div><hr>
160<p>
161Copyright &copy; 2000-2005 by The OGRE Team<br />
162<!--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/>
163This 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/>
164                <!--/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#">
165                <Work rdf:about="">
166                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
167        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
168                </Work>
169                <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> -->
170
171Last modified Sun Feb 12 12:59:42 2006
172</p>
173</body>
174</html>
Note: See TracBrowser for help on using the repository browser.