History

add 'level' param to tree recursion

ZappoMan committed 13 years ago

Commit 44357fc1 parent 1f0df9a9 files · +67 −52Browse files

Showing the changes to interface/src/VoxelSystem.cpp (1 of 9 files). Show all

Unified · Split

interface/src/VoxelSystem.cpp+14−14
@@ -701,7 +701,7 @@ void VoxelSystem::killLocalVoxels() { · 700 unmodified lines
701701 }
702702
703703
704−bool VoxelSystem::randomColorOperation(VoxelNode* node, void* extraData) {
704+bool VoxelSystem::randomColorOperation(VoxelNode* node, int level, void* extraData) {
705705 _nodeCount++;
706706 if (node->isColored()) {
707707 nodeColor newColor = { 255, randomColorValue(150), randomColorValue(150), 1 };
@@ -717,7 +717,7 @@ void VoxelSystem::randomizeVoxelColors() { · 9 unmodified lines
717717 setupNewVoxelsForDrawing();
718718 }
719719
720−bool VoxelSystem::falseColorizeRandomOperation(VoxelNode* node, void* extraData) {
720+bool VoxelSystem::falseColorizeRandomOperation(VoxelNode* node, int level, void* extraData) {
721721 _nodeCount++;
722722 // always false colorize
723723 node->setFalseColor(255, randomColorValue(150), randomColorValue(150));
@@ -731,7 +731,7 @@ void VoxelSystem::falseColorizeRandom() { · 7 unmodified lines
731731 setupNewVoxelsForDrawing();
732732 }
733733
734−bool VoxelSystem::trueColorizeOperation(VoxelNode* node, void* extraData) {
734+bool VoxelSystem::trueColorizeOperation(VoxelNode* node, int level, void* extraData) {
735735 _nodeCount++;
736736 node->setFalseColored(false);
737737 return true;
@@ -746,7 +746,7 @@ void VoxelSystem::trueColorize() { · 8 unmodified lines
746746 }
747747
748748 // Will false colorize voxels that are not in view
749−bool VoxelSystem::falseColorizeInViewOperation(VoxelNode* node, void* extraData) {
749+bool VoxelSystem::falseColorizeInViewOperation(VoxelNode* node, int level, void* extraData) {
750750 const ViewFrustum* viewFrustum = (const ViewFrustum*) extraData;
751751 _nodeCount++;
752752 if (node->isColored()) {
@@ -766,7 +766,7 @@ void VoxelSystem::falseColorizeInView(ViewFrustum* viewFrustum) { · 13 unmodified lines
766766 }
767767
768768 // Will false colorize voxels based on distance from view
769−bool VoxelSystem::falseColorizeDistanceFromViewOperation(VoxelNode* node, void* extraData) {
769+bool VoxelSystem::falseColorizeDistanceFromViewOperation(VoxelNode* node, int level, void* extraData) {
770770 ViewFrustum* viewFrustum = (ViewFrustum*) extraData;
771771 if (node->isColored()) {
772772 float distance = node->distanceToCamera(*viewFrustum);
@@ -789,7 +789,7 @@ float VoxelSystem::_minDistance = FLT_MAX; · 16 unmodified lines
789789 // Helper function will get the distance from view range, would be nice if you could just keep track
790790 // of this as voxels are created and/or colored... seems like some transform math could do that so
791791 // we wouldn't need to do two passes of the tree
792−bool VoxelSystem::getDistanceFromViewRangeOperation(VoxelNode* node, void* extraData) {
792+bool VoxelSystem::getDistanceFromViewRangeOperation(VoxelNode* node, int level, void* extraData) {
793793 ViewFrustum* viewFrustum = (ViewFrustum*) extraData;
794794 // only do this for truly colored voxels...
795795 if (node->isColored()) {
@@ -842,7 +842,7 @@ public: · 46 unmodified lines
842842
843843 // "Remove" voxels from the tree that are not in view. We don't actually delete them,
844844 // we remove them from the tree and place them into a holding area for later deletion
845−bool VoxelSystem::removeOutOfViewOperation(VoxelNode* node, void* extraData) {
845+bool VoxelSystem::removeOutOfViewOperation(VoxelNode* node, int level, void* extraData) {
846846 removeOutOfViewArgs* args = (removeOutOfViewArgs*)extraData;
847847
848848 // If our node was previously added to the don't recurse bag, then return false to
@@ -977,7 +977,7 @@ public: · 128 unmodified lines
977977 bool colorThis;
978978 };
979979
980−bool VoxelSystem::falseColorizeRandomEveryOtherOperation(VoxelNode* node, void* extraData) {
980+bool VoxelSystem::falseColorizeRandomEveryOtherOperation(VoxelNode* node, int level, void* extraData) {
981981 falseColorizeRandomEveryOtherArgs* args = (falseColorizeRandomEveryOtherArgs*)extraData;
982982 args->totalNodes++;
983983 if (node->isColored()) {
@@ -1030,7 +1030,7 @@ public: · 46 unmodified lines
10301030 bool hasIndexFound[MAX_VOXELS_PER_SYSTEM];
10311031 };
10321032
1033−bool VoxelSystem::collectStatsForTreesAndVBOsOperation(VoxelNode* node, void* extraData) {
1033+bool VoxelSystem::collectStatsForTreesAndVBOsOperation(VoxelNode* node, int level, void* extraData) {
10341034 collectStatsForTreesAndVBOsArgs* args = (collectStatsForTreesAndVBOsArgs*)extraData;
10351035 args->totalNodes++;
10361036
@@ -1182,7 +1182,7 @@ struct FalseColorizeSubTreeOperationArgs { · 145 unmodified lines
11821182 long voxelsTouched;
11831183 };
11841184
1185−bool VoxelSystem::falseColorizeSubTreeOperation(VoxelNode* node, void* extraData) {
1185+bool VoxelSystem::falseColorizeSubTreeOperation(VoxelNode* node, int level, void* extraData) {
11861186 if (node->getShouldRender()) {
11871187 FalseColorizeSubTreeOperationArgs* args = (FalseColorizeSubTreeOperationArgs*) extraData;
11881188 node->setFalseColor(args->color[0], args->color[1], args->color[2]);
@@ -1191,7 +1191,7 @@ bool VoxelSystem::falseColorizeSubTreeOperation(VoxelNode* node, void* extraData · 2 unmodified lines
11911191 return true;
11921192 }
11931193
1194−bool VoxelSystem::falseColorizeOccludedOperation(VoxelNode* node, void* extraData) {
1194+bool VoxelSystem::falseColorizeOccludedOperation(VoxelNode* node, int level, void* extraData) {
11951195
11961196 FalseColorizeOccludedArgs* args = (FalseColorizeOccludedArgs*) extraData;
11971197 args->totalVoxels++;
@@ -1228,7 +1228,7 @@ bool VoxelSystem::falseColorizeOccludedOperation(VoxelNode* node, void* extraDat · 30 unmodified lines
12281228 subArgs.color[2] = 0;
12291229 subArgs.voxelsTouched = 0;
12301230
1231− args->tree->recurseNodeWithOperation(node, falseColorizeSubTreeOperation, &subArgs );
1231+ args->tree->recurseNodeWithOperation(node, level, falseColorizeSubTreeOperation, &subArgs );
12321232
12331233 args->subtreeVoxelsSkipped += (subArgs.voxelsTouched - 1);
12341234 args->totalVoxels += (subArgs.voxelsTouched - 1);
@@ -1312,7 +1312,7 @@ void VoxelSystem::falseColorizeOccluded() { · 77 unmodified lines
13121312 setupNewVoxelsForDrawing();
13131313 }
13141314
1315−bool VoxelSystem::falseColorizeOccludedV2Operation(VoxelNode* node, void* extraData) {
1315+bool VoxelSystem::falseColorizeOccludedV2Operation(VoxelNode* node, int level, void* extraData) {
13161316
13171317 FalseColorizeOccludedArgs* args = (FalseColorizeOccludedArgs*) extraData;
13181318 args->totalVoxels++;
@@ -1349,7 +1349,7 @@ bool VoxelSystem::falseColorizeOccludedV2Operation(VoxelNode* node, void* extraD · 30 unmodified lines
13491349 subArgs.color[2] = 0;
13501350 subArgs.voxelsTouched = 0;
13511351
1352− args->tree->recurseNodeWithOperation(node, falseColorizeSubTreeOperation, &subArgs );
1352+ args->tree->recurseNodeWithOperation(node, level, falseColorizeSubTreeOperation, &subArgs );
13531353
13541354 args->subtreeVoxelsSkipped += (subArgs.voxelsTouched - 1);
13551355 args->totalVoxels += (subArgs.voxelsTouched - 1);