Safe Haskell | None |
---|---|
Language | Haskell2010 |
Name
XR_MSFT_spatial_graph_bridge - instance extension
Specification
See XR_MSFT_spatial_graph_bridge in the main specification for complete information.
Registered Extension Number
50
Revision
1
Extension and Version Dependencies
- Requires OpenXR 1.0
See Also
SpatialGraphNodeSpaceCreateInfoMSFT
, SpatialGraphNodeTypeMSFT
,
createSpatialGraphNodeSpaceMSFT
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Synopsis
- createSpatialGraphNodeSpaceMSFT :: forall io. MonadIO io => Session -> SpatialGraphNodeSpaceCreateInfoMSFT -> io Space
- withSpatialGraphNodeSpaceMSFT :: forall io r. MonadIO io => Session -> SpatialGraphNodeSpaceCreateInfoMSFT -> (io Space -> (Space -> io ()) -> r) -> r
- data SpatialGraphNodeSpaceCreateInfoMSFT = SpatialGraphNodeSpaceCreateInfoMSFT {}
- newtype SpatialGraphNodeTypeMSFT where
- type MSFT_spatial_graph_bridge_SPEC_VERSION = 1
- pattern MSFT_spatial_graph_bridge_SPEC_VERSION :: forall a. Integral a => a
- type MSFT_SPATIAL_GRAPH_BRIDGE_EXTENSION_NAME = "XR_MSFT_spatial_graph_bridge"
- pattern MSFT_SPATIAL_GRAPH_BRIDGE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
createSpatialGraphNodeSpaceMSFT Source #
:: forall io. MonadIO io | |
=> Session |
|
-> SpatialGraphNodeSpaceCreateInfoMSFT |
|
-> io Space |
xrCreateSpatialGraphNodeSpaceMSFT - Create an
Space
from a spatial graph node.
Valid Usage (Implicit)
- The @@
extension must be enabled prior to calling
createSpatialGraphNodeSpaceMSFT
-
session
must be a validSession
handle -
createInfo
must be a pointer to a validSpatialGraphNodeSpaceCreateInfoMSFT
structure -
space
must be a pointer to anSpace
handle
Return Codes
See Also
withSpatialGraphNodeSpaceMSFT :: forall io r. MonadIO io => Session -> SpatialGraphNodeSpaceCreateInfoMSFT -> (io Space -> (Space -> io ()) -> r) -> r Source #
A convenience wrapper to make a compatible pair of calls to
createSpatialGraphNodeSpaceMSFT
and destroySpace
To ensure that destroySpace
is always called: pass
bracket
(or the allocate function from your
favourite resource management library) as the last argument.
To just extract the pair pass (,)
as the last argument.
data SpatialGraphNodeSpaceCreateInfoMSFT Source #
XrSpatialGraphNodeSpaceCreateInfoMSFT - The information to create space from a spatial graph node.
Valid Usage (Implicit)
-
The @@ extension must be enabled prior to using
SpatialGraphNodeSpaceCreateInfoMSFT
-
type
must beTYPE_SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT
-
next
must beNULL
or a valid pointer to the next structure in a structure chain -
nodeType
must be a validSpatialGraphNodeTypeMSFT
value
See Also
Posef
, SpatialGraphNodeTypeMSFT
,
StructureType
,
createSpatialGraphNodeSpaceMSFT
SpatialGraphNodeSpaceCreateInfoMSFT | |
|
Instances
newtype SpatialGraphNodeTypeMSFT Source #
XrSpatialGraphNodeTypeMSFT - The type of spatial graph node.
Description
There are two types of spatial graph nodes: static and dynamic.
Static spatial nodes track the pose of a fixed location in the world
relative to reference spaces. The tracking of static nodes may slowly
adjust the pose over time for better accuracy but the pose is relatively
stable in the short term, such as between rendering frames. For example,
a QR code tracking library can use a static node to represent the
location of the tracked QR code. Static spatial nodes are represented by
SPATIAL_GRAPH_NODE_TYPE_STATIC_MSFT
.
Dynamic spatial nodes track the pose of a physical object that moves
continuously relative to reference spaces. The pose of dynamic spatial
nodes can be very different within the duration of a rendering frame.
It is important for the application to use the correct timestamp to
query the space location using locateSpace
. For
example, a color camera mounted in front of a HMD is also tracked by the
HMD so a web camera library can use a dynamic node to represent the
camera location. Dynamic spatial nodes are represented by
SPATIAL_GRAPH_NODE_TYPE_DYNAMIC_MSFT
.
See Also
pattern SPATIAL_GRAPH_NODE_TYPE_STATIC_MSFT :: SpatialGraphNodeTypeMSFT | |
pattern SPATIAL_GRAPH_NODE_TYPE_DYNAMIC_MSFT :: SpatialGraphNodeTypeMSFT |
Instances
pattern MSFT_spatial_graph_bridge_SPEC_VERSION :: forall a. Integral a => a Source #
type MSFT_SPATIAL_GRAPH_BRIDGE_EXTENSION_NAME = "XR_MSFT_spatial_graph_bridge" Source #
pattern MSFT_SPATIAL_GRAPH_BRIDGE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #