~ubuntu-branches/debian/sid/ember/sid

« back to all changes in this revision

Viewing changes to src/components/ogre/SceneManagers/EmberPagingSceneManager/include/OgrePagingLandScapeOcclusionSWTraversal.h

  • Committer: Bazaar Package Importer
  • Author(s): Michael Koch
  • Date: 2009-07-23 07:46:40 UTC
  • Revision ID: james.westby@ubuntu.com-20090723074640-wh0ukzis0kda36qv
Tags: upstream-0.5.6
ImportĀ upstreamĀ versionĀ 0.5.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef __PagingLandScapeOcclusionSWTraversal_H
 
2
#define __PagingLandScapeOcclusionSWTraversal_H
 
3
 
 
4
#include "OgrePagingLandScapePrerequisites.h"
 
5
#include "OgrePagingLandScapeOctreeCamera.h"
 
6
 
 
7
#include "OgrePagingLandScapeOcclusionTraversal.h"
 
8
 
 
9
namespace Ogre
 
10
{
 
11
    //-----------------------------------------------------------------------
 
12
    // TREE TRAVERSAL classes 
 
13
    // a OctreeNode with Geometry objects in the leaves 
 
14
    // and a TreeNodeData struct at every node
 
15
    //-----------------------------------------------------------------------
 
16
    // Basic Occlusion query use : stop and wait query result Culling
 
17
        class SWTraversal : public Traversal 
 
18
    {
 
19
            private:
 
20
 
 
21
                    Occlusion& occlusion;
 
22
            PagingLandScapeOctreeCamera::Visibility mCurrentVisibility;
 
23
            Vector3 camPos;
 
24
 
 
25
            public:
 
26
 
 
27
                    SWTraversal (Occlusion& o);
 
28
 
 
29
            virtual void onTree(PagingLandScapeOctree&, VisibleObjectsBoundsInfo * const visibleBounds );
 
30
            virtual void onLeaf(PagingLandScapeOctreeNode&, VisibleObjectsBoundsInfo * const visibleBounds );
 
31
            bool isVisible(OcclusionElement & n);
 
32
            void traverseChildren(PagingLandScapeOctree & n, VisibleObjectsBoundsInfo * const visibleBounds );
 
33
        };
 
34
    
 
35
}
 
36
#endif //PagingLandScapeOcclusionSWTraversal