Varjo Native SDK
Varjo_types_world.h File Reference

Go to the source code of this file.

Data Structures

struct  varjo_WorldObject
 Represents a single object in a varjo_World. More...
 
struct  varjo_WorldPoseComponent
 Represents a pose of an object. More...
 
struct  varjo_WorldObjectMarkerComponent
 Represents an object marker. More...
 

Typedefs

typedef uint64_t varjo_WorldFlags
 Configuration mask for varjo_WorldInit. More...
 
typedef int64_t varjo_WorldObjectId
 A unique id for an object in varjo_World. More...
 
typedef uint64_t varjo_WorldComponentTypeMask
 Bit mask for filtering a World object. More...
 
typedef uint64_t varjo_WorldPoseFlags
 World pose flags. More...
 
typedef int64_t varjo_WorldMarkerId
 
typedef int64_t varjo_WorldObjectMarkerFlags
 Configuration flags for markers. More...
 
typedef int64_t varjo_WorldObjectMarkerError
 Type describing marker tracking error code. More...
 

Variables

static const varjo_WorldFlags varjo_WorldFlag_UseObjectMarkers = 0x1
 Initialize object marker tracking backend for the varjo_World instance. More...
 
static const varjo_WorldComponentTypeMask varjo_WorldComponentTypeMask_Pose = 0x1
 Object contains a varjo_PoseComponent. More...
 
static const varjo_WorldComponentTypeMask varjo_WorldComponentTypeMask_ObjectMarker = 0x2
 Object contains a varjo_ObjectMarkerComponent. More...
 
static const varjo_WorldPoseFlags varjo_WorldPoseFlags_TrackingOk = 0x1
 Pose is being currently tracked. More...
 
static const varjo_WorldPoseFlags varjo_WorldPoseFlags_TrackingLost = 0x2
 Pose has been tracked but currently is not detected by the tracking subsystem. More...
 
static const varjo_WorldPoseFlags varjo_WorldPoseFlags_TrackingDisconnected = 0x4
 Tracking subsystem is not connected and poses cannot be acquired. More...
 
static const varjo_WorldPoseFlags varjo_WorldPoseFlags_HasPosition = 0x08
 Pose has position information. More...
 
static const varjo_WorldPoseFlags varjo_WorldPoseFlags_HasRotation = 0x10
 Pose has rotation information. More...
 
static const varjo_WorldPoseFlags varjo_WorldPoseFlags_HasVelocity = 0x20
 Pose has velocity information. More...
 
static const varjo_WorldPoseFlags varjo_WorldPoseFlags_HasAngularVelocity = 0x40
 Pose has angular velocity information. More...
 
static const varjo_WorldPoseFlags varjo_WorldPoseFlags_HasAcceleration = 0x80
 Pose has acceleration information. More...
 
static const varjo_WorldPoseFlags varjo_WorldPoseFlags_HasConfidence = 0x100
 Pose has confidence information. More...
 
static const varjo_WorldObjectMarkerFlags varjo_WorldObjectMarkerFlags_DoPrediction = 0x1
 Marker to be tracked as dynamic which means more responsive pose updates according to marker's movements. More...
 
static const varjo_WorldObjectMarkerError varjo_WorldObjectMarkerError_None = 0
 No error. More...
 
static const varjo_WorldObjectMarkerError varjo_WorldObjectMarkerError_DuplicateID = 1
 Several markers have the same ID. More...
 

Data Structure Documentation

◆ varjo_WorldObject

struct varjo_WorldObject

Represents a single object in a varjo_World.

One object can have multiple data component that are described by the typeMask.

Data Fields
varjo_WorldObjectId id Id of the object. Valid for the lifetime of the world.
uint64_t reserved[2]
varjo_WorldComponentTypeMask typeMask Mask for all contained component types.

◆ varjo_WorldPoseComponent

struct varjo_WorldPoseComponent

Represents a pose of an object.

Pose transformation is in global space.

Data Fields
struct varjo_Vector3D acceleration Acceleration (m/s^2).
struct varjo_Vector3D angularVelocity Angular velocity (radians/s).
double confidence Tracker confidence in range 0.0, 1.0.
struct varjo_Matrix pose Pose of the object in the global space. Translation and rotation only.
varjo_WorldPoseFlags poseFlags Bit field value describing pose. See varjo_WorldPoseFlags.
varjo_Nanoseconds timeStamp Timestamp of the pose. This represents the time the pose has been extrapolated to.
struct varjo_Vector3D velocity Linear velocity (m/s).

◆ varjo_WorldObjectMarkerComponent

struct varjo_WorldObjectMarkerComponent

