mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 18:50:00 +02:00
Fix InputController (Leap Motion) not able to be created
This commit is contained in:
parent
dde01b2071
commit
e25d4c17e8
3 changed files with 11 additions and 10 deletions
|
@ -84,11 +84,11 @@ glm::vec2 ControllerScriptingInterface::getViewportDimensions() const {
|
||||||
return qApp->getUiSize();
|
return qApp->getUiSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
controller::InputController::Pointer ControllerScriptingInterface::createInputController(const QString& deviceName, const QString& tracker) {
|
controller::InputController* ControllerScriptingInterface::createInputController(const QString& deviceName, const QString& tracker) {
|
||||||
// This is where we retreive the Device Tracker category and then the sub tracker within it
|
// This is where we retrieve the Device Tracker category and then the sub tracker within it
|
||||||
auto icIt = _inputControllers.find(0);
|
auto icIt = _inputControllers.find(0);
|
||||||
if (icIt != _inputControllers.end()) {
|
if (icIt != _inputControllers.end()) {
|
||||||
return (*icIt).second;
|
return (*icIt).second.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -110,15 +110,15 @@ controller::InputController::Pointer ControllerScriptingInterface::createInputCo
|
||||||
controller::InputController::Pointer inputController = std::make_shared<InputController>(deviceID, trackerID, this);
|
controller::InputController::Pointer inputController = std::make_shared<InputController>(deviceID, trackerID, this);
|
||||||
controller::InputController::Key key = inputController->getKey();
|
controller::InputController::Key key = inputController->getKey();
|
||||||
_inputControllers.insert(InputControllerMap::value_type(key, inputController));
|
_inputControllers.insert(InputControllerMap::value_type(key, inputController));
|
||||||
return inputController;
|
return inputController.get();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return controller::InputController::Pointer();
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ControllerScriptingInterface::releaseInputController(controller::InputController::Pointer input) {
|
void ControllerScriptingInterface::releaseInputController(controller::InputController* input) {
|
||||||
_inputControllers.erase(input->getKey());
|
_inputControllers.erase(input->getKey());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -96,8 +96,8 @@ public slots:
|
||||||
virtual glm::vec2 getViewportDimensions() const;
|
virtual glm::vec2 getViewportDimensions() const;
|
||||||
|
|
||||||
/// Factory to create an InputController
|
/// Factory to create an InputController
|
||||||
virtual controller::InputController::Pointer createInputController(const QString& deviceName, const QString& tracker);
|
virtual controller::InputController* createInputController(const QString& deviceName, const QString& tracker);
|
||||||
virtual void releaseInputController(controller::InputController::Pointer input);
|
virtual void releaseInputController(controller::InputController* input);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void keyPressEvent(const KeyEvent& event);
|
void keyPressEvent(const KeyEvent& event);
|
||||||
|
|
|
@ -81,6 +81,9 @@ void avatarDataFromScriptValue(const QScriptValue &object, AvatarData* &out) {
|
||||||
out = qobject_cast<AvatarData*>(object.toQObject());
|
out = qobject_cast<AvatarData*>(object.toQObject());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Q_DECLARE_METATYPE(controller::InputController*)
|
||||||
|
static int inputControllerPointerId = qRegisterMetaType<controller::InputController*>();
|
||||||
|
|
||||||
QScriptValue inputControllerToScriptValue(QScriptEngine *engine, controller::InputController* const &in) {
|
QScriptValue inputControllerToScriptValue(QScriptEngine *engine, controller::InputController* const &in) {
|
||||||
return engine->newQObject(in);
|
return engine->newQObject(in);
|
||||||
}
|
}
|
||||||
|
@ -89,8 +92,6 @@ void inputControllerFromScriptValue(const QScriptValue &object, controller::Inpu
|
||||||
out = qobject_cast<controller::InputController*>(object.toQObject());
|
out = qobject_cast<controller::InputController*>(object.toQObject());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static bool hasCorrectSyntax(const QScriptProgram& program) {
|
static bool hasCorrectSyntax(const QScriptProgram& program) {
|
||||||
const auto syntaxCheck = QScriptEngine::checkSyntax(program.sourceCode());
|
const auto syntaxCheck = QScriptEngine::checkSyntax(program.sourceCode());
|
||||||
if (syntaxCheck.state() != QScriptSyntaxCheckResult::Valid) {
|
if (syntaxCheck.state() != QScriptSyntaxCheckResult::Valid) {
|
||||||
|
|
Loading…
Reference in a new issue