#include "HierarchyInterface.h" #include namespace GtpVisibility { //----------------------------------------------------------------------- HierarchyInterface::HierarchyInterface(): mFrameId(0), mNumTraversedNodes(0), mNumRenderedNodes(0), mSceneRoot(0), mCurrentTestIdx(0) { mDistanceQueue = new DistanceQueue(GreaterDistance(this)); } //----------------------------------------------------------------------- HierarchyInterface::~HierarchyInterface() { delete mDistanceQueue; } //----------------------------------------------------------------------- void HierarchyInterface::SetSceneRoot(HierarchyNode *root) { mSceneRoot = root; } //----------------------------------------------------------------------- void HierarchyInterface::InitFrame(HierarchyNode *root) { mFrameId ++; mNumTraversedNodes = 0; mNumRenderedNodes = 0; SetSceneRoot(root); mDistanceQueue->push(mSceneRoot); } //----------------------------------------------------------------------- unsigned int HierarchyInterface::GetFrameId() const { return mFrameId; } //----------------------------------------------------------------------- DistanceQueue *HierarchyInterface::GetQueue() { return mDistanceQueue; } //----------------------------------------------------------------------- bool HierarchyInterface::CheckFrustumVisible(HierarchyNode *node) { bool intersects = false; return CheckFrustumVisible(node, intersects); } //----------------------------------------------------------------------- HierarchyNode *HierarchyInterface::GetSceneRoot() const { return mSceneRoot; } //----------------------------------------------------------------------- unsigned int HierarchyInterface::GetNumTraversedNodes() { return mNumTraversedNodes; } //----------------------------------------------------------------------- unsigned int HierarchyInterface::GetNumRenderedNodes() { return mNumRenderedNodes; } } // namespace GtpVisibility