History

Type registeration fixes for scripting engine

ksuprynowicz committed 4 years ago

Commit 0a3ec921 parent 50a6a6334 files · +266 −67Browse files

Showing the changes to interface/src/raypick/PickScriptingInterface.cpp (1 of 34 files). Show all

Unified · Split

interface/src/raypick/PickScriptingInterface.cpp+11−2
@@ -1,6 +1,7 @@
11 //
22 // Created by Sam Gondelman 10/20/2017
33 // Copyright 2017 High Fidelity, Inc.
4+// Copyright 2022 Overte e.V.
45 //
56 // Distributed under the Apache License, Version 2.0.
67 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
@@ -32,6 +33,12 @@ · 25 unmodified lines
3233 #include <ScriptEngineCast.h>
3334 #include <ScriptValueUtils.h>
3435
36+STATIC_SCRIPT_TYPES_INITIALIZER(+[](ScriptManager* manager){
37+ auto scriptEngine = manager->engine().get();
38+
39+ PickScriptingInterface::registerMetaTypes(scriptEngine);
40+});
41+
3542 static const float WEB_TOUCH_Y_OFFSET = 0.105f; // how far forward (or back with a negative number) to slide stylus in hand
3643 static const glm::vec3 TIP_OFFSET = glm::vec3(0.0f, StylusPick::WEB_STYLUS_LENGTH - WEB_TOUCH_Y_OFFSET, 0.0f);
3744
@@ -457,14 +464,16 @@ bool pickTypesFromScriptValue(const ScriptValue& object, PickQuery::PickType& pi · 419 unmodified lines
457464 }
458465
459466 void PickScriptingInterface::registerMetaTypes(ScriptEngine* engine) {
467+ scriptRegisterMetaType(engine, pickTypesToScriptValue, pickTypesFromScriptValue);
468+}
469+
470+void PickScriptingInterface::registerProperties(ScriptEngine* engine) {
460471 ScriptValue pickTypes = engine->newObject();
461472 auto metaEnum = QMetaEnum::fromType<PickQuery::PickType>();
462473 for (int i = 0; i < PickQuery::PickType::NUM_PICK_TYPES; ++i) {
463474 pickTypes.setProperty(metaEnum.key(i), metaEnum.value(i));
464475 }
465476 engine->globalObject().setProperty("PickType", pickTypes);
466−
467− scriptRegisterMetaType(engine, pickTypesToScriptValue, pickTypesFromScriptValue);
468477 }
469478
470479 unsigned int PickScriptingInterface::getPerFrameTimeBudget() const {