Showing the changes to interface/src/raypick/PickScriptingInterface.cpp (1 of 20 files). Show all
Unified · Split
| @@ -17,6 +17,9 @@ · 16 unmodified lines | |||
| 17 | #include "JointRayPick.h" | 17 | #include "JointRayPick.h" |
| 18 | #include "MouseRayPick.h" | 18 | #include "MouseRayPick.h" |
| 19 | 19 | ||
| 20 | #include <pointers/Pick.h> | ||
| 21 | #include <ScriptEngine.h> | ||
| 22 | |||
| 20 | QUuid PickScriptingInterface::createPick(const PickQuery::PickType type, const QVariant& properties) { | 23 | QUuid PickScriptingInterface::createPick(const PickQuery::PickType type, const QVariant& properties) { |
| 21 | switch (type) { | 24 | switch (type) { |
| 22 | case PickQuery::PickType::Ray: | 25 | case PickQuery::PickType::Ray: |
| @@ -105,3 +108,22 @@ void PickScriptingInterface::setIgnoreItems(const QUuid& uid, const QScriptValue · 82 unmodified lines | |||
| 105 | void PickScriptingInterface::setIncludeItems(const QUuid& uid, const QScriptValue& includeItems) { | 108 | void PickScriptingInterface::setIncludeItems(const QUuid& uid, const QScriptValue& includeItems) { |
| 106 | DependencyManager::get<PickManager>()->setIncludeItems(uid, qVectorQUuidFromScriptValue(includeItems)); | 109 | DependencyManager::get<PickManager>()->setIncludeItems(uid, qVectorQUuidFromScriptValue(includeItems)); |
| 107 | } | 110 | } |
| 111 | |||
| 112 | QScriptValue pickTypesToScriptValue(QScriptEngine* engine, const PickQuery::PickType& pickType) { | ||
| 113 | return pickType; | ||
| 114 | } | ||
| 115 | |||
| 116 | void pickTypesFromScriptValue(const QScriptValue& object, PickQuery::PickType& pickType) { | ||
| 117 | pickType = static_cast<PickQuery::PickType>(object.toUInt16()); | ||
| 118 | } | ||
| 119 | |||
| 120 | void PickScriptingInterface::registerMetaTypes(QScriptEngine* engine) { | ||
| 121 | QScriptValue pickTypes = engine->newObject(); | ||
| 122 | auto metaEnum = QMetaEnum::fromType<PickQuery::PickType>(); | ||
| 123 | for (int i = 0; i < PickQuery::PickType::NUM_PICK_TYPES; ++i) { | ||
| 124 | pickTypes.setProperty(metaEnum.key(i), metaEnum.value(i)); | ||
| 125 | } | ||
| 126 | engine->globalObject().setProperty("PickType", pickTypes); | ||
| 127 | |||
| 128 | qScriptRegisterMetaType(engine, pickTypesToScriptValue, pickTypesFromScriptValue); | ||
| 129 | } | ||