From 73b9c06ec08e2bc0a275ee62b0327addce7b2e41 Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Mon, 26 Jan 2015 11:13:30 -0800 Subject: [PATCH] added some debugging --- libraries/entities/src/EntityItem.cpp | 3 +++ libraries/entities/src/EntityItem.h | 3 ++- libraries/physics/src/EntityMotionState.cpp | 7 +++++++ libraries/physics/src/PhysicsEngine.cpp | 8 ++++++++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/libraries/entities/src/EntityItem.cpp b/libraries/entities/src/EntityItem.cpp index 91aef39eea..3315cdd2e7 100644 --- a/libraries/entities/src/EntityItem.cpp +++ b/libraries/entities/src/EntityItem.cpp @@ -21,6 +21,9 @@ #include "EntityItem.h" #include "EntityTree.h" +quint64 EntityItem::lastCollisionTime = 0; + + void EntityItem::initFromEntityItemID(const EntityItemID& entityItemID) { _id = entityItemID.id; _creatorTokenID = entityItemID.creatorTokenID; diff --git a/libraries/entities/src/EntityItem.h b/libraries/entities/src/EntityItem.h index df619e2f69..ad540d1df9 100644 --- a/libraries/entities/src/EntityItem.h +++ b/libraries/entities/src/EntityItem.h @@ -42,7 +42,6 @@ class EntityTreeElementExtraEncodeData; /// one directly, instead you must only construct one of it's derived classes with additional features. class EntityItem { friend class EntityTreeElement; - public: enum EntityDirtyFlags { DIRTY_POSITION = 0x0001, @@ -55,6 +54,8 @@ public: DIRTY_UPDATEABLE = 0x0080, }; + static quint64 lastCollisionTime; + DONT_ALLOW_INSTANTIATION // This class can not be instantiated directly EntityItem(const EntityItemID& entityItemID); diff --git a/libraries/physics/src/EntityMotionState.cpp b/libraries/physics/src/EntityMotionState.cpp index a6a358faa0..02d7b77606 100644 --- a/libraries/physics/src/EntityMotionState.cpp +++ b/libraries/physics/src/EntityMotionState.cpp @@ -99,6 +99,13 @@ void EntityMotionState::setWorldTransform(const btTransform& worldTrans) { _outgoingPacketFlags = DIRTY_PHYSICS_FLAGS; EntityMotionState::enqueueOutgoingEntity(_entity); + + quint64 now = usecTimestampNow(); + qDebug() << "EntityMotionState::setWorldTransform()... changed entity:" << _entity->getEntityItemID(); + qDebug() << " last edited:" << _entity->getLastEdited() << formatUsecTime(now - _entity->getLastEdited()) << "ago"; + qDebug() << " last simulated:" << _entity->getLastSimulated() << formatUsecTime(now - _entity->getLastSimulated()) << "ago"; + qDebug() << " last updated:" << _entity->getLastUpdated() << formatUsecTime(now - _entity->getLastUpdated()) << "ago"; + qDebug() << " last collision:" << EntityItem::lastCollisionTime << formatUsecTime(now - EntityItem::lastCollisionTime) << "ago"; } void EntityMotionState::updateObjectEasy(uint32_t flags, uint32_t frame) { diff --git a/libraries/physics/src/PhysicsEngine.cpp b/libraries/physics/src/PhysicsEngine.cpp index dfd28dd8a4..fce8faf301 100644 --- a/libraries/physics/src/PhysicsEngine.cpp +++ b/libraries/physics/src/PhysicsEngine.cpp @@ -371,10 +371,18 @@ void PhysicsEngine::computeCollisionEvents() { if (B && B->getType() == MOTION_STATE_TYPE_ENTITY) { idB = static_cast(B)->getEntity()->getEntityItemID(); } + +qDebug() << "entityCollisionWithEntity()... idA:" << idA << "idB:" << idB << "*******************************"; +EntityItem::lastCollisionTime = usecTimestampNow(); + emit entityCollisionWithEntity(idA, idB, contactItr->second); } else if (B && B->getType() == MOTION_STATE_TYPE_ENTITY) { EntityItemID idA; EntityItemID idB = static_cast(B)->getEntity()->getEntityItemID(); + +qDebug() << "entityCollisionWithEntity()... idA:" << idA << "idB:" << idB << "*******************************"; +EntityItem::lastCollisionTime = usecTimestampNow(); + emit entityCollisionWithEntity(idA, idB, contactItr->second); }