History

added VoxelNodeBag

ZappoMan committed 13 years ago

Commit a1767531 parent d6e27d81 file · +16 −16Browse files

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

Unified · Split

interface/src/VoxelSystem.cpp+16−16
@@ -706,33 +706,33 @@ void VoxelSystem::falseColorizeDistanceFromView(ViewFrustum* viewFrustum) { · 705 unmodified lines
706706
707707 printf("--------- DEBUG TESTING ------------\n");
708708 unsigned char* lastOctalCode = tree->rootNode->octalCode;
709− const int MAX_VOXEL_PACKET_SIZE=13; // nothing should fit...
709+ //const int MAX_VOXEL_PACKET_SIZE=13; // test tight fit...
710710 unsigned char* fullOutputBuffer = new unsigned char[MAX_VOXEL_PACKET_SIZE];
711711 unsigned char* outputBuffer = fullOutputBuffer;
712712 bool startedWriting = false;
713713 int bytesWritten = 0;
714714
715− const int LIKELY_EXTRA_TREES = 10;
716− int sizeExtraTrees = LIKELY_EXTRA_TREES;
717− int countExtraTrees = 0;
718− VoxelNode** extraTrees = new VoxelNode*[sizeExtraTrees];
715+ VoxelNodeBag bagOfTrees;
719716
720− bytesWritten = tree->encodeTreeBitstream(tree->rootNode, *viewFrustum,
721− outputBuffer, MAX_VOXEL_PACKET_SIZE, extraTrees, sizeExtraTrees, countExtraTrees);
717+ bytesWritten = tree->encodeTreeBitstream(tree->rootNode, *viewFrustum, outputBuffer, MAX_VOXEL_PACKET_SIZE, bagOfTrees);
722718
723− printf("--------- initial results ------------\n");
719+ printf("--------- initial results ---- bytesWritten=%d ------------\n",bytesWritten);
724720 outputBufferBits(fullOutputBuffer, bytesWritten, true);
725721 printf("--------- DONE initial results ------------\n");
726722
727723 printf("--------- extra trees ------------\n");
728− printf("countExtraTrees=%d\n",countExtraTrees);
729−
730− for(int i=0; i < countExtraTrees; i++) {
731− printf("processing extraTree[%d] countExtraTrees=%d\n", i, countExtraTrees);
732− VoxelNode* extraTree = extraTrees[i];
733− bytesWritten = tree->encodeTreeBitstream(extraTree, *viewFrustum,
734− outputBuffer, MAX_VOXEL_PACKET_SIZE, extraTrees, sizeExtraTrees, countExtraTrees);
735− printf("--------- extra results ------------\n");
724+ printf("bagOfTrees.count()=%d\n",bagOfTrees.count());
725+
726+ int countOfExtra = 0;
727+ while (!bagOfTrees.isEmpty()) {
728+ countOfExtra++;
729+ VoxelNode* extraTree = bagOfTrees.extract();
730+ printf("processing countOfExtra=%d\n", countOfExtra);
731+
732+ bytesWritten = tree->encodeTreeBitstream(extraTree, *viewFrustum, outputBuffer, MAX_VOXEL_PACKET_SIZE, bagOfTrees);
733+
734+
735+ printf("--------- extra results ---- bytesWritten=%d ------------\n",bytesWritten);
736736 outputBufferBits(fullOutputBuffer, bytesWritten, true);
737737 printf("--------- DONE extra results ------------\n");
738738