History

Create CollisionPick API

sabrina-shanman committed 8 years ago

Commit f33ee551 parent 1a599fd12 files · +690 −2Browse files

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

Unified · Split

interface/src/raypick/PickScriptingInterface.cpp+26−0
@@ -17,6 +17,7 @@ · 16 unmodified lines
1717 #include "JointRayPick.h"
1818 #include "MouseRayPick.h"
1919 #include "StylusPick.h"
20+#include "CollisionPick.h"
2021
2122 #include <ScriptEngine.h>
2223
@@ -26,6 +27,8 @@ unsigned int PickScriptingInterface::createPick(const PickQuery::PickType type, · 3 unmodified lines
2627 return createRayPick(properties);
2728 case PickQuery::PickType::Stylus:
2829 return createStylusPick(properties);
30+ case PickQuery::PickType::Collision:
31+ return createCollisionPick(properties);
2932 default:
3033 return PickManager::INVALID_PICK_ID;
3134 }
@@ -134,6 +137,29 @@ unsigned int PickScriptingInterface::createStylusPick(const QVariant& properties · 102 unmodified lines
134137 return DependencyManager::get<PickManager>()->addPick(PickQuery::Stylus, std::make_shared<StylusPick>(side, filter, maxDistance, enabled));
135138 }
136139
140+unsigned int PickScriptingInterface::createCollisionPick(const QVariant& properties) {
141+ QVariantMap propMap = properties.toMap();
142+
143+ bool enabled = false;
144+ if (propMap["enabled"].isValid()) {
145+ enabled = propMap["enabled"].toBool();
146+ }
147+
148+ PickFilter filter = PickFilter();
149+ if (propMap["filter"].isValid()) {
150+ filter = PickFilter(propMap["filter"].toUInt());
151+ }
152+
153+ float maxDistance = 0.0f;
154+ if (propMap["maxDistance"].isValid()) {
155+ maxDistance = propMap["maxDistance"].toFloat();
156+ }
157+
158+ CollisionRegion collisionRegion(propMap);
159+
160+ return DependencyManager::get<PickManager>()->addPick(PickQuery::Collision, std::make_shared<CollisionPick>(filter, maxDistance, enabled, collisionRegion, _collisionWorld));
161+}
162+
137163 void PickScriptingInterface::enablePick(unsigned int uid) {
138164 DependencyManager::get<PickManager>()->enablePick(uid);
139165 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t