source: trunk/VUT/GtpVisibility/src/HierarchyInterface.cpp @ 130

Revision 130, 2.4 KB checked in by mattausch, 19 years ago (diff)

added visibility queries

RevLine 
[59]1#include "HierarchyInterface.h"
2
[74]3#include <windows.h>
[59]4
5namespace GtpVisibility {
6
7//-----------------------------------------------------------------------
8HierarchyInterface::HierarchyInterface():
[130]9mFrameId(0), mNumTraversedNodes(0), mSceneRoot(0),
10mPreviousNode(0), mCurrentTestIdx(0), mUseOptimization(false)
[112]11//, mIsShadowPass(false)
[59]12{       
13        mDistanceQueue = new DistanceQueue(GreaterDistance<HierarchyNode *>(this));
14}
15//-----------------------------------------------------------------------
16HierarchyInterface::~HierarchyInterface()
17{               
18        delete mDistanceQueue;
19}
20//-----------------------------------------------------------------------
21void HierarchyInterface::SetSceneRoot(HierarchyNode *root)
22{
23        mSceneRoot = root;
24}
25//-----------------------------------------------------------------------
26void HierarchyInterface::InitFrame(HierarchyNode *root)
27{
[130]28        ++ mFrameId;
[85]29        mCurrentTestIdx = 0;
[59]30        mNumTraversedNodes = 0;
[130]31        mRenderedNodes.clear();
[59]32
33        SetSceneRoot(root);
34        mDistanceQueue->push(mSceneRoot);
35}
36//-----------------------------------------------------------------------
[74]37unsigned int HierarchyInterface::GetFrameId() const
[59]38{
39        return mFrameId;
40}
41//-----------------------------------------------------------------------
42DistanceQueue *HierarchyInterface::GetQueue()
43{
44        return mDistanceQueue;
45}
[74]46//-----------------------------------------------------------------------
47bool HierarchyInterface::CheckFrustumVisible(HierarchyNode *node)
48{
49        bool intersects = false;
50        return CheckFrustumVisible(node, intersects);
51}
52//-----------------------------------------------------------------------
53HierarchyNode *HierarchyInterface::GetSceneRoot() const
54{
55        return mSceneRoot;
56}
57//-----------------------------------------------------------------------
58unsigned int HierarchyInterface::GetNumTraversedNodes()
59{
60        return mNumTraversedNodes;
61}
62//-----------------------------------------------------------------------
63unsigned int HierarchyInterface::GetNumRenderedNodes()
64{
[130]65        return (unsigned int)mRenderedNodes.size();
[74]66}
[130]67//-----------------------------------------------------------------------
[86]68void HierarchyInterface::SetUseOptimization(bool useOptimization)
69{
70        mUseOptimization = useOptimization;
71}
[130]72//-----------------------------------------------------------------------
73std::vector<HierarchyNode *> *HierarchyInterface::GetRenderedNodes()
74{
75        return &mRenderedNodes;
76}
[86]77
[59]78} // namespace GtpVisibility
Note: See TracBrowser for help on using the repository browser.