Navigation
API > API/Plugins > API/Plugins/OpenXRHMD
When adding chain structs from an ExtensionPlugin it is convenient to have the calling code take ownership of the chain struct so that it can be deleted after the openxr call. We can also handle the linked list stuff here.
SAMPLE_USAGE in calling code (FOpenXRHMD::GetPoseForTime): FOpenXRExtensionChainStructPtrs ScopedExtensionChainStructs; // Own the chain structs until we are done with them. GetPoseForTimeAddChainStructsDelegate.Broadcast(&DeviceLocation, ScopedExtensionChainStructs);
SAMPLE USAGE in Delegate, SpaceLocation would be the struct that is the head of the chain and we are adding an XrSpaceVelocity struct to the chain: void FFireAntSpaceVelocityModule::GetPoseForTimeAddChainStructs(XrSpaceLocation* SpaceLocation, FOpenXRExtensionChainStructPtrs& ChainStructPtrs) { ChainStructPtrs.Add(MakeShared
| Name | FOpenXRExtensionChainStruct |
| Type | struct |
| Header File | /Engine/Plugins/Runtime/OpenXR/Source/OpenXRHMD/Public/IOpenXRExtensionPluginDelegates.h |
| Include Path | #include "IOpenXRExtensionPluginDelegates.h" |
Syntax
struct FOpenXRExtensionChainStruct
Derived Classes
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FOpenXRExtensionChainStruct() |
IOpenXRExtensionPluginDelegates.h |