- Introduce the DeviceTracker class to abstract all the possible devices - Introduce the MotionTracker ( a DeviceTracker ) that contains a transform tree of joints - Add Leapmotion class as a MotionTracker and the support for the Leapmotion sdk in external - Add InputController as the abstraction of a MotionTracker/Joint for Javascript
Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 33 files). Show all
Unified · Split
| @@ -67,6 +67,14 @@ void injectorFromScriptValue(const QScriptValue &object, AudioInjector* &out) { · 66 unmodified lines | ||
| 67 | 67 | out = qobject_cast<AudioInjector*>(object.toQObject()); |
| 68 | 68 | } |
| 69 | 69 | |
| 70 | +QScriptValue injectorToScriptValue_InputController(QScriptEngine *engine, AbstractInputController* const &in) { | |
| 71 | + return engine->newQObject(in); | |
| 72 | +} | |
| 73 | + | |
| 74 | +void injectorFromScriptValue_InputController(const QScriptValue &object, AbstractInputController* &out) { | |
| 75 | + out = qobject_cast<AbstractInputController*>(object.toQObject()); | |
| 76 | +} | |
| 77 | + | |
| 70 | 78 | ScriptEngine::ScriptEngine(const QString& scriptContents, const QString& fileNameString, |
| 71 | 79 | AbstractControllerScriptingInterface* controllerScriptingInterface) : |
| 72 | 80 | |
| @@ -248,6 +256,7 @@ void ScriptEngine::init() { · 175 unmodified lines | ||
| 248 | 256 | _engine.globalObject().setProperty("LocalVoxels", localVoxelsValue); |
| 249 | 257 | |
| 250 | 258 | qScriptRegisterMetaType(&_engine, injectorToScriptValue, injectorFromScriptValue); |
| 259 | + qScriptRegisterMetaType( &_engine, injectorToScriptValue_InputController, injectorFromScriptValue_InputController); | |
| 251 | 260 | |
| 252 | 261 | registerGlobalObject("Script", this); |
| 253 | 262 | registerGlobalObject("Audio", &_audioScriptingInterface); |