Package org.lwjgl.openxr
Class XrMarkerDetectorCustomProfileInfoML
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<XrMarkerDetectorCustomProfileInfoML>
org.lwjgl.openxr.XrMarkerDetectorCustomProfileInfoML
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class XrMarkerDetectorCustomProfileInfoML
extends org.lwjgl.system.Struct<XrMarkerDetectorCustomProfileInfoML>
implements org.lwjgl.system.NativeResource
A custom marker tracking profile.
Description
All marker detectors share some underlying hardware and resources, and thus not all combinations of profiles between multiple detectors are possible. If a profile (preset or custom) specified during marker detector creation is different from those used by existing marker detectors the runtime will attempt to honor the highest frame rate and fps requested.
CPU load due to marker tracking is a function of the chosen XrMarkerTypeML, XrMarkerDetectorFpsML, and XrMarkerDetectorResolutionML.
Valid Usage (Implicit)
- The
XR_ML_marker_understandingextension must be enabled prior to usingXrMarkerDetectorCustomProfileInfoML typemust beTYPE_MARKER_DETECTOR_CUSTOM_PROFILE_INFO_MLnextmust beNULLor a valid pointer to the next structure in a structure chainfpsHintmust be a validXrMarkerDetectorFpsMLvalueresolutionHintmust be a validXrMarkerDetectorResolutionMLvaluecameraHintmust be a validXrMarkerDetectorCameraMLvaluecornerRefineMethodmust be a validXrMarkerDetectorCornerRefineMethodMLvaluefullAnalysisIntervalHintmust be a validXrMarkerDetectorFullAnalysisIntervalMLvalue
Layout
struct XrMarkerDetectorCustomProfileInfoML {
XrStructureType type();
void const * next();
XrMarkerDetectorFpsML fpsHint();
XrMarkerDetectorResolutionML resolutionHint();
XrMarkerDetectorCameraML cameraHint();
XrMarkerDetectorCornerRefineMethodML cornerRefineMethod();
XrBool32 useEdgeRefinement();
XrMarkerDetectorFullAnalysisIntervalML fullAnalysisIntervalHint();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofXrMarkerDetectorCustomProfileInfoMLstructs.Nested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionXrMarkerDetectorCustomProfileInfoML(ByteBuffer container) Creates aXrMarkerDetectorCustomProfileInfoMLinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newXrMarkerDetectorCustomProfileInfoMLinstance allocated withmemCalloc.calloc(int capacity) Returns a newXrMarkerDetectorCustomProfileInfoML.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrMarkerDetectorCustomProfileInfoML.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newXrMarkerDetectorCustomProfileInfoMLinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.inta suggestion of the camera set for the detector to usecameraHint(int value) Sets the specified value to thecameraHint()field.intselects a method for corner refinement for ArUco/AprilTag detectors.cornerRefineMethod(int value) Sets the specified value to thecornerRefineMethod()field.create()Returns a newXrMarkerDetectorCustomProfileInfoMLinstance allocated withBufferUtils.create(int capacity) Returns a newXrMarkerDetectorCustomProfileInfoML.Bufferinstance allocated withBufferUtils.create(long address) Returns a newXrMarkerDetectorCustomProfileInfoMLinstance for the specified memory address.create(long address, int capacity) Create aXrMarkerDetectorCustomProfileInfoML.Bufferinstance at the specified memory.static @Nullable XrMarkerDetectorCustomProfileInfoMLcreateSafe(long address) static @Nullable XrMarkerDetectorCustomProfileInfoML.BuffercreateSafe(long address, int capacity) intfpsHint()a suggestion of the category of frame rate for the detector to use.fpsHint(int value) Sets the specified value to thefpsHint()field.intthe suggested interval between fully analyzed frames that introduce new detected markers, in addition to updating the state of already detected markers.fullAnalysisIntervalHint(int value) Sets the specified value to thefullAnalysisIntervalHint()field.malloc()Returns a newXrMarkerDetectorCustomProfileInfoMLinstance allocated withmemAlloc.malloc(int capacity) Returns a newXrMarkerDetectorCustomProfileInfoML.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrMarkerDetectorCustomProfileInfoML.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newXrMarkerDetectorCustomProfileInfoMLinstance allocated on the specifiedMemoryStack.static intncameraHint(long struct) Unsafe version ofcameraHint().static voidncameraHint(long struct, int value) Unsafe version ofcameraHint.static intncornerRefineMethod(long struct) Unsafe version ofcornerRefineMethod().static voidncornerRefineMethod(long struct, int value) Unsafe version ofcornerRefineMethod.longnext()NULLor a pointer to the next structure in a structure chain.next(long value) Sets the specified value to thenext()field.static intnfpsHint(long struct) Unsafe version offpsHint().static voidnfpsHint(long struct, int value) Unsafe version offpsHint.static intnfullAnalysisIntervalHint(long struct) Unsafe version offullAnalysisIntervalHint().static voidnfullAnalysisIntervalHint(long struct, int value) Unsafe version offullAnalysisIntervalHint.static longnnext(long struct) Unsafe version ofnext().static voidnnext(long struct, long value) Unsafe version ofnext.static intnresolutionHint(long struct) Unsafe version ofresolutionHint().static voidnresolutionHint(long struct, int value) Unsafe version ofresolutionHint.static intntype(long struct) Unsafe version oftype().static voidntype(long struct, int value) Unsafe version oftype.static intnuseEdgeRefinement(long struct) Unsafe version ofuseEdgeRefinement().static voidnuseEdgeRefinement(long struct, int value) Unsafe version ofuseEdgeRefinement.inta suggestion of the category of camera resolution for the detector to use.resolutionHint(int value) Sets the specified value to theresolutionHint()field.set(int type, long next, int fpsHint, int resolutionHint, int cameraHint, int cornerRefineMethod, boolean useEdgeRefinement, int fullAnalysisIntervalHint) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()inttype()theXrStructureTypeof this structure.type(int value) Sets the specified value to thetype()field.Sets theTYPE_MARKER_DETECTOR_CUSTOM_PROFILE_INFO_MLvalue to thetype()field.booleanspecifies whether to run a refinement step that uses marker edges to generate even more accurate corners, but slow down tracking rate overall by consuming more compute.useEdgeRefinement(boolean value) Sets the specified value to theuseEdgeRefinement()field.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
TYPE
public static final int TYPEThe struct member offsets. -
NEXT
public static final int NEXTThe struct member offsets. -
FPSHINT
public static final int FPSHINTThe struct member offsets. -
RESOLUTIONHINT
public static final int RESOLUTIONHINTThe struct member offsets. -
CAMERAHINT
public static final int CAMERAHINTThe struct member offsets. -
CORNERREFINEMETHOD
public static final int CORNERREFINEMETHODThe struct member offsets. -
USEEDGEREFINEMENT
public static final int USEEDGEREFINEMENTThe struct member offsets. -
FULLANALYSISINTERVALHINT
public static final int FULLANALYSISINTERVALHINTThe struct member offsets.
-
-
Constructor Details
-
XrMarkerDetectorCustomProfileInfoML
Creates aXrMarkerDetectorCustomProfileInfoMLinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<XrMarkerDetectorCustomProfileInfoML>
-
type
public int type()theXrStructureTypeof this structure. -
next
public long next()NULLor a pointer to the next structure in a structure chain. -
fpsHint
public int fpsHint()a suggestion of the category of frame rate for the detector to use. -
resolutionHint
public int resolutionHint()a suggestion of the category of camera resolution for the detector to use. -
cameraHint
public int cameraHint()a suggestion of the camera set for the detector to use -
cornerRefineMethod
public int cornerRefineMethod()selects a method for corner refinement for ArUco/AprilTag detectors. This member is ignored for detectors of other marker types. -
useEdgeRefinement
public boolean useEdgeRefinement()specifies whether to run a refinement step that uses marker edges to generate even more accurate corners, but slow down tracking rate overall by consuming more compute. It affects ArUco/AprilTag markers only: this member is ignored for detectors of other marker types. -
fullAnalysisIntervalHint
public int fullAnalysisIntervalHint()the suggested interval between fully analyzed frames that introduce new detected markers, in addition to updating the state of already detected markers. -
type
Sets the specified value to thetype()field. -
type$Default
Sets theTYPE_MARKER_DETECTOR_CUSTOM_PROFILE_INFO_MLvalue to thetype()field. -
next
Sets the specified value to thenext()field. -
fpsHint
Sets the specified value to thefpsHint()field. -
resolutionHint
Sets the specified value to theresolutionHint()field. -
cameraHint
Sets the specified value to thecameraHint()field. -
cornerRefineMethod
Sets the specified value to thecornerRefineMethod()field. -
useEdgeRefinement
Sets the specified value to theuseEdgeRefinement()field. -
fullAnalysisIntervalHint
Sets the specified value to thefullAnalysisIntervalHint()field. -
set
public XrMarkerDetectorCustomProfileInfoML set(int type, long next, int fpsHint, int resolutionHint, int cameraHint, int cornerRefineMethod, boolean useEdgeRefinement, int fullAnalysisIntervalHint) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newXrMarkerDetectorCustomProfileInfoMLinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newXrMarkerDetectorCustomProfileInfoMLinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newXrMarkerDetectorCustomProfileInfoMLinstance allocated withBufferUtils. -
create
Returns a newXrMarkerDetectorCustomProfileInfoMLinstance for the specified memory address. -
createSafe
-
malloc
Returns a newXrMarkerDetectorCustomProfileInfoML.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newXrMarkerDetectorCustomProfileInfoML.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newXrMarkerDetectorCustomProfileInfoML.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aXrMarkerDetectorCustomProfileInfoML.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable XrMarkerDetectorCustomProfileInfoML.Buffer createSafe(long address, int capacity) -
malloc
Returns a newXrMarkerDetectorCustomProfileInfoMLinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newXrMarkerDetectorCustomProfileInfoMLinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static XrMarkerDetectorCustomProfileInfoML.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrMarkerDetectorCustomProfileInfoML.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static XrMarkerDetectorCustomProfileInfoML.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrMarkerDetectorCustomProfileInfoML.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
ntype
public static int ntype(long struct) Unsafe version oftype(). -
nnext
public static long nnext(long struct) Unsafe version ofnext(). -
nfpsHint
public static int nfpsHint(long struct) Unsafe version offpsHint(). -
nresolutionHint
public static int nresolutionHint(long struct) Unsafe version ofresolutionHint(). -
ncameraHint
public static int ncameraHint(long struct) Unsafe version ofcameraHint(). -
ncornerRefineMethod
public static int ncornerRefineMethod(long struct) Unsafe version ofcornerRefineMethod(). -
nuseEdgeRefinement
public static int nuseEdgeRefinement(long struct) Unsafe version ofuseEdgeRefinement(). -
nfullAnalysisIntervalHint
public static int nfullAnalysisIntervalHint(long struct) Unsafe version offullAnalysisIntervalHint(). -
ntype
public static void ntype(long struct, int value) Unsafe version oftype. -
nnext
public static void nnext(long struct, long value) Unsafe version ofnext. -
nfpsHint
public static void nfpsHint(long struct, int value) Unsafe version offpsHint. -
nresolutionHint
public static void nresolutionHint(long struct, int value) Unsafe version ofresolutionHint. -
ncameraHint
public static void ncameraHint(long struct, int value) Unsafe version ofcameraHint. -
ncornerRefineMethod
public static void ncornerRefineMethod(long struct, int value) Unsafe version ofcornerRefineMethod. -
nuseEdgeRefinement
public static void nuseEdgeRefinement(long struct, int value) Unsafe version ofuseEdgeRefinement. -
nfullAnalysisIntervalHint
public static void nfullAnalysisIntervalHint(long struct, int value) Unsafe version offullAnalysisIntervalHint.
-