Get the pathfinder magicleap demo to compile with v0.20.0 of the SDK

This commit is contained in:
Alan Jeffrey 2019-04-09 11:35:04 -05:00 committed by Josh Matthews
parent 0f0062351d
commit 06b5e3330d
2 changed files with 29 additions and 32 deletions

View File

@ -5,8 +5,8 @@
ml:version_name="1.0"> ml:version_name="1.0">
<application <application
ml:visible_name="Pathfinder Demo" ml:visible_name="Pathfinder Demo"
ml:sdk_version="0.19.0" ml:sdk_version="0.20.0"
ml:min_api_level="3"> ml:min_api_level="4">
<uses-privilege ml:name="WorldReconstruction"/> <uses-privilege ml:name="WorldReconstruction"/>
<uses-privilege ml:name="LowLatencyLightwear"/> <uses-privilege ml:name="LowLatencyLightwear"/>
<uses-privilege ml:name="ControllerPose"/> <uses-privilege ml:name="ControllerPose"/>

View File

@ -5,6 +5,7 @@
#include <lumin/ui/node/UiPanel.h> #include <lumin/ui/node/UiPanel.h>
#include <lumin/ui/Cursor.h> #include <lumin/ui/Cursor.h>
#include <lumin/input/Raycast.h> #include <lumin/input/Raycast.h>
#include <lumin/event/ControlPose6DofInputEventData.h>
#include <lumin/event/GestureInputEventData.h> #include <lumin/event/GestureInputEventData.h>
#include <lumin/event/RayCastEventData.h> #include <lumin/event/RayCastEventData.h>
#include <ml_dispatch.h> #include <ml_dispatch.h>
@ -218,40 +219,36 @@ bool PathfinderDemo::updateLoop(float fDelta) {
bool PathfinderDemo::eventListener(lumin::ServerEvent* event) { bool PathfinderDemo::eventListener(lumin::ServerEvent* event) {
// Place your event handling here. // Place your event handling here.
lumin::ServerEventType typ = event->getServerEventType(); lumin::ServerEventTypeValue typ = event->getServerEventTypeValue();
switch (typ) { if (typ == lumin::ControlPose6DofInputEventData::GetServerEventTypeValue()) {
case lumin::ServerEventType::kControlPose6DofInputEvent: { requestWorldRayCast(getHeadposeWorldPosition(), getHeadposeWorldForwardVector(), 0);
requestWorldRayCast(getHeadposeWorldPosition(), getHeadposeWorldForwardVector(), 0); return false;
return false; } else if (typ == lumin::RayCastEventData::GetServerEventTypeValue()) {
} lumin::RayCastEventData* raycast_event = static_cast<lumin::RayCastEventData*>(event);
case lumin::ServerEventType::kRayCastEvent: { std::shared_ptr<lumin::RaycastResult> raycast_result = raycast_event->getHitData();
lumin::RayCastEventData* raycast_event = static_cast<lumin::RayCastEventData*>(event); switch (raycast_result->getType()) {
std::shared_ptr<lumin::RaycastResult> raycast_result = raycast_event->getHitData(); case lumin::RaycastResultType::kQuadNode: {
switch (raycast_result->getType()) { std::shared_ptr<lumin::RaycastQuadNodeResult> quad_result = std::static_pointer_cast<lumin::RaycastQuadNodeResult>(raycast_result);
case lumin::RaycastResultType::kQuadNode: { focus_node_ = quad_result->getNodeId();
std::shared_ptr<lumin::RaycastQuadNodeResult> quad_result = std::static_pointer_cast<lumin::RaycastQuadNodeResult>(raycast_result); return false;
focus_node_ = quad_result->getNodeId(); }
return false; default: {
} focus_node_ = lumin::INVALID_NODE_ID;
default: { return false;
focus_node_ = lumin::INVALID_NODE_ID;
return false;
}
} }
} }
case lumin::ServerEventType::kGestureInputEvent: { } else if (typ == lumin::GestureInputEventData::GetServerEventTypeValue()) {
lumin::GestureInputEventData* gesture_event = static_cast<lumin::GestureInputEventData*>(event); lumin::GestureInputEventData* gesture_event = static_cast<lumin::GestureInputEventData*>(event);
switch (gesture_event->getGesture()) { switch (gesture_event->getGesture()) {
case lumin::input::GestureType::TriggerClick: { case lumin::input::GestureType::TriggerClick: {
return onClick(); return onClick();
} }
default: { default: {
return false; return false;
}
} }
} }
default: } else {
return false; return false;
} }
} }