History

one global pickmanager

SamGondelman committed 9 years ago

Commit d7745ef1 parent 3572f7f14 files · +417 −416Browse files

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

Unified · Split

interface/src/raypick/RayPickScriptingInterface.cpp+15−10
@@ -15,6 +15,10 @@ · 14 unmodified lines
15#include "GLMHelpers.h"15#include "GLMHelpers.h"
16#include "Application.h"16#include "Application.h"
17 17
18#include "StaticRayPick.h"
19#include "JointRayPick.h"
20#include "MouseRayPick.h"
21
18QUuid RayPickScriptingInterface::createRayPick(const QVariant& properties) {22QUuid RayPickScriptingInterface::createRayPick(const QVariant& properties) {
19 QVariantMap propMap = properties.toMap();23 QVariantMap propMap = properties.toMap();
20 24
@@ -48,9 +52,10 @@ QUuid RayPickScriptingInterface::createRayPick(const QVariant& properties) { · 27 unmodified lines
48 dirOffset = vec3FromVariant(propMap["dirOffset"]);52 dirOffset = vec3FromVariant(propMap["dirOffset"]);
49 }53 }
50 54
51 return qApp->getRayPickManager().createRayPick(jointName, posOffset, dirOffset, filter, maxDistance, enabled);55 return qApp->getPickManager().addPick(RAY, std::make_shared<JointRayPick>(jointName, posOffset, dirOffset, filter, maxDistance, enabled));
56
52 } else {57 } else {
53 return qApp->getRayPickManager().createRayPick(filter, maxDistance, enabled);58 return qApp->getPickManager().addPick(RAY, std::make_shared<MouseRayPick>(filter, maxDistance, enabled));
54 }59 }
55 } else if (propMap["position"].isValid()) {60 } else if (propMap["position"].isValid()) {
56 glm::vec3 position = vec3FromVariant(propMap["position"]);61 glm::vec3 position = vec3FromVariant(propMap["position"]);
@@ -60,36 +65,36 @@ QUuid RayPickScriptingInterface::createRayPick(const QVariant& properties) { · 3 unmodified lines
60 direction = vec3FromVariant(propMap["direction"]);65 direction = vec3FromVariant(propMap["direction"]);
61 }66 }
62 67
63 return qApp->getRayPickManager().createRayPick(position, direction, filter, maxDistance, enabled);68 return qApp->getPickManager().addPick(RAY, std::make_shared<StaticRayPick>(position, direction, filter, maxDistance, enabled));
64 }69 }
65 70
66 return QUuid();71 return QUuid();
67}72}
68 73
69void RayPickScriptingInterface::enableRayPick(const QUuid& uid) {74void RayPickScriptingInterface::enableRayPick(const QUuid& uid) {
70 qApp->getRayPickManager().enablePick(uid);75 qApp->getPickManager().enablePick(uid);
71}76}
72 77
73void RayPickScriptingInterface::disableRayPick(const QUuid& uid) {78void RayPickScriptingInterface::disableRayPick(const QUuid& uid) {
74 qApp->getRayPickManager().disablePick(uid);79 qApp->getPickManager().disablePick(uid);
75}80}
76 81
77void RayPickScriptingInterface::removeRayPick(const QUuid& uid) {82void RayPickScriptingInterface::removeRayPick(const QUuid& uid) {
78 qApp->getRayPickManager().removePick(uid);83 qApp->getPickManager().removePick(uid);
79}84}
80 85
81QVariantMap RayPickScriptingInterface::getPrevRayPickResult(const QUuid& uid) {86QVariantMap RayPickScriptingInterface::getPrevRayPickResult(const QUuid& uid) {
82 return qApp->getRayPickManager().getPrevPickResult(uid);87 return qApp->getPickManager().getPrevPickResult(uid);
83}88}
84 89
85void RayPickScriptingInterface::setPrecisionPicking(const QUuid& uid, const bool precisionPicking) {90void RayPickScriptingInterface::setPrecisionPicking(const QUuid& uid, const bool precisionPicking) {
86 qApp->getRayPickManager().setPrecisionPicking(uid, precisionPicking);91 qApp->getPickManager().setPrecisionPicking(uid, precisionPicking);
87}92}
88 93
89void RayPickScriptingInterface::setIgnoreItems(const QUuid& uid, const QScriptValue& ignoreItems) {94void RayPickScriptingInterface::setIgnoreItems(const QUuid& uid, const QScriptValue& ignoreItems) {
90 qApp->getRayPickManager().setIgnoreItems(uid, qVectorQUuidFromScriptValue(ignoreItems));95 qApp->getPickManager().setIgnoreItems(uid, qVectorQUuidFromScriptValue(ignoreItems));
91}96}
92 97
93void RayPickScriptingInterface::setIncludeItems(const QUuid& uid, const QScriptValue& includeItems) {98void RayPickScriptingInterface::setIncludeItems(const QUuid& uid, const QScriptValue& includeItems) {
94 qApp->getRayPickManager().setIncludeItems(uid, qVectorQUuidFromScriptValue(includeItems));99 qApp->getPickManager().setIncludeItems(uid, qVectorQUuidFromScriptValue(includeItems));
95}100}