History

integrated stylus into pointer system, need to update controller module

SamGondelman committed 9 years ago

Commit 5a78c9e1 parent f970eb221 files · +636 −773Browse files

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

Unified · Split

interface/src/raypick/PickScriptingInterface.cpp+27−0
@@ -16,6 +16,7 @@ · 15 unmodified lines
16#include "StaticRayPick.h"16#include "StaticRayPick.h"
17#include "JointRayPick.h"17#include "JointRayPick.h"
18#include "MouseRayPick.h"18#include "MouseRayPick.h"
19#include "StylusPick.h"
19 20
20#include <pointers/Pick.h>21#include <pointers/Pick.h>
21#include <ScriptEngine.h>22#include <ScriptEngine.h>
@@ -24,6 +25,8 @@ unsigned int PickScriptingInterface::createPick(const PickQuery::PickType type, · 2 unmodified lines
24 switch (type) {25 switch (type) {
25 case PickQuery::PickType::Ray:26 case PickQuery::PickType::Ray:
26 return createRayPick(properties);27 return createRayPick(properties);
28 case PickQuery::PickType::Stylus:
29 return createStylusPick(properties);
27 default:30 default:
28 return PickManager::INVALID_PICK_ID;31 return PickManager::INVALID_PICK_ID;
29 }32 }
@@ -81,6 +84,30 @@ unsigned int PickScriptingInterface::createRayPick(const QVariant& properties) { · 51 unmodified lines
81 return PickManager::INVALID_PICK_ID;84 return PickManager::INVALID_PICK_ID;
82}85}
83 86
87unsigned int PickScriptingInterface::createStylusPick(const QVariant& properties) {
88 QVariantMap propMap = properties.toMap();
89
90 bilateral::Side side = bilateral::Side::Invalid;
91 {
92 QVariant handVar = propMap["hand"];
93 if (handVar.isValid()) {
94 side = bilateral::side(handVar.toInt());
95 }
96 }
97
98 bool enabled = false;
99 if (propMap["enabled"].isValid()) {
100 enabled = propMap["enabled"].toBool();
101 }
102
103 PickFilter filter = PickFilter();
104 if (propMap["filter"].isValid()) {
105 filter = PickFilter(propMap["filter"].toUInt());
106 }
107
108 return DependencyManager::get<PickManager>()->addPick(PickQuery::Stylus, std::make_shared<StylusPick>(filter, side, enabled));
109}
110
84void PickScriptingInterface::enablePick(unsigned int uid) {111void PickScriptingInterface::enablePick(unsigned int uid) {
85 DependencyManager::get<PickManager>()->enablePick(uid);112 DependencyManager::get<PickManager>()->enablePick(uid);
86}113}