#include using namespace std; #include "Pvs.h" KdPvsData * KdPvs::Find(KdNode *node) { KdPvsMap::iterator i = mEntries.find(node); if (i != mEntries.end()) { // cout<mVisibleSamples++; result = 0; } else { mEntries[node] = KdPvsData(1); result = 1; } return result; } void KdPvs::GetData(const int index, KdNode *&node, KdPvsData &data ) { KdPvsMap::iterator i = mEntries.begin(); for (int k = 0; k!=index && i != mEntries.end(); i++, k++); node = (*i).first; data = (*i).second; } BspPvsData *BspPvs::Find(BspNode *node) { BspPvsMap::iterator i = mEntries.find(node); if (i != mEntries.end()) { // cout<mVisibleSamples ++; result = 0; } else { mEntries[node] = BspPvsData(1); result = 1; } return result; } void BspPvs::GetData(const int index, BspNode *&node, BspPvsData &data) { BspPvsMap::iterator i = mEntries.begin(); for (int k = 0; k!=index && i != mEntries.end(); i++, k++); node = (*i).first; data = (*i).second; }