From 5fbdc94c66369ffbe29f2b0766dd85f7e44e524b Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 18 Jan 2017 16:18:43 -0800 Subject: [PATCH] pass usesFrustum down to EntityTreeElement --- assignment-client/src/octree/OctreeSendThread.cpp | 1 + libraries/entities/src/EntityTreeElement.cpp | 2 +- libraries/octree/src/Octree.h | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/assignment-client/src/octree/OctreeSendThread.cpp b/assignment-client/src/octree/OctreeSendThread.cpp index 05f131f6c8..37bfd29db4 100644 --- a/assignment-client/src/octree/OctreeSendThread.cpp +++ b/assignment-client/src/octree/OctreeSendThread.cpp @@ -434,6 +434,7 @@ int OctreeSendThread::packetDistributor(SharedNodePointer node, OctreeQueryNode* nodeData->getLastTimeBagEmpty(), isFullScene, &nodeData->stats, _myServer->getJurisdiction(), &nodeData->extraEncodeData, + nodeData->getUsesFrustum(), nodeData); nodeData->copyCurrentViewFrustum(params.viewFrustum); if (viewFrustumChanged) { diff --git a/libraries/entities/src/EntityTreeElement.cpp b/libraries/entities/src/EntityTreeElement.cpp index c3c0eafad7..7ece947e89 100644 --- a/libraries/entities/src/EntityTreeElement.cpp +++ b/libraries/entities/src/EntityTreeElement.cpp @@ -329,7 +329,7 @@ OctreeElement::AppendState EntityTreeElement::appendElementData(OctreePacketData entityTreeElementExtraEncodeData->entities.contains(entity->getEntityItemID()); } - if (includeThisEntity || params.recurseEverything) { + if (params.usesFrustum && (includeThisEntity || params.recurseEverything)) { // we want to use the maximum possible box for this, so that we don't have to worry about the nuance of // simulation changing what's visible. consider the case where the entity contains an angular velocity diff --git a/libraries/octree/src/Octree.h b/libraries/octree/src/Octree.h index 9a132d6046..3ccee70871 100644 --- a/libraries/octree/src/Octree.h +++ b/libraries/octree/src/Octree.h @@ -82,6 +82,7 @@ public: OctreeSceneStats* stats; JurisdictionMap* jurisdictionMap; OctreeElementExtraEncodeData* extraEncodeData; + bool usesFrustum; NodeData* nodeData; // output hints from the encode process @@ -111,6 +112,7 @@ public: OctreeSceneStats* stats = IGNORE_SCENE_STATS, JurisdictionMap* jurisdictionMap = IGNORE_JURISDICTION_MAP, OctreeElementExtraEncodeData* extraEncodeData = nullptr, + bool usesFrustum = true, NodeData* nodeData = nullptr) : lastQuerySent(lastQuerySent), maxEncodeLevel(maxEncodeLevel), @@ -124,6 +126,7 @@ public: stats(stats), jurisdictionMap(jurisdictionMap), extraEncodeData(extraEncodeData), + usesFrustum(usesFrustum), nodeData(nodeData), stopReason(UNKNOWN) {