From 2e1727610ef061167db5bae3743e590ebc8104d5 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Thu, 21 Jan 2016 15:52:59 -0800 Subject: [PATCH] MyAvatar updates the entity-server about queryAACubes of children entities --- interface/src/avatar/MyAvatar.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index b1688b8f9e..b6dcc96c22 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -50,6 +50,7 @@ #include "Util.h" #include "InterfaceLogging.h" #include "DebugDraw.h" +#include "EntityEditPacketSender.h" using namespace std; @@ -352,6 +353,21 @@ void MyAvatar::simulate(float deltaTime) { // consider updating our billboard maybeUpdateBillboard(); + + locationChanged(); + // if a entity-child of this avatar has moved outside of its queryAACube, update the cube and tell the entity server. + forEachDescendant([&](SpatiallyNestablePointer object) { + if (object->computePuffedQueryAACube() && object->getNestableType() == NestableType::Entity) { + EntityItemPointer entity = std::static_pointer_cast(object); + EntityEditPacketSender* packetSender = qApp->getEntityEditPacketSender(); + if (packetSender) { + EntityItemProperties properties = entity->getProperties(); + properties.setQueryAACubeDirty(); + packetSender->queueEditEntityMessage(PacketType::EntityEdit, entity->getID(), properties); + entity->setLastBroadcast(usecTimestampNow()); + } + } + }); } glm::mat4 MyAvatar::getSensorToWorldMatrix() const {