Varjo Native SDK
Varjo_world.h
Go to the documentation of this file.
1 // Copyright 2020-2022 Varjo Technologies Oy. All rights reserved.
2 
3 #ifndef VARJO_WORLD_H
4 #define VARJO_WORLD_H
5 
6 #include "Varjo_types_world.h"
7 
8 #if defined __cplusplus
9 extern "C" {
10 #endif
11 
23 VARJO_API struct varjo_World* varjo_WorldInit(struct varjo_Session* session, varjo_WorldFlags worldFlags);
24 
30 VARJO_API void varjo_WorldDestroy(struct varjo_World* world);
31 
43 VARJO_API void varjo_WorldSync(struct varjo_World* world);
44 
57 VARJO_API int64_t varjo_WorldGetObjectCount(struct varjo_World* world, varjo_WorldComponentTypeMask typeMask);
58 
71 VARJO_API int64_t varjo_WorldGetObjects(
72  struct varjo_World* world, struct varjo_WorldObject* objects, int64_t maxObjectCount, varjo_WorldComponentTypeMask typeMask);
73 
96  struct varjo_World* world, varjo_WorldObjectId id, struct varjo_WorldPoseComponent* component, varjo_Nanoseconds displayTime);
97 
108 
122 VARJO_API void varjo_WorldSetObjectMarkerTimeouts(struct varjo_World* world, varjo_WorldMarkerId* ids, int64_t idCount, varjo_Nanoseconds duration);
123 
135 VARJO_API void varjo_WorldSetObjectMarkerFlags(struct varjo_World* world, varjo_WorldMarkerId* ids, int64_t idCount, varjo_WorldObjectMarkerFlags flags);
136 
137 #if defined __cplusplus
138 }
139 #endif
140 
141 #endif // VARJO_WORLD_H
varjo_Nanoseconds
int64_t varjo_Nanoseconds
Time in nanoseconds.
Definition: Varjo_types.h:147
varjo_WorldObjectId
int64_t varjo_WorldObjectId
A unique id for an object in varjo_World.
Definition: Varjo_types_world.h:30
varjo_WorldDestroy
void varjo_WorldDestroy(struct varjo_World *world)
Destroy a varjo_World instance.
varjo_WorldPoseComponent
Represents a pose of an object.
Definition: Varjo_types_world.h:84
varjo_WorldInit
struct varjo_World * varjo_WorldInit(struct varjo_Session *session, varjo_WorldFlags worldFlags)
Initialize a world.
varjo_Bool
int32_t varjo_Bool
Definition: Varjo_types.h:140
varjo_WorldObjectMarkerFlags
int64_t varjo_WorldObjectMarkerFlags
Configuration flags for markers.
Definition: Varjo_types_world.h:99
varjo_WorldFlags
uint64_t varjo_WorldFlags
Configuration mask for varjo_WorldInit.
Definition: Varjo_types_world.h:15
varjo_WorldObjectMarkerComponent
Represents an object marker.
Definition: Varjo_types_world.h:126
varjo_WorldObject
Represents a single object in a varjo_World.
Definition: Varjo_types_world.h:48
varjo_WorldGetObjectMarkerComponent
varjo_Bool varjo_WorldGetObjectMarkerComponent(struct varjo_World *world, varjo_WorldObjectId id, struct varjo_WorldObjectMarkerComponent *component)
Get a object marker component.
varjo_WorldGetObjectCount
int64_t varjo_WorldGetObjectCount(struct varjo_World *world, varjo_WorldComponentTypeMask typeMask)
Get the number of objects in the world.
Varjo_types_world.h
varjo_WorldSetObjectMarkerFlags
void varjo_WorldSetObjectMarkerFlags(struct varjo_World *world, varjo_WorldMarkerId *ids, int64_t idCount, varjo_WorldObjectMarkerFlags flags)
Sets flags for specifed markers.
varjo_WorldComponentTypeMask
uint64_t varjo_WorldComponentTypeMask
Bit mask for filtering a World object.
Definition: Varjo_types_world.h:40
varjo_WorldMarkerId
int64_t varjo_WorldMarkerId
Definition: Varjo_types_world.h:94
varjo_WorldGetObjects
int64_t varjo_WorldGetObjects(struct varjo_World *world, struct varjo_WorldObject *objects, int64_t maxObjectCount, varjo_WorldComponentTypeMask typeMask)
Get a list of objects in the world.
varjo_WorldGetPoseComponent
varjo_Bool varjo_WorldGetPoseComponent(struct varjo_World *world, varjo_WorldObjectId id, struct varjo_WorldPoseComponent *component, varjo_Nanoseconds displayTime)
Get a pose component.
varjo_WorldSync
void varjo_WorldSync(struct varjo_World *world)
Sync all objects tracked in the world.
varjo_WorldSetObjectMarkerTimeouts
void varjo_WorldSetObjectMarkerTimeouts(struct varjo_World *world, varjo_WorldMarkerId *ids, int64_t idCount, varjo_Nanoseconds duration)
Sets a desired lifetime duration for specified markers.