The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

u/space: Add support for local_floor

+15
+15
src/xrt/auxiliary/util/u_space_overseer.c
··· 443 443 xrt_space_reference(&uso->base.semantic.unbounded, NULL); 444 444 xrt_space_reference(&uso->base.semantic.stage, NULL); 445 445 xrt_space_reference(&uso->base.semantic.local, NULL); 446 + xrt_space_reference(&uso->base.semantic.local_floor, NULL); 446 447 xrt_space_reference(&uso->base.semantic.view, NULL); 447 448 xrt_space_reference(&uso->base.semantic.root, NULL); 448 449 ··· 529 530 xrt_space_reference(&uso->base.semantic.stage, NULL); 530 531 xrt_space_reference(&uso->base.semantic.local, NULL); 531 532 533 + // Assume the root space is the center of the stage space. 532 534 xrt_space_reference(&uso->base.semantic.stage, uso->base.semantic.root); 535 + 536 + // Set local to the local offset. 533 537 u_space_overseer_create_offset_space(uso, uso->base.semantic.root, local_offset, &uso->base.semantic.local); 538 + 539 + // Set local floor to be under local, but at y == 0 from stage. 540 + struct xrt_pose local_floor_offset = { 541 + local_offset->orientation, 542 + {local_offset->position.x, 0.f, local_offset->position.z}, 543 + }; 544 + 545 + u_space_overseer_create_offset_space(uso, uso->base.semantic.root, &local_floor_offset, 546 + &uso->base.semantic.local_floor); 547 + 548 + // Setup view space if we have a head. 534 549 if (head != NULL) { 535 550 u_space_overseer_create_pose_space(uso, head, XRT_INPUT_GENERIC_HEAD_POSE, &uso->base.semantic.view); 536 551 }