fix primitive type writing in OctreeSceneStats

This commit is contained in:
Stephen Birarda 2015-07-08 16:44:45 -07:00
parent dec11ef4ea
commit f37d3c9bd6

View file

@ -384,59 +384,59 @@ void OctreeSceneStats::childBitsRemoved(bool includesExistsBits, bool includesCo
int OctreeSceneStats::packIntoPacket() { int OctreeSceneStats::packIntoPacket() {
_statsPacket->reset(); _statsPacket->reset();
_statsPacket->write(_start); _statsPacket->writePrimitive(_start);
_statsPacket->write(_end); _statsPacket->writePrimitive(_end);
_statsPacket->write(_elapsed); _statsPacket->writePrimitive(_elapsed);
_statsPacket->write(_totalEncodeTime); _statsPacket->writePrimitive(_totalEncodeTime);
_statsPacket->write(_isFullScene); _statsPacket->writePrimitive(_isFullScene);
_statsPacket->write(_isMoving); _statsPacket->writePrimitive(_isMoving);
_statsPacket->write(_packets); _statsPacket->writePrimitive(_packets);
_statsPacket->write(_bytes); _statsPacket->writePrimitive(_bytes);
_statsPacket->write(_totalInternal); _statsPacket->writePrimitive(_totalInternal);
_statsPacket->write(_totalLeaves); _statsPacket->writePrimitive(_totalLeaves);
_statsPacket->write(_internal); _statsPacket->writePrimitive(_internal);
_statsPacket->write(_leaves); _statsPacket->writePrimitive(_leaves);
_statsPacket->write(_internalSkippedDistance); _statsPacket->writePrimitive(_internalSkippedDistance);
_statsPacket->write(_leavesSkippedDistance); _statsPacket->writePrimitive(_leavesSkippedDistance);
_statsPacket->write(_internalSkippedOutOfView); _statsPacket->writePrimitive(_internalSkippedOutOfView);
_statsPacket->write(_leavesSkippedOutOfView); _statsPacket->writePrimitive(_leavesSkippedOutOfView);
_statsPacket->write(_internalSkippedWasInView); _statsPacket->writePrimitive(_internalSkippedWasInView);
_statsPacket->write(_leavesSkippedWasInView); _statsPacket->writePrimitive(_leavesSkippedWasInView);
_statsPacket->write(_internalSkippedNoChange); _statsPacket->writePrimitive(_internalSkippedNoChange);
_statsPacket->write(_leavesSkippedNoChange); _statsPacket->writePrimitive(_leavesSkippedNoChange);
_statsPacket->write(_internalSkippedOccluded); _statsPacket->writePrimitive(_internalSkippedOccluded);
_statsPacket->write(_leavesSkippedOccluded); _statsPacket->writePrimitive(_leavesSkippedOccluded);
_statsPacket->write(_internalColorSent); _statsPacket->writePrimitive(_internalColorSent);
_statsPacket->write(_leavesColorSent); _statsPacket->writePrimitive(_leavesColorSent);
_statsPacket->write(_internalDidntFit); _statsPacket->writePrimitive(_internalDidntFit);
_statsPacket->write(_leavesDidntFit); _statsPacket->writePrimitive(_leavesDidntFit);
_statsPacket->write(_colorBitsWritten); _statsPacket->writePrimitive(_colorBitsWritten);
_statsPacket->write(_existsBitsWritten); _statsPacket->writePrimitive(_existsBitsWritten);
_statsPacket->write(_existsInPacketBitsWritten); _statsPacket->writePrimitive(_existsInPacketBitsWritten);
_statsPacket->write(_treesRemoved); _statsPacket->writePrimitive(_treesRemoved);
// add the root jurisdiction // add the root jurisdiction
if (_jurisdictionRoot) { if (_jurisdictionRoot) {
// copy the // copy the
int bytes = bytesRequiredForCodeLength(numberOfThreeBitSectionsInCode(_jurisdictionRoot)); int bytes = bytesRequiredForCodeLength(numberOfThreeBitSectionsInCode(_jurisdictionRoot));
_statsPacket->write(bytes); _statsPacket->writePrimitive(bytes);
_statsPacket->write(reinterpret_cast<char*>(_jurisdictionRoot), bytes); _statsPacket->write(reinterpret_cast<char*>(_jurisdictionRoot), bytes);
// if and only if there's a root jurisdiction, also include the end elements // if and only if there's a root jurisdiction, also include the end elements
int endNodeCount = _jurisdictionEndNodes.size(); int endNodeCount = _jurisdictionEndNodes.size();
_statsPacket->write(endNodeCount); _statsPacket->writePrimitive(endNodeCount);
for (int i=0; i < endNodeCount; i++) { for (int i=0; i < endNodeCount; i++) {
unsigned char* endNodeCode = _jurisdictionEndNodes[i]; unsigned char* endNodeCode = _jurisdictionEndNodes[i];
int bytes = bytesRequiredForCodeLength(numberOfThreeBitSectionsInCode(endNodeCode)); int bytes = bytesRequiredForCodeLength(numberOfThreeBitSectionsInCode(endNodeCode));
_statsPacket->write(bytes); _statsPacket->writePrimitive(bytes);
_statsPacket->write(reinterpret_cast<char*>(endNodeCode), bytes); _statsPacket->write(reinterpret_cast<char*>(endNodeCode), bytes);
} }
} else { } else {
int bytes = 0; int bytes = 0;
_statsPacket->write(bytes); _statsPacket->writePrimitive(bytes);
} }
return _statsPacket->getSizeUsed(); return _statsPacket->getSizeUsed();