mirror of
https://thingvellir.net/git/overte
synced 2025-03-27 23:52:03 +01:00
It's working...it's workinggit add -A!
This commit is contained in:
parent
a16e261735
commit
5edd5d2b30
7 changed files with 175 additions and 15 deletions
|
@ -30,9 +30,9 @@ QVector<QUuid> AvatarHashMap::getAvatarIdentifiers() {
|
|||
return _avatarHash.keys().toVector();
|
||||
}
|
||||
|
||||
QSharedPointer<AvatarData> AvatarHashMap::getAvatar(QUuid avatarID) {
|
||||
AvatarSharedPointer AvatarHashMap::getAvatar(QUuid avatarID) {
|
||||
// Null/Default-constructed QUuids will return MyAvatar
|
||||
return QSharedPointer<AvatarData>(getAvatarBySessionID(avatarID).get());
|
||||
return AvatarSharedPointer(getAvatarBySessionID(avatarID));
|
||||
}
|
||||
|
||||
bool AvatarHashMap::isAvatarInRange(const glm::vec3& position, const float range) {
|
||||
|
|
|
@ -37,7 +37,7 @@ public:
|
|||
|
||||
// Currently, your own avatar will be included as the null avatar id.
|
||||
Q_INVOKABLE QVector<QUuid> getAvatarIdentifiers();
|
||||
Q_INVOKABLE QSharedPointer<AvatarData> getAvatar(QUuid avatarID);
|
||||
Q_INVOKABLE AvatarSharedPointer getAvatar(QUuid avatarID);
|
||||
|
||||
virtual AvatarSharedPointer getAvatarBySessionID(const QUuid& sessionID) const { return findAvatar(sessionID); }
|
||||
int numberOfAvatarsInRange(const glm::vec3& position, float rangeMeters);
|
||||
|
|
|
@ -59,8 +59,6 @@ bool OffscreenGLCanvas::create(QOpenGLContext* sharedContext) {
|
|||
|
||||
bool OffscreenGLCanvas::makeCurrent() {
|
||||
bool result = _context->makeCurrent(_offscreenSurface);
|
||||
Q_ASSERT(result);
|
||||
|
||||
std::call_once(_reportOnce, [this]{
|
||||
qCDebug(glLogging) << "GL Version: " << QString((const char*) glGetString(GL_VERSION));
|
||||
qCDebug(glLogging) << "GL Shader Language Version: " << QString((const char*) glGetString(GL_SHADING_LANGUAGE_VERSION));
|
||||
|
|
|
@ -612,11 +612,7 @@ QObject* OffscreenQmlSurface::finishQmlLoad(std::function<void(QQmlContext*, QOb
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
//check if the item contains sendToScript signal
|
||||
int sendToScriptIndex = newItem->metaObject()->indexOfSignal("sendToScript");
|
||||
if (sendToScriptIndex != -1) {
|
||||
connect(newItem, SIGNAL(sendToScript(QVariant)), this, SIGNAL(fromQml(QVariant)));
|
||||
}
|
||||
connect(newItem, SIGNAL(sendToScript(QVariant)), this, SIGNAL(fromQml(QVariant)));
|
||||
|
||||
// The root item is ready. Associate it with the window.
|
||||
_rootItem = newItem;
|
||||
|
|
102
libraries/script-engine/src/ScriptAvatarData.cpp
Normal file
102
libraries/script-engine/src/ScriptAvatarData.cpp
Normal file
|
@ -0,0 +1,102 @@
|
|||
//
|
||||
// ScriptAvatarData.cpp
|
||||
// libraries/script-engine/src
|
||||
//
|
||||
// Created by Zach Fox on 2017-04-10.
|
||||
// Copyright 2017 High Fidelity, Inc.
|
||||
//
|
||||
// Distributed under the Apache License, Version 2.0.
|
||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
//
|
||||
|
||||
#include "ScriptEngineLogging.h"
|
||||
#include "ScriptAvatarData.h"
|
||||
|
||||
QScriptValue avatarDataToScriptValue(QScriptEngine* engine, const AvatarSharedPointer& in) {
|
||||
return engine->newQObject(new ScriptAvatarData(in), QScriptEngine::ScriptOwnership);
|
||||
}
|
||||
|
||||
void avatarDataFromScriptValue(const QScriptValue& object, AvatarSharedPointer& out) {
|
||||
// Not implemented - this should never happen (yet)
|
||||
assert(false);
|
||||
out = AvatarSharedPointer(nullptr);
|
||||
}
|
||||
|
||||
ScriptAvatarData::ScriptAvatarData(AvatarSharedPointer avatarData) :
|
||||
_avatarData(avatarData),
|
||||
SpatiallyNestable(NestableType::Avatar, QUuid())
|
||||
{
|
||||
QObject::connect(avatarData.get(), &AvatarData::displayNameChanged, this, &ScriptAvatarData::displayNameChanged);
|
||||
}
|
||||
|
||||
const QUuid ScriptAvatarData::getSessionUUID() const {
|
||||
if (AvatarSharedPointer sharedAvatarData = _avatarData.lock()) {
|
||||
return sharedAvatarData->getSessionUUID();
|
||||
} else {
|
||||
return QUuid();
|
||||
}
|
||||
}
|
||||
|
||||
glm::vec3 ScriptAvatarData::getPosition() const {
|
||||
if (AvatarSharedPointer sharedAvatarData = _avatarData.lock()) {
|
||||
return sharedAvatarData->getPosition();
|
||||
} else {
|
||||
return glm::vec3();
|
||||
}
|
||||
}
|
||||
|
||||
const float ScriptAvatarData::getAudioLoudness() {
|
||||
if (AvatarSharedPointer sharedAvatarData = _avatarData.lock()) {
|
||||
return sharedAvatarData->getAudioLoudness();
|
||||
} else {
|
||||
return 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
const float ScriptAvatarData::getAudioAverageLoudness() {
|
||||
if (AvatarSharedPointer sharedAvatarData = _avatarData.lock()) {
|
||||
return sharedAvatarData->getAudioAverageLoudness();
|
||||
} else {
|
||||
return 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
const QString ScriptAvatarData::getDisplayName() {
|
||||
if (AvatarSharedPointer sharedAvatarData = _avatarData.lock()) {
|
||||
return sharedAvatarData->getDisplayName();
|
||||
} else {
|
||||
return QString();
|
||||
}
|
||||
}
|
||||
|
||||
const QString ScriptAvatarData::getSessionDisplayName() {
|
||||
if (AvatarSharedPointer sharedAvatarData = _avatarData.lock()) {
|
||||
return sharedAvatarData->getSessionDisplayName();
|
||||
} else {
|
||||
return QString();
|
||||
}
|
||||
}
|
||||
|
||||
int ScriptAvatarData::getJointIndex(const QString& name) const {
|
||||
if (AvatarSharedPointer sharedAvatarData = _avatarData.lock()) {
|
||||
return sharedAvatarData->getJointIndex(name);
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
glm::quat ScriptAvatarData::getAbsoluteJointRotationInObjectFrame(int index) const {
|
||||
if (AvatarSharedPointer sharedAvatarData = _avatarData.lock()) {
|
||||
return sharedAvatarData->getAbsoluteJointRotationInObjectFrame(index);
|
||||
} else {
|
||||
return glm::quat();
|
||||
}
|
||||
}
|
||||
|
||||
glm::vec3 ScriptAvatarData::getAbsoluteJointTranslationInObjectFrame(int index) const {
|
||||
if (AvatarSharedPointer sharedAvatarData = _avatarData.lock()) {
|
||||
return sharedAvatarData->getAbsoluteJointTranslationInObjectFrame(index);
|
||||
} else {
|
||||
return glm::vec3();
|
||||
}
|
||||
}
|
63
libraries/script-engine/src/ScriptAvatarData.h
Normal file
63
libraries/script-engine/src/ScriptAvatarData.h
Normal file
|
@ -0,0 +1,63 @@
|
|||
//
|
||||
// ScriptAvatarData.h
|
||||
// libraries/script-engine/src
|
||||
//
|
||||
// Created by Zach Fox on 2017-04-10.
|
||||
// Copyright 2017 High Fidelity, Inc.
|
||||
//
|
||||
// Distributed under the Apache License, Version 2.0.
|
||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
//
|
||||
|
||||
#ifndef hifi_ScriptAvatarData_h
|
||||
#define hifi_ScriptAvatarData_h
|
||||
|
||||
#include <QtCore/QObject>
|
||||
#include <AvatarData.h>
|
||||
#include <SpatiallyNestable.h>
|
||||
|
||||
class ScriptAvatarData : public QObject, public SpatiallyNestable {
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(QUuid sessionUUID READ getSessionUUID)
|
||||
Q_PROPERTY(glm::vec3 position READ getPosition)
|
||||
Q_PROPERTY(float audioLoudness READ getAudioLoudness)
|
||||
Q_PROPERTY(float audioAverageLoudness READ getAudioAverageLoudness)
|
||||
Q_PROPERTY(QString displayName READ getDisplayName NOTIFY displayNameChanged)
|
||||
Q_PROPERTY(QString sessionDisplayName READ getSessionDisplayName)
|
||||
|
||||
public:
|
||||
ScriptAvatarData(AvatarSharedPointer avatarData);
|
||||
|
||||
const QUuid getSessionUUID() const;
|
||||
|
||||
using SpatiallyNestable::getPosition;
|
||||
virtual glm::vec3 getPosition() const override;
|
||||
|
||||
const float getAudioLoudness();
|
||||
const float getAudioAverageLoudness();
|
||||
|
||||
const QString getDisplayName();
|
||||
const QString getSessionDisplayName();
|
||||
|
||||
int getFauxJointIndex(const QString& name) const;
|
||||
/// Returns the index of the joint with the specified name, or -1 if not found/unknown.
|
||||
Q_INVOKABLE virtual int getJointIndex(const QString& name) const;
|
||||
|
||||
signals:
|
||||
void displayNameChanged();
|
||||
|
||||
public slots:
|
||||
glm::quat getAbsoluteJointRotationInObjectFrame(int index) const;
|
||||
glm::vec3 getAbsoluteJointTranslationInObjectFrame(int index) const;
|
||||
|
||||
private:
|
||||
std::weak_ptr<AvatarData> _avatarData;
|
||||
};
|
||||
|
||||
Q_DECLARE_METATYPE(AvatarSharedPointer)
|
||||
|
||||
QScriptValue avatarDataToScriptValue(QScriptEngine* engine, const AvatarSharedPointer& in);
|
||||
void avatarDataFromScriptValue(const QScriptValue& object, AvatarSharedPointer& out);
|
||||
|
||||
#endif // hifi_ScriptAvatarData_h
|
|
@ -59,6 +59,7 @@
|
|||
#include "FileScriptingInterface.h" // unzip project
|
||||
#include "MenuItemProperties.h"
|
||||
#include "ScriptAudioInjector.h"
|
||||
#include "ScriptAvatarData.h"
|
||||
#include "ScriptCache.h"
|
||||
#include "ScriptEngineLogging.h"
|
||||
#include "ScriptEngine.h"
|
||||
|
@ -111,15 +112,15 @@ static QScriptValue debugPrint(QScriptContext* context, QScriptEngine* engine) {
|
|||
return QScriptValue();
|
||||
}
|
||||
|
||||
QScriptValue avatarDataToScriptValue(QScriptEngine* engine, const AvatarSharedPointer& in) {
|
||||
return engine->newQObject(new AvatarDataScriptingInterface(in), QScriptEngine::ScriptOwnership);
|
||||
/*
|
||||
QScriptValue avatarDataToScriptValue(QScriptEngine* engine, AvatarData* const &in) {
|
||||
return engine->newQObject(in, QScriptEngine::QtOwnership, DEFAULT_QOBJECT_WRAP_OPTIONS);
|
||||
}
|
||||
|
||||
void avatarDataFromScriptValue(const QScriptValue &object, AvatarData* &out) {
|
||||
if (auto avatarDataInterface = qobject_cast<AvatarDataScriptingInterface*>(object.toQObject())) {
|
||||
out = avatarDataInterface->getAvatarData();
|
||||
}
|
||||
out = qobject_cast<AvatarData*>(object.toQObject());
|
||||
}
|
||||
*/
|
||||
|
||||
Q_DECLARE_METATYPE(controller::InputController*)
|
||||
//static int inputControllerPointerId = qRegisterMetaType<controller::InputController*>();
|
||||
|
|
Loading…
Reference in a new issue