From e977d28fe338e431c8d0ee98baab648f34ee022c Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 3 Oct 2013 11:55:30 -0700 Subject: [PATCH] replace QVariantMap glm::vec3 setters with conversions for QScriptValue --- libraries/audio/src/AudioInjector.h | 3 +- libraries/avatars/src/AvatarData.cpp | 32 ---------------------- libraries/avatars/src/AvatarData.h | 15 ++++------ libraries/shared/src/RegisteredMetaTypes.h | 16 +++++++++++ 4 files changed, 23 insertions(+), 43 deletions(-) create mode 100644 libraries/shared/src/RegisteredMetaTypes.h diff --git a/libraries/audio/src/AudioInjector.h b/libraries/audio/src/AudioInjector.h index b8e6cb823d..5824086eb0 100644 --- a/libraries/audio/src/AudioInjector.h +++ b/libraries/audio/src/AudioInjector.h @@ -14,6 +14,7 @@ #include +#include #include #include "AudioRingBuffer.h" @@ -24,8 +25,6 @@ const int MAX_INJECTOR_VOLUME = 0xFF; const int INJECT_INTERVAL_USECS = floorf((BUFFER_LENGTH_SAMPLES_PER_CHANNEL / SAMPLE_RATE) * 1000000); -Q_DECLARE_METATYPE(glm::vec3) - class AudioInjector : public QObject { Q_OBJECT diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index edc76bedca..66c33d4713 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -52,38 +52,6 @@ AvatarData::~AvatarData() { delete _handData; } -void AvatarData::setPositionFromVariantMap(QVariantMap positionMap) { - _position = glm::vec3(positionMap.value("x").toFloat(), - positionMap.value("y").toFloat(), - positionMap.value("z").toFloat()); -} - -QVariantMap AvatarData::getPositionVariantMap() { - QVariantMap positionMap; - - positionMap.insert("x", _position.x); - positionMap.insert("y", _position.y); - positionMap.insert("z", _position.z); - - return positionMap; -} - -void AvatarData::setHandPositionFromVariantMap(QVariantMap handPositionMap) { - _handPosition = glm::vec3(handPositionMap.value("x").toFloat(), - handPositionMap.value("y").toFloat(), - handPositionMap.value("z").toFloat()); -} - -QVariantMap AvatarData::getHandPositionVariantMap() { - QVariantMap positionMap; - - positionMap.insert("x", _handPosition.x); - positionMap.insert("y", _handPosition.y); - positionMap.insert("z", _handPosition.z); - - return positionMap; -} - void AvatarData::sendData() { // called from Agent visual loop to send data diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h index 82ef0d671a..0b1181f8f2 100755 --- a/libraries/avatars/src/AvatarData.h +++ b/libraries/avatars/src/AvatarData.h @@ -19,6 +19,8 @@ #include #include +#include + #include #include "HeadData.h" #include "HandData.h" @@ -48,8 +50,8 @@ class JointData; class AvatarData : public NodeData { Q_OBJECT - Q_PROPERTY(QVariantMap position READ getPositionVariantMap WRITE setPositionFromVariantMap) - Q_PROPERTY(QVariantMap handPosition READ getHandPositionVariantMap WRITE setHandPositionFromVariantMap) + Q_PROPERTY(glm::vec3 position READ getPosition WRITE setPosition) + Q_PROPERTY(glm::vec3 handPosition READ getHandPosition WRITE setHandPosition) Q_PROPERTY(float bodyYaw READ getBodyYaw WRITE setBodyYaw) Q_PROPERTY(float bodyPitch READ getBodyPitch WRITE setBodyPitch) Q_PROPERTY(float bodyRoll READ getBodyRoll WRITE setBodyRoll) @@ -59,16 +61,11 @@ public: ~AvatarData(); const glm::vec3& getPosition() const { return _position; } - void setPosition(const glm::vec3 position) { _position = position; } + + const glm::vec3& getHandPosition() const { return _handPosition; } void setHandPosition(const glm::vec3 handPosition) { _handPosition = handPosition; } - void setPositionFromVariantMap(QVariantMap positionMap); - QVariantMap getPositionVariantMap(); - - void setHandPositionFromVariantMap(QVariantMap handPositionMap); - QVariantMap getHandPositionVariantMap(); - int getBroadcastData(unsigned char* destinationBuffer); int parseData(unsigned char* sourceBuffer, int numBytes); diff --git a/libraries/shared/src/RegisteredMetaTypes.h b/libraries/shared/src/RegisteredMetaTypes.h new file mode 100644 index 0000000000..e15e053ebb --- /dev/null +++ b/libraries/shared/src/RegisteredMetaTypes.h @@ -0,0 +1,16 @@ +// +// RegisteredMetaTypes.h +// hifi +// +// Created by Stephen Birarda on 10/3/13. +// Copyright (c) 2013 HighFidelity, Inc. All rights reserved. +// +// Used to register meta-types with Qt so that they can be used as properties for objects exposed to our +// Agent scripting. + +#ifndef hifi_RegisteredMetaTypes_h +#define hifi_RegisteredMetaTypes_h + +Q_DECLARE_METATYPE(glm::vec3) + +#endif