source: GTP/trunk/Lib/Vis/OnlineCullingCHC/src/HierarchyInterface.cpp @ 2455

Revision 2455, 2.2 KB checked in by mattausch, 18 years ago (diff)
RevLine 
[59]1#include "HierarchyInterface.h"
2
[74]3#include <windows.h>
[59]4
5namespace GtpVisibility {
6
7//-----------------------------------------------------------------------
8HierarchyInterface::HierarchyInterface():
[726]9mFrameId(0),
10mNumTraversedNodes(0),
11mHierarchyRoot(NULL),
[2455]12mOldNode(NULL),
13mCurrentTestIdx(0)
[59]14{       
[316]15        mDistanceQueue = new DistanceQueue(GtDistance<HierarchyNode *>(this));
[59]16}
17//-----------------------------------------------------------------------
18HierarchyInterface::~HierarchyInterface()
19{               
20        delete mDistanceQueue;
21}
22//-----------------------------------------------------------------------
[155]23void HierarchyInterface::SetHierarchyRoot(HierarchyNode *root)
[59]24{
[155]25        mHierarchyRoot = root;
[59]26}
27//-----------------------------------------------------------------------
[158]28void HierarchyInterface::InitTraversal()
[59]29{
[2306]30        //////////////
31        //-- initialise for hierarchical traversal
[59]32
[158]33        ++ mFrameId;
[925]34
[158]35        mCurrentTestIdx = 0;
36        mNumTraversedNodes = 0;
[174]37        mVisibleNodes.clear();
[158]38
39        mDistanceQueue->push(mHierarchyRoot);
[59]40}
41//-----------------------------------------------------------------------
[74]42unsigned int HierarchyInterface::GetFrameId() const
[59]43{
44        return mFrameId;
45}
46//-----------------------------------------------------------------------
47DistanceQueue *HierarchyInterface::GetQueue()
48{
49        return mDistanceQueue;
50}
[74]51//-----------------------------------------------------------------------
52bool HierarchyInterface::CheckFrustumVisible(HierarchyNode *node)
53{
54        bool intersects = false;
55        return CheckFrustumVisible(node, intersects);
56}
57//-----------------------------------------------------------------------
[155]58HierarchyNode *HierarchyInterface::GetHierarchyRoot() const
[74]59{
[155]60        return mHierarchyRoot;
[74]61}
62//-----------------------------------------------------------------------
63unsigned int HierarchyInterface::GetNumTraversedNodes()
64{
65        return mNumTraversedNodes;
66}
67//-----------------------------------------------------------------------
68unsigned int HierarchyInterface::GetNumRenderedNodes()
69{
[174]70        return (unsigned int)mVisibleNodes.size();
[74]71}
[130]72//-----------------------------------------------------------------------
[174]73std::vector<HierarchyNode *> *HierarchyInterface::GetVisibleNodes()
[130]74{
[174]75        return &mVisibleNodes;
[130]76}
[59]77} // namespace GtpVisibility
Note: See TracBrowser for help on using the repository browser.