From 2814cca9afdf43e6aa4d59797a76e0240da8e23a Mon Sep 17 00:00:00 2001 From: stojce Date: Fri, 3 Jan 2014 21:02:56 +0100 Subject: [PATCH] #19466 - Add avatar scale to preferences panel --- interface/src/Menu.cpp | 5 +++++ interface/src/avatar/Avatar.h | 2 -- interface/src/ui/LogDialog.h | 1 + libraries/avatars/src/AvatarData.cpp | 10 ++++++++++ libraries/avatars/src/AvatarData.h | 5 ++++- 5 files changed, 20 insertions(+), 3 deletions(-) diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index d4e355d20f..545a765dce 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -824,6 +824,10 @@ void Menu::editPreferences() { leanScale->setValue(applicationInstance->getAvatar()->getLeanScale()); form->addRow("Lean Scale:", leanScale); + QDoubleSpinBox* avatarScale = new QDoubleSpinBox(); + avatarScale->setValue(applicationInstance->getAvatar()->getScale()); + form->addRow("Avatar Scale:", avatarScale); + QSpinBox* audioJitterBufferSamples = new QSpinBox(); audioJitterBufferSamples->setMaximum(10000); audioJitterBufferSamples->setMinimum(-10000); @@ -887,6 +891,7 @@ void Menu::editPreferences() { _maxVoxelPacketsPerSecond = maxVoxelsPPS->value(); applicationInstance->getAvatar()->setLeanScale(leanScale->value()); + applicationInstance->getAvatar()->setNewScale(avatarScale->value()); _audioJitterBufferSamples = audioJitterBufferSamples->value(); diff --git a/interface/src/avatar/Avatar.h b/interface/src/avatar/Avatar.h index 39df62f603..1aa92b98ad 100755 --- a/interface/src/avatar/Avatar.h +++ b/interface/src/avatar/Avatar.h @@ -24,8 +24,6 @@ #include "devices/SerialInterface.h" #include "devices/Transmitter.h" -static const float MAX_SCALE = 1000.f; -static const float MIN_SCALE = .005f; static const float SCALING_RATIO = .05f; static const float SMOOTHING_RATIO = .05f; // 0 < ratio < 1 static const float RESCALING_TOLERANCE = .02f; diff --git a/interface/src/ui/LogDialog.h b/interface/src/ui/LogDialog.h index 9a0481546e..6741012a26 100644 --- a/interface/src/ui/LogDialog.h +++ b/interface/src/ui/LogDialog.h @@ -15,6 +15,7 @@ #include #include #include +#include #include "AbstractLoggerInterface.h" diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index 0a90f4db96..14115ced47 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -295,3 +295,13 @@ int AvatarData::parseData(unsigned char* sourceBuffer, int numBytes) { return sourceBuffer - startPosition; } + +void AvatarData::setNewScale(float newScale) { + if (newScale > MAX_SCALE) { + newScale = MAX_SCALE; + } else if (newScale < MIN_SCALE) { + newScale = MIN_SCALE; + } + _newScale = newScale; + qDebug() << "Changed scale to " << _newScale << "\n"; +} diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h index 1dd5dacafe..32acf3583f 100755 --- a/libraries/avatars/src/AvatarData.h +++ b/libraries/avatars/src/AvatarData.h @@ -32,6 +32,9 @@ const int HAND_STATE_START_BIT = 2; // 3rd and 4th bits const int IS_FACESHIFT_CONNECTED = 4; // 5th bit const int IS_CHAT_CIRCLING_ENABLED = 5; +static const float MAX_SCALE = 1000.f; +static const float MIN_SCALE = .005f; + const float MAX_AUDIO_LOUDNESS = 1000.0; // close enough for mouth animation enum KeyState @@ -80,7 +83,7 @@ public: // Scale float getNewScale() const { return _newScale; } - void setNewScale(float newScale) { _newScale = newScale; } + void setNewScale(float); // Hand State void setHandState(char s) { _handState = s; }