From 77bd7b2821162fa9c5602c7eb6bbdbbf7cb6e816 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Tue, 7 Jul 2015 15:56:16 -0700 Subject: [PATCH 1/4] some ObjectAction methods should be const --- assignment-client/src/AssignmentAction.cpp | 2 +- assignment-client/src/AssignmentAction.h | 4 ++-- interface/src/avatar/AvatarActionHold.cpp | 5 ++--- interface/src/avatar/AvatarActionHold.h | 2 +- libraries/entities/src/EntityActionInterface.h | 4 ++-- libraries/physics/src/ObjectAction.cpp | 8 ++++---- libraries/physics/src/ObjectAction.h | 4 ++-- libraries/physics/src/ObjectActionOffset.cpp | 2 +- libraries/physics/src/ObjectActionOffset.h | 4 ++-- libraries/physics/src/ObjectActionSpring.cpp | 2 +- libraries/physics/src/ObjectActionSpring.h | 4 ++-- 11 files changed, 20 insertions(+), 21 deletions(-) diff --git a/assignment-client/src/AssignmentAction.cpp b/assignment-client/src/AssignmentAction.cpp index 6cb3c06312..8be00f53bd 100644 --- a/assignment-client/src/AssignmentAction.cpp +++ b/assignment-client/src/AssignmentAction.cpp @@ -28,7 +28,7 @@ void AssignmentAction::removeFromSimulation(EntitySimulation* simulation) const simulation->removeAction(_id); } -QByteArray AssignmentAction::serialize() { +QByteArray AssignmentAction::serialize() const { return _data; } diff --git a/assignment-client/src/AssignmentAction.h b/assignment-client/src/AssignmentAction.h index cd72c1f277..cccecd5da5 100644 --- a/assignment-client/src/AssignmentAction.h +++ b/assignment-client/src/AssignmentAction.h @@ -25,14 +25,14 @@ public: virtual ~AssignmentAction(); const QUuid& getID() const { return _id; } - virtual EntityActionType getType() { return _type; } + virtual EntityActionType getType() const { return _type; } virtual void removeFromSimulation(EntitySimulation* simulation) const; virtual EntityItemWeakPointer getOwnerEntity() const { return _ownerEntity; } virtual void setOwnerEntity(const EntityItemPointer ownerEntity) { _ownerEntity = ownerEntity; } virtual bool updateArguments(QVariantMap arguments); virtual QVariantMap getArguments(); - virtual QByteArray serialize(); + virtual QByteArray serialize() const; virtual void deserialize(QByteArray serializedArguments); private: diff --git a/interface/src/avatar/AvatarActionHold.cpp b/interface/src/avatar/AvatarActionHold.cpp index 918521c0da..85e7067611 100644 --- a/interface/src/avatar/AvatarActionHold.cpp +++ b/interface/src/avatar/AvatarActionHold.cpp @@ -166,8 +166,7 @@ QVariantMap AvatarActionHold::getArguments() { void AvatarActionHold::deserialize(QByteArray serializedArguments) { - if (_mine) { - return; + if (!_mine) { + ObjectActionSpring::deserialize(serializedArguments); } - ObjectActionSpring::deserialize(serializedArguments); } diff --git a/interface/src/avatar/AvatarActionHold.h b/interface/src/avatar/AvatarActionHold.h index a47f1ce05d..e5aa0f1ccf 100644 --- a/interface/src/avatar/AvatarActionHold.h +++ b/interface/src/avatar/AvatarActionHold.h @@ -22,7 +22,7 @@ public: AvatarActionHold(EntityActionType type, QUuid id, EntityItemPointer ownerEntity); virtual ~AvatarActionHold(); - virtual EntityActionType getType() { return ACTION_TYPE_HOLD; } + virtual EntityActionType getType() const { return ACTION_TYPE_HOLD; } virtual bool updateArguments(QVariantMap arguments); virtual QVariantMap getArguments(); diff --git a/libraries/entities/src/EntityActionInterface.h b/libraries/entities/src/EntityActionInterface.h index 5693e1fb6f..a543b65f40 100644 --- a/libraries/entities/src/EntityActionInterface.h +++ b/libraries/entities/src/EntityActionInterface.h @@ -32,7 +32,7 @@ public: EntityActionInterface() { } virtual ~EntityActionInterface() { } virtual const QUuid& getID() const = 0; - virtual EntityActionType getType() { assert(false); return ACTION_TYPE_NONE; } + virtual EntityActionType getType() const { assert(false); return ACTION_TYPE_NONE; } virtual void removeFromSimulation(EntitySimulation* simulation) const = 0; virtual EntityItemWeakPointer getOwnerEntity() const = 0; @@ -40,7 +40,7 @@ public: virtual bool updateArguments(QVariantMap arguments) = 0; virtual QVariantMap getArguments() = 0; - virtual QByteArray serialize() = 0; + virtual QByteArray serialize() const = 0; virtual void deserialize(QByteArray serializedArguments) = 0; static EntityActionType actionTypeFromString(QString actionTypeString); diff --git a/libraries/physics/src/ObjectAction.cpp b/libraries/physics/src/ObjectAction.cpp index ae29fe79d3..2dbfba0413 100644 --- a/libraries/physics/src/ObjectAction.cpp +++ b/libraries/physics/src/ObjectAction.cpp @@ -24,15 +24,15 @@ ObjectAction::~ObjectAction() { } void ObjectAction::updateAction(btCollisionWorld* collisionWorld, btScalar deltaTimeStep) { - if (!_active) { - return; - } if (_ownerEntity.expired()) { qDebug() << "warning -- action with no entity removing self from btCollisionWorld."; btDynamicsWorld* dynamicsWorld = static_cast(collisionWorld); dynamicsWorld->removeAction(this); return; } + if (!_active) { + return; + } updateActionWorker(deltaTimeStep); } @@ -129,7 +129,7 @@ void ObjectAction::setAngularVelocity(glm::vec3 angularVelocity) { rigidBody->activate(); } -QByteArray ObjectAction::serialize() { +QByteArray ObjectAction::serialize() const { assert(false); return QByteArray(); } diff --git a/libraries/physics/src/ObjectAction.h b/libraries/physics/src/ObjectAction.h index 0e982aaacf..928eb6d3a4 100644 --- a/libraries/physics/src/ObjectAction.h +++ b/libraries/physics/src/ObjectAction.h @@ -30,7 +30,7 @@ public: virtual ~ObjectAction(); const QUuid& getID() const { return _id; } - virtual EntityActionType getType() { assert(false); return ACTION_TYPE_NONE; } + virtual EntityActionType getType() const { assert(false); return ACTION_TYPE_NONE; } virtual void removeFromSimulation(EntitySimulation* simulation) const; virtual EntityItemWeakPointer getOwnerEntity() const { return _ownerEntity; } virtual void setOwnerEntity(const EntityItemPointer ownerEntity) { _ownerEntity = ownerEntity; } @@ -45,7 +45,7 @@ public: virtual void updateAction(btCollisionWorld* collisionWorld, btScalar deltaTimeStep); virtual void debugDraw(btIDebugDraw* debugDrawer); - virtual QByteArray serialize(); + virtual QByteArray serialize() const; virtual void deserialize(QByteArray serializedArguments); private: diff --git a/libraries/physics/src/ObjectActionOffset.cpp b/libraries/physics/src/ObjectActionOffset.cpp index 22c6b7e0d3..b03cd43876 100644 --- a/libraries/physics/src/ObjectActionOffset.cpp +++ b/libraries/physics/src/ObjectActionOffset.cpp @@ -127,7 +127,7 @@ QVariantMap ObjectActionOffset::getArguments() { return arguments; } -QByteArray ObjectActionOffset::serialize() { +QByteArray ObjectActionOffset::serialize() const { QByteArray ba; QDataStream dataStream(&ba, QIODevice::WriteOnly); dataStream << getType(); diff --git a/libraries/physics/src/ObjectActionOffset.h b/libraries/physics/src/ObjectActionOffset.h index 28a08c2efe..b58d943b2d 100644 --- a/libraries/physics/src/ObjectActionOffset.h +++ b/libraries/physics/src/ObjectActionOffset.h @@ -22,14 +22,14 @@ public: ObjectActionOffset(EntityActionType type, QUuid id, EntityItemPointer ownerEntity); virtual ~ObjectActionOffset(); - virtual EntityActionType getType() { return ACTION_TYPE_OFFSET; } + virtual EntityActionType getType() const { return ACTION_TYPE_OFFSET; } virtual bool updateArguments(QVariantMap arguments); virtual QVariantMap getArguments(); virtual void updateActionWorker(float deltaTimeStep); - virtual QByteArray serialize(); + virtual QByteArray serialize() const; virtual void deserialize(QByteArray serializedArguments); private: diff --git a/libraries/physics/src/ObjectActionSpring.cpp b/libraries/physics/src/ObjectActionSpring.cpp index fae593f3eb..e7d841664d 100644 --- a/libraries/physics/src/ObjectActionSpring.cpp +++ b/libraries/physics/src/ObjectActionSpring.cpp @@ -206,7 +206,7 @@ QVariantMap ObjectActionSpring::getArguments() { return arguments; } -QByteArray ObjectActionSpring::serialize() { +QByteArray ObjectActionSpring::serialize() const { QByteArray serializedActionArguments; QDataStream dataStream(&serializedActionArguments, QIODevice::WriteOnly); diff --git a/libraries/physics/src/ObjectActionSpring.h b/libraries/physics/src/ObjectActionSpring.h index c887a046bb..d45bc78f10 100644 --- a/libraries/physics/src/ObjectActionSpring.h +++ b/libraries/physics/src/ObjectActionSpring.h @@ -22,14 +22,14 @@ public: ObjectActionSpring(EntityActionType type, QUuid id, EntityItemPointer ownerEntity); virtual ~ObjectActionSpring(); - virtual EntityActionType getType() { return ACTION_TYPE_SPRING; } + virtual EntityActionType getType() const { return ACTION_TYPE_SPRING; } virtual bool updateArguments(QVariantMap arguments); virtual QVariantMap getArguments(); virtual void updateActionWorker(float deltaTimeStep); - virtual QByteArray serialize(); + virtual QByteArray serialize() const; virtual void deserialize(QByteArray serializedArguments); protected: From e9df8cacc754f7973da2906444977e4344de735a Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Tue, 7 Jul 2015 16:17:37 -0700 Subject: [PATCH 2/4] make some arguments const, cleanup some #includes --- assignment-client/src/AssignmentAction.cpp | 2 +- assignment-client/src/AssignmentAction.h | 2 +- assignment-client/src/AssignmentActionFactory.cpp | 4 ++-- assignment-client/src/AssignmentActionFactory.h | 2 +- interface/src/InterfaceActionFactory.cpp | 4 ++-- interface/src/InterfaceActionFactory.h | 2 +- interface/src/avatar/AvatarActionHold.cpp | 2 +- interface/src/avatar/AvatarActionHold.h | 2 +- libraries/entities/src/EntityActionFactoryInterface.h | 2 +- libraries/physics/src/ObjectAction.cpp | 2 +- libraries/physics/src/ObjectAction.h | 4 +--- libraries/physics/src/ObjectActionOffset.cpp | 2 +- libraries/physics/src/ObjectActionOffset.h | 2 +- libraries/physics/src/ObjectActionSpring.cpp | 2 +- libraries/physics/src/ObjectActionSpring.h | 5 +---- libraries/shared/src/QVariantGLM.cpp | 8 ++++---- libraries/shared/src/QVariantGLM.h | 8 ++++---- 17 files changed, 25 insertions(+), 30 deletions(-) diff --git a/assignment-client/src/AssignmentAction.cpp b/assignment-client/src/AssignmentAction.cpp index 8be00f53bd..58a6eda473 100644 --- a/assignment-client/src/AssignmentAction.cpp +++ b/assignment-client/src/AssignmentAction.cpp @@ -13,7 +13,7 @@ #include "AssignmentAction.h" -AssignmentAction::AssignmentAction(EntityActionType type, QUuid id, EntityItemPointer ownerEntity) : +AssignmentAction::AssignmentAction(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity) : _id(id), _type(type), _data(QByteArray()), diff --git a/assignment-client/src/AssignmentAction.h b/assignment-client/src/AssignmentAction.h index cccecd5da5..77ccf52032 100644 --- a/assignment-client/src/AssignmentAction.h +++ b/assignment-client/src/AssignmentAction.h @@ -21,7 +21,7 @@ class AssignmentAction : public EntityActionInterface { public: - AssignmentAction(EntityActionType type, QUuid id, EntityItemPointer ownerEntity); + AssignmentAction(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity); virtual ~AssignmentAction(); const QUuid& getID() const { return _id; } diff --git a/assignment-client/src/AssignmentActionFactory.cpp b/assignment-client/src/AssignmentActionFactory.cpp index ba2692c611..e1c5d3adff 100644 --- a/assignment-client/src/AssignmentActionFactory.cpp +++ b/assignment-client/src/AssignmentActionFactory.cpp @@ -12,14 +12,14 @@ #include "AssignmentActionFactory.h" -EntityActionPointer assignmentActionFactory(EntityActionType type, QUuid id, EntityItemPointer ownerEntity) { +EntityActionPointer assignmentActionFactory(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity) { return (EntityActionPointer) new AssignmentAction(type, id, ownerEntity); } EntityActionPointer AssignmentActionFactory::factory(EntitySimulation* simulation, EntityActionType type, - QUuid id, + const QUuid& id, EntityItemPointer ownerEntity, QVariantMap arguments) { EntityActionPointer action = assignmentActionFactory(type, id, ownerEntity); diff --git a/assignment-client/src/AssignmentActionFactory.h b/assignment-client/src/AssignmentActionFactory.h index f71d22c0dd..41245dac68 100644 --- a/assignment-client/src/AssignmentActionFactory.h +++ b/assignment-client/src/AssignmentActionFactory.h @@ -21,7 +21,7 @@ public: virtual ~AssignmentActionFactory() { } virtual EntityActionPointer factory(EntitySimulation* simulation, EntityActionType type, - QUuid id, + const QUuid& id, EntityItemPointer ownerEntity, QVariantMap arguments); virtual EntityActionPointer factoryBA(EntitySimulation* simulation, diff --git a/interface/src/InterfaceActionFactory.cpp b/interface/src/InterfaceActionFactory.cpp index ccff5b4dc6..b721b10af3 100644 --- a/interface/src/InterfaceActionFactory.cpp +++ b/interface/src/InterfaceActionFactory.cpp @@ -18,7 +18,7 @@ #include "InterfaceActionFactory.h" -EntityActionPointer interfaceActionFactory(EntityActionType type, QUuid id, EntityItemPointer ownerEntity) { +EntityActionPointer interfaceActionFactory(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity) { switch (type) { case ACTION_TYPE_NONE: return nullptr; @@ -37,7 +37,7 @@ EntityActionPointer interfaceActionFactory(EntityActionType type, QUuid id, Enti EntityActionPointer InterfaceActionFactory::factory(EntitySimulation* simulation, EntityActionType type, - QUuid id, + const QUuid& id, EntityItemPointer ownerEntity, QVariantMap arguments) { EntityActionPointer action = interfaceActionFactory(type, id, ownerEntity); diff --git a/interface/src/InterfaceActionFactory.h b/interface/src/InterfaceActionFactory.h index 944e2fb753..004c24163f 100644 --- a/interface/src/InterfaceActionFactory.h +++ b/interface/src/InterfaceActionFactory.h @@ -20,7 +20,7 @@ public: virtual ~InterfaceActionFactory() { } virtual EntityActionPointer factory(EntitySimulation* simulation, EntityActionType type, - QUuid id, + const QUuid& id, EntityItemPointer ownerEntity, QVariantMap arguments); virtual EntityActionPointer factoryBA(EntitySimulation* simulation, diff --git a/interface/src/avatar/AvatarActionHold.cpp b/interface/src/avatar/AvatarActionHold.cpp index 85e7067611..b8c7621094 100644 --- a/interface/src/avatar/AvatarActionHold.cpp +++ b/interface/src/avatar/AvatarActionHold.cpp @@ -17,7 +17,7 @@ const uint16_t AvatarActionHold::holdVersion = 1; -AvatarActionHold::AvatarActionHold(EntityActionType type, QUuid id, EntityItemPointer ownerEntity) : +AvatarActionHold::AvatarActionHold(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity) : ObjectActionSpring(type, id, ownerEntity), _relativePosition(glm::vec3(0.0f)), _relativeRotation(glm::quat()), diff --git a/interface/src/avatar/AvatarActionHold.h b/interface/src/avatar/AvatarActionHold.h index e5aa0f1ccf..970fb75c0d 100644 --- a/interface/src/avatar/AvatarActionHold.h +++ b/interface/src/avatar/AvatarActionHold.h @@ -19,7 +19,7 @@ class AvatarActionHold : public ObjectActionSpring { public: - AvatarActionHold(EntityActionType type, QUuid id, EntityItemPointer ownerEntity); + AvatarActionHold(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity); virtual ~AvatarActionHold(); virtual EntityActionType getType() const { return ACTION_TYPE_HOLD; } diff --git a/libraries/entities/src/EntityActionFactoryInterface.h b/libraries/entities/src/EntityActionFactoryInterface.h index 5269405d55..9f4056cdff 100644 --- a/libraries/entities/src/EntityActionFactoryInterface.h +++ b/libraries/entities/src/EntityActionFactoryInterface.h @@ -25,7 +25,7 @@ class EntityActionFactoryInterface : public QObject, public Dependency { virtual ~EntityActionFactoryInterface() { } virtual EntityActionPointer factory(EntitySimulation* simulation, EntityActionType type, - QUuid id, + const QUuid& id, EntityItemPointer ownerEntity, QVariantMap arguments) { assert(false); return nullptr; } virtual EntityActionPointer factoryBA(EntitySimulation* simulation, diff --git a/libraries/physics/src/ObjectAction.cpp b/libraries/physics/src/ObjectAction.cpp index 2dbfba0413..3c38b084aa 100644 --- a/libraries/physics/src/ObjectAction.cpp +++ b/libraries/physics/src/ObjectAction.cpp @@ -13,7 +13,7 @@ #include "ObjectAction.h" -ObjectAction::ObjectAction(EntityActionType type, QUuid id, EntityItemPointer ownerEntity) : +ObjectAction::ObjectAction(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity) : btActionInterface(), _id(id), _active(false), diff --git a/libraries/physics/src/ObjectAction.h b/libraries/physics/src/ObjectAction.h index 928eb6d3a4..1fb3ea9b10 100644 --- a/libraries/physics/src/ObjectAction.h +++ b/libraries/physics/src/ObjectAction.h @@ -17,8 +17,6 @@ #include -#include - #include "ObjectMotionState.h" #include "BulletUtil.h" #include "EntityActionInterface.h" @@ -26,7 +24,7 @@ class ObjectAction : public btActionInterface, public EntityActionInterface { public: - ObjectAction(EntityActionType type, QUuid id, EntityItemPointer ownerEntity); + ObjectAction(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity); virtual ~ObjectAction(); const QUuid& getID() const { return _id; } diff --git a/libraries/physics/src/ObjectActionOffset.cpp b/libraries/physics/src/ObjectActionOffset.cpp index b03cd43876..90e148971a 100644 --- a/libraries/physics/src/ObjectActionOffset.cpp +++ b/libraries/physics/src/ObjectActionOffset.cpp @@ -15,7 +15,7 @@ const uint16_t ObjectActionOffset::offsetVersion = 1; -ObjectActionOffset::ObjectActionOffset(EntityActionType type, QUuid id, EntityItemPointer ownerEntity) : +ObjectActionOffset::ObjectActionOffset(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity) : ObjectAction(type, id, ownerEntity) { #if WANT_DEBUG qDebug() << "ObjectActionOffset::ObjectActionOffset"; diff --git a/libraries/physics/src/ObjectActionOffset.h b/libraries/physics/src/ObjectActionOffset.h index b58d943b2d..ef79c8eb6b 100644 --- a/libraries/physics/src/ObjectActionOffset.h +++ b/libraries/physics/src/ObjectActionOffset.h @@ -19,7 +19,7 @@ class ObjectActionOffset : public ObjectAction { public: - ObjectActionOffset(EntityActionType type, QUuid id, EntityItemPointer ownerEntity); + ObjectActionOffset(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity); virtual ~ObjectActionOffset(); virtual EntityActionType getType() const { return ACTION_TYPE_OFFSET; } diff --git a/libraries/physics/src/ObjectActionSpring.cpp b/libraries/physics/src/ObjectActionSpring.cpp index e7d841664d..8e55b8b857 100644 --- a/libraries/physics/src/ObjectActionSpring.cpp +++ b/libraries/physics/src/ObjectActionSpring.cpp @@ -17,7 +17,7 @@ const float SPRING_MAX_SPEED = 10.0f; const uint16_t ObjectActionSpring::springVersion = 1; -ObjectActionSpring::ObjectActionSpring(EntityActionType type, QUuid id, EntityItemPointer ownerEntity) : +ObjectActionSpring::ObjectActionSpring(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity) : ObjectAction(type, id, ownerEntity), _positionalTarget(glm::vec3(0.0f)), _linearTimeScale(0.2f), diff --git a/libraries/physics/src/ObjectActionSpring.h b/libraries/physics/src/ObjectActionSpring.h index d45bc78f10..6c576e4545 100644 --- a/libraries/physics/src/ObjectActionSpring.h +++ b/libraries/physics/src/ObjectActionSpring.h @@ -12,14 +12,11 @@ #ifndef hifi_ObjectActionSpring_h #define hifi_ObjectActionSpring_h -#include - -#include #include "ObjectAction.h" class ObjectActionSpring : public ObjectAction { public: - ObjectActionSpring(EntityActionType type, QUuid id, EntityItemPointer ownerEntity); + ObjectActionSpring(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity); virtual ~ObjectActionSpring(); virtual EntityActionType getType() const { return ACTION_TYPE_SPRING; } diff --git a/libraries/shared/src/QVariantGLM.cpp b/libraries/shared/src/QVariantGLM.cpp index 7cebacee8e..7a3ab92cca 100644 --- a/libraries/shared/src/QVariantGLM.cpp +++ b/libraries/shared/src/QVariantGLM.cpp @@ -20,7 +20,7 @@ QVariantList glmToQList(const glm::quat& g) { return QVariantList() << g.x << g.y << g.z << g.w; } -QVariantList rgbColorToQList(rgbColor& v) { +QVariantList rgbColorToQList(const rgbColor& v) { return QVariantList() << (int)(v[0]) << (int)(v[1]) << (int)(v[2]); } @@ -42,12 +42,12 @@ QVariantMap glmToQMap(const glm::quat& glmQuat) { } -glm::vec3 qListToGlmVec3(const QVariant q) { +glm::vec3 qListToGlmVec3(const QVariant& q) { QVariantList qList = q.toList(); return glm::vec3(qList[RED_INDEX].toFloat(), qList[GREEN_INDEX].toFloat(), qList[BLUE_INDEX].toFloat()); } -glm::quat qListToGlmQuat(const QVariant q) { +glm::quat qListToGlmQuat(const QVariant& q) { QVariantList qList = q.toList(); float x = qList[0].toFloat(); float y = qList[1].toFloat(); @@ -56,7 +56,7 @@ glm::quat qListToGlmQuat(const QVariant q) { return glm::quat(w, x, y, z); } -void qListtoRgbColor(const QVariant q, rgbColor returnValue) { +void qListtoRgbColor(const QVariant& q, rgbColor& returnValue) { QVariantList qList = q.toList(); returnValue[RED_INDEX] = qList[RED_INDEX].toInt(); returnValue[GREEN_INDEX] = qList[GREEN_INDEX].toInt(); diff --git a/libraries/shared/src/QVariantGLM.h b/libraries/shared/src/QVariantGLM.h index 922aa7c4aa..3a91110250 100644 --- a/libraries/shared/src/QVariantGLM.h +++ b/libraries/shared/src/QVariantGLM.h @@ -19,11 +19,11 @@ QVariantList glmToQList(const glm::vec3& g); QVariantList glmToQList(const glm::quat& g); -QVariantList rgbColorToQList(rgbColor& v); +QVariantList rgbColorToQList(const rgbColor& v); QVariantMap glmToQMap(const glm::vec3& glmVector); QVariantMap glmToQMap(const glm::quat& glmQuat); -glm::vec3 qListToGlmVec3(const QVariant q); -glm::quat qListToGlmQuat(const QVariant q); -void qListtoRgbColor(const QVariant q, rgbColor returnValue); +glm::vec3 qListToGlmVec3(const QVariant& q); +glm::quat qListToGlmQuat(const QVariant& q); +void qListtoRgbColor(const QVariant& q, rgbColor& returnValue); From a0a1b01ea9f7855f3670ce34591090d150a653c0 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Tue, 7 Jul 2015 17:48:05 -0700 Subject: [PATCH 3/4] coalesce dupe action data members: _id and _type --- assignment-client/src/AssignmentAction.cpp | 3 +-- assignment-client/src/AssignmentAction.h | 4 ---- interface/src/InterfaceActionFactory.cpp | 6 +++--- interface/src/avatar/AvatarActionHold.cpp | 5 +++-- interface/src/avatar/AvatarActionHold.h | 4 +--- .../entities/src/EntityActionInterface.h | 8 +++++--- libraries/physics/src/ObjectAction.cpp | 10 +--------- libraries/physics/src/ObjectAction.h | 20 +++++++++---------- libraries/physics/src/ObjectActionOffset.cpp | 11 +++++----- libraries/physics/src/ObjectActionOffset.h | 4 +--- libraries/physics/src/ObjectActionSpring.cpp | 11 +++++----- libraries/physics/src/ObjectActionSpring.h | 4 +--- 12 files changed, 37 insertions(+), 53 deletions(-) diff --git a/assignment-client/src/AssignmentAction.cpp b/assignment-client/src/AssignmentAction.cpp index 58a6eda473..8b5650ee42 100644 --- a/assignment-client/src/AssignmentAction.cpp +++ b/assignment-client/src/AssignmentAction.cpp @@ -14,8 +14,7 @@ #include "AssignmentAction.h" AssignmentAction::AssignmentAction(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity) : - _id(id), - _type(type), + EntityActionInterface(type, id), _data(QByteArray()), _active(false), _ownerEntity(ownerEntity) { diff --git a/assignment-client/src/AssignmentAction.h b/assignment-client/src/AssignmentAction.h index 77ccf52032..23720bd465 100644 --- a/assignment-client/src/AssignmentAction.h +++ b/assignment-client/src/AssignmentAction.h @@ -24,8 +24,6 @@ public: AssignmentAction(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity); virtual ~AssignmentAction(); - const QUuid& getID() const { return _id; } - virtual EntityActionType getType() const { return _type; } virtual void removeFromSimulation(EntitySimulation* simulation) const; virtual EntityItemWeakPointer getOwnerEntity() const { return _ownerEntity; } virtual void setOwnerEntity(const EntityItemPointer ownerEntity) { _ownerEntity = ownerEntity; } @@ -36,8 +34,6 @@ public: virtual void deserialize(QByteArray serializedArguments); private: - QUuid _id; - EntityActionType _type; QByteArray _data; protected: diff --git a/interface/src/InterfaceActionFactory.cpp b/interface/src/InterfaceActionFactory.cpp index b721b10af3..363fb66e76 100644 --- a/interface/src/InterfaceActionFactory.cpp +++ b/interface/src/InterfaceActionFactory.cpp @@ -23,11 +23,11 @@ EntityActionPointer interfaceActionFactory(EntityActionType type, const QUuid& i case ACTION_TYPE_NONE: return nullptr; case ACTION_TYPE_OFFSET: - return (EntityActionPointer) new ObjectActionOffset(type, id, ownerEntity); + return (EntityActionPointer) new ObjectActionOffset(id, ownerEntity); case ACTION_TYPE_SPRING: - return (EntityActionPointer) new ObjectActionSpring(type, id, ownerEntity); + return (EntityActionPointer) new ObjectActionSpring(id, ownerEntity); case ACTION_TYPE_HOLD: - return (EntityActionPointer) new AvatarActionHold(type, id, ownerEntity); + return (EntityActionPointer) new AvatarActionHold(id, ownerEntity); } assert(false); diff --git a/interface/src/avatar/AvatarActionHold.cpp b/interface/src/avatar/AvatarActionHold.cpp index b8c7621094..ca903a9771 100644 --- a/interface/src/avatar/AvatarActionHold.cpp +++ b/interface/src/avatar/AvatarActionHold.cpp @@ -17,13 +17,14 @@ const uint16_t AvatarActionHold::holdVersion = 1; -AvatarActionHold::AvatarActionHold(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity) : - ObjectActionSpring(type, id, ownerEntity), +AvatarActionHold::AvatarActionHold(const QUuid& id, EntityItemPointer ownerEntity) : + ObjectActionSpring(id, ownerEntity), _relativePosition(glm::vec3(0.0f)), _relativeRotation(glm::quat()), _hand("right"), _mine(false) { + _type = ACTION_TYPE_HOLD; #if WANT_DEBUG qDebug() << "AvatarActionHold::AvatarActionHold"; #endif diff --git a/interface/src/avatar/AvatarActionHold.h b/interface/src/avatar/AvatarActionHold.h index 970fb75c0d..3500b5dfa1 100644 --- a/interface/src/avatar/AvatarActionHold.h +++ b/interface/src/avatar/AvatarActionHold.h @@ -19,11 +19,9 @@ class AvatarActionHold : public ObjectActionSpring { public: - AvatarActionHold(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity); + AvatarActionHold(const QUuid& id, EntityItemPointer ownerEntity); virtual ~AvatarActionHold(); - virtual EntityActionType getType() const { return ACTION_TYPE_HOLD; } - virtual bool updateArguments(QVariantMap arguments); virtual QVariantMap getArguments(); diff --git a/libraries/entities/src/EntityActionInterface.h b/libraries/entities/src/EntityActionInterface.h index a543b65f40..a4f1c8ea15 100644 --- a/libraries/entities/src/EntityActionInterface.h +++ b/libraries/entities/src/EntityActionInterface.h @@ -29,10 +29,10 @@ enum EntityActionType { class EntityActionInterface { public: - EntityActionInterface() { } + EntityActionInterface(EntityActionType type, const QUuid& id) : _id(id), _type(type) { } virtual ~EntityActionInterface() { } - virtual const QUuid& getID() const = 0; - virtual EntityActionType getType() const { assert(false); return ACTION_TYPE_NONE; } + const QUuid& getID() const { return _id; } + EntityActionType getType() const { return _type; } virtual void removeFromSimulation(EntitySimulation* simulation) const = 0; virtual EntityItemWeakPointer getOwnerEntity() const = 0; @@ -68,6 +68,8 @@ protected: static QString extractStringArgument(QString objectName, QVariantMap arguments, QString argumentName, bool& ok, bool required = true); + QUuid _id; + EntityActionType _type; }; diff --git a/libraries/physics/src/ObjectAction.cpp b/libraries/physics/src/ObjectAction.cpp index 3c38b084aa..101b69f03a 100644 --- a/libraries/physics/src/ObjectAction.cpp +++ b/libraries/physics/src/ObjectAction.cpp @@ -15,7 +15,7 @@ ObjectAction::ObjectAction(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity) : btActionInterface(), - _id(id), + EntityActionInterface(type, id), _active(false), _ownerEntity(ownerEntity) { } @@ -129,11 +129,3 @@ void ObjectAction::setAngularVelocity(glm::vec3 angularVelocity) { rigidBody->activate(); } -QByteArray ObjectAction::serialize() const { - assert(false); - return QByteArray(); -} - -void ObjectAction::deserialize(QByteArray serializedArguments) { - assert(false); -} diff --git a/libraries/physics/src/ObjectAction.h b/libraries/physics/src/ObjectAction.h index 1fb3ea9b10..9c7a2c9b4b 100644 --- a/libraries/physics/src/ObjectAction.h +++ b/libraries/physics/src/ObjectAction.h @@ -27,28 +27,22 @@ public: ObjectAction(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity); virtual ~ObjectAction(); - const QUuid& getID() const { return _id; } - virtual EntityActionType getType() const { assert(false); return ACTION_TYPE_NONE; } virtual void removeFromSimulation(EntitySimulation* simulation) const; virtual EntityItemWeakPointer getOwnerEntity() const { return _ownerEntity; } virtual void setOwnerEntity(const EntityItemPointer ownerEntity) { _ownerEntity = ownerEntity; } - virtual bool updateArguments(QVariantMap arguments) { return false; } - virtual QVariantMap getArguments() { return QVariantMap(); } + virtual bool updateArguments(QVariantMap arguments) = 0; + virtual QVariantMap getArguments() = 0; // this is called from updateAction and should be overridden by subclasses - virtual void updateActionWorker(float deltaTimeStep) {} + virtual void updateActionWorker(float deltaTimeStep) = 0; // these are from btActionInterface virtual void updateAction(btCollisionWorld* collisionWorld, btScalar deltaTimeStep); virtual void debugDraw(btIDebugDraw* debugDrawer); - virtual QByteArray serialize() const; - virtual void deserialize(QByteArray serializedArguments); - -private: - QUuid _id; - QReadWriteLock _lock; + virtual QByteArray serialize() const = 0; + virtual void deserialize(QByteArray serializedArguments) = 0; protected: @@ -68,6 +62,10 @@ protected: bool tryLockForWrite() { return _lock.tryLockForWrite(); } void unlock() { _lock.unlock(); } +private: + QReadWriteLock _lock; + +protected: bool _active; EntityItemWeakPointer _ownerEntity; }; diff --git a/libraries/physics/src/ObjectActionOffset.cpp b/libraries/physics/src/ObjectActionOffset.cpp index 90e148971a..7cf35b27d7 100644 --- a/libraries/physics/src/ObjectActionOffset.cpp +++ b/libraries/physics/src/ObjectActionOffset.cpp @@ -15,8 +15,8 @@ const uint16_t ObjectActionOffset::offsetVersion = 1; -ObjectActionOffset::ObjectActionOffset(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity) : - ObjectAction(type, id, ownerEntity) { +ObjectActionOffset::ObjectActionOffset(const QUuid& id, EntityItemPointer ownerEntity) : + ObjectAction(ACTION_TYPE_OFFSET, id, ownerEntity) { #if WANT_DEBUG qDebug() << "ObjectActionOffset::ObjectActionOffset"; #endif @@ -146,13 +146,14 @@ void ObjectActionOffset::deserialize(QByteArray serializedArguments) { QDataStream dataStream(serializedArguments); EntityActionType type; - QUuid id; - uint16_t serializationVersion; - dataStream >> type; assert(type == getType()); + + QUuid id; dataStream >> id; assert(id == getID()); + + uint16_t serializationVersion; dataStream >> serializationVersion; if (serializationVersion != ObjectActionOffset::offsetVersion) { return; diff --git a/libraries/physics/src/ObjectActionOffset.h b/libraries/physics/src/ObjectActionOffset.h index ef79c8eb6b..1918da6996 100644 --- a/libraries/physics/src/ObjectActionOffset.h +++ b/libraries/physics/src/ObjectActionOffset.h @@ -19,11 +19,9 @@ class ObjectActionOffset : public ObjectAction { public: - ObjectActionOffset(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity); + ObjectActionOffset(const QUuid& id, EntityItemPointer ownerEntity); virtual ~ObjectActionOffset(); - virtual EntityActionType getType() const { return ACTION_TYPE_OFFSET; } - virtual bool updateArguments(QVariantMap arguments); virtual QVariantMap getArguments(); diff --git a/libraries/physics/src/ObjectActionSpring.cpp b/libraries/physics/src/ObjectActionSpring.cpp index 8e55b8b857..cb1dd20472 100644 --- a/libraries/physics/src/ObjectActionSpring.cpp +++ b/libraries/physics/src/ObjectActionSpring.cpp @@ -17,8 +17,8 @@ const float SPRING_MAX_SPEED = 10.0f; const uint16_t ObjectActionSpring::springVersion = 1; -ObjectActionSpring::ObjectActionSpring(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity) : - ObjectAction(type, id, ownerEntity), +ObjectActionSpring::ObjectActionSpring(const QUuid& id, EntityItemPointer ownerEntity) : + ObjectAction(ACTION_TYPE_SPRING, id, ownerEntity), _positionalTarget(glm::vec3(0.0f)), _linearTimeScale(0.2f), _positionalTargetSet(false), @@ -229,13 +229,14 @@ void ObjectActionSpring::deserialize(QByteArray serializedArguments) { QDataStream dataStream(serializedArguments); EntityActionType type; - QUuid id; - uint16_t serializationVersion; - dataStream >> type; assert(type == getType()); + + QUuid id; dataStream >> id; assert(id == getID()); + + uint16_t serializationVersion; dataStream >> serializationVersion; if (serializationVersion != ObjectActionSpring::springVersion) { return; diff --git a/libraries/physics/src/ObjectActionSpring.h b/libraries/physics/src/ObjectActionSpring.h index 6c576e4545..caa64c3d3a 100644 --- a/libraries/physics/src/ObjectActionSpring.h +++ b/libraries/physics/src/ObjectActionSpring.h @@ -16,11 +16,9 @@ class ObjectActionSpring : public ObjectAction { public: - ObjectActionSpring(EntityActionType type, const QUuid& id, EntityItemPointer ownerEntity); + ObjectActionSpring(const QUuid& id, EntityItemPointer ownerEntity); virtual ~ObjectActionSpring(); - virtual EntityActionType getType() const { return ACTION_TYPE_SPRING; } - virtual bool updateArguments(QVariantMap arguments); virtual QVariantMap getArguments(); From 58c32dbf2066ec1e1eb084e8aa6927e64f48b746 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Wed, 8 Jul 2015 11:30:04 -0700 Subject: [PATCH 4/4] remove whitespace from end of lines --- libraries/physics/src/ObjectAction.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/physics/src/ObjectAction.h b/libraries/physics/src/ObjectAction.h index 9c7a2c9b4b..f619657e92 100644 --- a/libraries/physics/src/ObjectAction.h +++ b/libraries/physics/src/ObjectAction.h @@ -65,7 +65,7 @@ protected: private: QReadWriteLock _lock; -protected: +protected: bool _active; EntityItemWeakPointer _ownerEntity; };