Varjo Native SDK
Varjo_world.h
Go to the documentation of this file.
1 // Copyright 2020 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 
52 VARJO_API int64_t varjo_WorldGetObjectCount(struct varjo_World* world, varjo_WorldComponentTypeMask typeMask);
53 
63 VARJO_API int64_t varjo_WorldGetObjects(
64  struct varjo_World* world, struct varjo_WorldObject* objects, int64_t maxObjectCount, varjo_WorldComponentTypeMask typeMask);
65 
88  struct varjo_World* world, varjo_WorldObjectId id, struct varjo_WorldPoseComponent* component, varjo_Nanoseconds displayTime);
89 
99 VARJO_API varjo_Bool varjo_WorldGetObjectMarkerComponent(struct varjo_World* world, varjo_WorldObjectId id, struct varjo_WorldObjectMarkerComponent* component);
100 
114 VARJO_API void varjo_WorldSetObjectMarkerTimeouts(struct varjo_World* world, varjo_WorldMarkerId* ids, int64_t idCount, varjo_Nanoseconds duration);
115 
125 VARJO_API void varjo_WorldSetObjectMarkerFlags(struct varjo_World* world, varjo_WorldMarkerId* ids, int64_t idCount, varjo_WorldObjectMarkerFlags flags);
126 
127 #if defined __cplusplus
128 }
129 #endif
130 
131 #endif // VARJO_WORLD_H
varjo_Nanoseconds
int64_t varjo_Nanoseconds
Time in nanoseconds.
Definition: Varjo_types.h:142
varjo_WorldObjectId
int64_t varjo_WorldObjectId
A unique id for an object in varjo_World.
Definition: Varjo_types_world.h:24
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:55
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:135
varjo_WorldObjectMarkerFlags
int64_t varjo_WorldObjectMarkerFlags
Definition: Varjo_types_world.h:67
varjo_WorldFlags
uint64_t varjo_WorldFlags
Definition: Varjo_types_world.h:15
varjo_WorldObjectMarkerComponent
Represents an object marker.
Definition: Varjo_types_world.h:90
varjo_WorldObject
Represents a single object in a varjo_World.
Definition: Varjo_types_world.h:34
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
Definition: Varjo_types_world.h:26
varjo_WorldMarkerId
int64_t varjo_WorldMarkerId
Definition: Varjo_types_world.h:65
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.