History

laserpointers generate pointerevents

SamGondelman committed 9 years ago

Commit cf34fe31 parent befe58320 files · +376 −57Browse files

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

Unified · Split

interface/src/raypick/PickScriptingInterface.cpp+22−0
@@ -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
20QUuid PickScriptingInterface::createPick(const PickQuery::PickType type, const QVariant& properties) {23QUuid 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
105void PickScriptingInterface::setIncludeItems(const QUuid& uid, const QScriptValue& includeItems) {108void 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
112QScriptValue pickTypesToScriptValue(QScriptEngine* engine, const PickQuery::PickType& pickType) {
113 return pickType;
114}
115
116void pickTypesFromScriptValue(const QScriptValue& object, PickQuery::PickType& pickType) {
117 pickType = static_cast<PickQuery::PickType>(object.toUInt16());
118}
119
120void 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}