diff --git a/assignment-client/src/entities/EntityTreeSendThread.cpp b/assignment-client/src/entities/EntityTreeSendThread.cpp index 42a391d931..3a5fa2003f 100644 --- a/assignment-client/src/entities/EntityTreeSendThread.cpp +++ b/assignment-client/src/entities/EntityTreeSendThread.cpp @@ -170,7 +170,7 @@ bool EntityTreeSendThread::addDescendantsToExtraFlaggedEntities(const QUuid& fil return hasNewChild || hasNewDescendants; } -void EntityTreeSendThread::startNewTraversal(const ViewFrustum& view, EntityTreeElementPointer root, float octreeSizeScale, int32_t lodLevelOffset) { +void EntityTreeSendThread::startNewTraversal(const ViewFrustum& view, EntityTreeElementPointer root, int32_t lodLevelOffset) { DiffTraversal::Type type = _traversal.prepareNewTraversal(view, root, lodLevelOffset); // there are three types of traversal: // @@ -199,7 +199,7 @@ void EntityTreeSendThread::startNewTraversal(const ViewFrustum& view, EntityTree // before we consider including it. float renderAccuracy = calculateRenderAccuracy(_traversal.getCurrentView().getPosition(), cube, - octreeSizeScale, + _traversal.getCurrentRootSizeScale(), lodLevelOffset); // Only send entities if they are large enough to see @@ -228,7 +228,7 @@ void EntityTreeSendThread::startNewTraversal(const ViewFrustum& view, EntityTree // See the DiffTraversal::First case for an explanation of the "entity is too small" check float renderAccuracy = calculateRenderAccuracy(_traversal.getCurrentView().getPosition(), cube, - octreeSizeScale, + _traversal.getCurrentRootSizeScale(), lodLevelOffset); // Only send entities if they are large enough to see @@ -259,7 +259,7 @@ void EntityTreeSendThread::startNewTraversal(const ViewFrustum& view, EntityTree // See the DiffTraversal::First case for an explanation of the "entity is too small" check float renderAccuracy = calculateRenderAccuracy(_traversal.getCurrentView().getPosition(), cube, - octreeSizeScale, + _traversal.getCurrentRootSizeScale(), lodLevelOffset); // Only send entities if they are large enough to see @@ -271,7 +271,7 @@ void EntityTreeSendThread::startNewTraversal(const ViewFrustum& view, EntityTree // If this entity was skipped last time because it was too small, we still need to send it float lastRenderAccuracy = calculateRenderAccuracy(_traversal.getCompletedView().getPosition(), cube, - octreeSizeScale, + _traversal.getCompletedRootSizeScale(), lodLevelOffset); if (lastRenderAccuracy <= 0.0f) { diff --git a/assignment-client/src/entities/EntityTreeSendThread.h b/assignment-client/src/entities/EntityTreeSendThread.h index 6b78172617..33c22c8c4a 100644 --- a/assignment-client/src/entities/EntityTreeSendThread.h +++ b/assignment-client/src/entities/EntityTreeSendThread.h @@ -36,7 +36,7 @@ private: bool addAncestorsToExtraFlaggedEntities(const QUuid& filteredEntityID, EntityItem& entityItem, EntityNodeData& nodeData); bool addDescendantsToExtraFlaggedEntities(const QUuid& filteredEntityID, EntityItem& entityItem, EntityNodeData& nodeData); - void startNewTraversal(const ViewFrustum& viewFrustum, EntityTreeElementPointer root, float octreeSizeScale, int32_t lodLevelOffset); + void startNewTraversal(const ViewFrustum& viewFrustum, EntityTreeElementPointer root, int32_t lodLevelOffset); DiffTraversal _traversal; EntityPriorityQueue _sendQueue; diff --git a/libraries/entities/src/DiffTraversal.h b/libraries/entities/src/DiffTraversal.h index f1025f1e3a..874e1ed869 100644 --- a/libraries/entities/src/DiffTraversal.h +++ b/libraries/entities/src/DiffTraversal.h @@ -64,6 +64,9 @@ public: const ViewFrustum& getCurrentView() const { return _currentView.viewFrustum; } const ViewFrustum& getCompletedView() const { return _completedView.viewFrustum; } + const float getCurrentRootSizeScale() const { return _currentView.rootSizeScale; } + const float getCompletedRootSizeScale() const { return _completedView.rootSizeScale; } + uint64_t getStartOfCompletedTraversal() const { return _completedView.startTime; } bool finished() const { return _path.empty(); }