Represents an object marker.

The pose is provided by varjo_PoseComponent.

varjo_PoseComponent translation is the center of the marker.

Data Fields
varjo_WorldObjectMarkerError error Marker error.
varjo_WorldObjectMarkerFlags flags Marker flags.
varjo_WorldMarkerId id Unique id of the marker.
struct varjo_Size3D size Size of the marker in meters.

Typedef Documentation

◆ varjo_WorldComponentTypeMask

typedef uint64_t varjo_WorldComponentTypeMask

Bit mask for filtering a World object.

List of world component types:

◆ varjo_WorldFlags

typedef uint64_t varjo_WorldFlags

Configuration mask for varjo_WorldInit.

Currently the only supported value is varjo_WorldFlag_UseObjectMarkers

◆ varjo_WorldMarkerId

typedef int64_t varjo_WorldMarkerId

◆ varjo_WorldObjectId

typedef int64_t varjo_WorldObjectId

A unique id for an object in varjo_World.

Each varjo_World instance has a different set of object ids.

◆ varjo_WorldObjectMarkerError

Type describing marker tracking error code.

Marker error state is persistent and can be reset only in VarjoBase. List of possible values:

◆ varjo_WorldObjectMarkerFlags

Configuration flags for markers.

See varjo_WorldObjectMarkerFlags_DoPrediction.

◆ varjo_WorldPoseFlags

Variable Documentation

◆ varjo_WorldComponentTypeMask_ObjectMarker

const varjo_WorldComponentTypeMask varjo_WorldComponentTypeMask_ObjectMarker = 0x2
static

Object contains a varjo_ObjectMarkerComponent.

◆ varjo_WorldComponentTypeMask_Pose

const varjo_WorldComponentTypeMask varjo_WorldComponentTypeMask_Pose = 0x1
static

Object contains a varjo_PoseComponent.

◆ varjo_WorldFlag_UseObjectMarkers

const varjo_WorldFlags varjo_WorldFlag_UseObjectMarkers = 0x1
static

Initialize object marker tracking backend for the varjo_World instance.

◆ varjo_WorldObjectMarkerError_DuplicateID

const varjo_WorldObjectMarkerError varjo_WorldObjectMarkerError_DuplicateID = 1
static

Several markers have the same ID.

◆ varjo_WorldObjectMarkerError_None

const varjo_WorldObjectMarkerError varjo_WorldObjectMarkerError_None = 0
static

No error.

◆ varjo_WorldObjectMarkerFlags_DoPrediction

const varjo_WorldObjectMarkerFlags varjo_WorldObjectMarkerFlags_DoPrediction = 0x1
static

Marker to be tracked as dynamic which means more responsive pose updates according to marker's movements.

If not specified, the marker is treated as stationary - less responsive to marker's movements.

◆ varjo_WorldPoseFlags_HasAcceleration

const varjo_WorldPoseFlags varjo_WorldPoseFlags_HasAcceleration = 0x80
static

Pose has acceleration information.

◆ varjo_WorldPoseFlags_HasAngularVelocity

const varjo_WorldPoseFlags varjo_WorldPoseFlags_HasAngularVelocity = 0x40
static

Pose has angular velocity information.

◆ varjo_WorldPoseFlags_HasConfidence

const varjo_WorldPoseFlags varjo_WorldPoseFlags_HasConfidence = 0x100
static

Pose has confidence information.

◆ varjo_WorldPoseFlags_HasPosition

const varjo_WorldPoseFlags varjo_WorldPoseFlags_HasPosition = 0x08
static

Pose has position information.

◆ varjo_WorldPoseFlags_HasRotation

const varjo_WorldPoseFlags varjo_WorldPoseFlags_HasRotation = 0x10
static

Pose has rotation information.

◆ varjo_WorldPoseFlags_HasVelocity

const varjo_WorldPoseFlags varjo_WorldPoseFlags_HasVelocity = 0x20
static

Pose has velocity information.

◆ varjo_WorldPoseFlags_TrackingDisconnected

const varjo_WorldPoseFlags varjo_WorldPoseFlags_TrackingDisconnected = 0x4
static

Tracking subsystem is not connected and poses cannot be acquired.

◆ varjo_WorldPoseFlags_TrackingLost

const varjo_WorldPoseFlags varjo_WorldPoseFlags_TrackingLost = 0x2
static

Pose has been tracked but currently is not detected by the tracking subsystem.

◆ varjo_WorldPoseFlags_TrackingOk

const varjo_WorldPoseFlags varjo_WorldPoseFlags_TrackingOk = 0x1
static

Pose is being currently tracked.