Blender
V3.3
|
#include <GHOST_XrSession.h>
Public Types | |
enum | LifeExpectancy { SESSION_KEEP_ALIVE , SESSION_DESTROY } |
Public Member Functions | |
State Queries | |
bool | isRunning () const |
Actions | |
bool | createActionSet (const GHOST_XrActionSetInfo &info) |
void | destroyActionSet (const char *action_set_name) |
bool | createActions (const char *action_set_name, uint32_t count, const GHOST_XrActionInfo *infos) |
void | destroyActions (const char *action_set_name, uint32_t count, const char *const *action_names) |
bool | createActionBindings (const char *action_set_name, uint32_t count, const GHOST_XrActionProfileInfo *infos) |
void | destroyActionBindings (const char *action_set_name, uint32_t count, const char *const *action_names, const char *const *profile_paths) |
bool | attachActionSets () |
bool | syncActions (const char *action_set_name=nullptr) |
bool | applyHapticAction (const char *action_set_name, const char *action_name, const char *subaction_path, const int64_t &duration, const float &frequency, const float &litude) |
void | stopHapticAction (const char *action_set_name, const char *action_name, const char *subaction_path) |
void * | getActionSetCustomdata (const char *action_set_name) |
void * | getActionCustomdata (const char *action_set_name, const char *action_name) |
uint32_t | getActionCount (const char *action_set_name) |
void | getActionCustomdataArray (const char *action_set_name, void **r_customdata_array) |
Controller Model | |
bool | loadControllerModel (const char *subaction_path) |
void | unloadControllerModel (const char *subaction_path) |
bool | updateControllerModelComponents (const char *subaction_path) |
bool | getControllerModelData (const char *subaction_path, GHOST_XrControllerModelData &r_data) |
Create, Initialize and Destruct | |
GHOST_XrSession (GHOST_XrContext &xr_context) | |
~GHOST_XrSession () | |
State Management | |
void | start (const GHOST_XrSessionBeginInfo *begin_info) |
void | requestEnd () |
LifeExpectancy | handleStateChangeEvent (const XrEventDataSessionStateChanged &lifecycle) |
Drawing | |
bool | needsUpsideDownDrawing () const |
void | draw (void *draw_customdata) |
Graphics Context Injection | |
Sessions need access to Ghost graphics context information. Additionally, this API allows creating contexts on the fly (created on start, destructed on end). For this, callbacks to bind (potentially create) and unbind (potentially destruct) a Ghost graphics context have to be set, which will be called on session start and end respectively. | |
void | unbindGraphicsContext () |
Definition at line 19 of file GHOST_XrSession.h.
Enumerator | |
---|---|
SESSION_KEEP_ALIVE | |
SESSION_DESTROY |
Definition at line 21 of file GHOST_XrSession.h.
GHOST_XrSession::GHOST_XrSession | ( | GHOST_XrContext & | xr_context | ) |
Definition at line 62 of file GHOST_XrSession.cpp.
GHOST_XrSession::~GHOST_XrSession | ( | ) |
Definition at line 67 of file GHOST_XrSession.cpp.
References CHECK_XR_ASSERT, GHOST_XrContext::getCustomFuncs(), GHOST_XrCustomFuncs::session_exit_customdata, GHOST_XrCustomFuncs::session_exit_fn, and unbindGraphicsContext().
bool GHOST_XrSession::applyHapticAction | ( | const char * | action_set_name, |
const char * | action_name, | ||
const char * | subaction_path, | ||
const int64_t & | duration, | ||
const float & | frequency, | ||
const float & | amplitude | ||
) |
Definition at line 826 of file GHOST_XrSession.cpp.
References GHOST_XrAction::applyHapticFeedback(), find_action_set(), and GHOST_XrActionSet::findAction().
bool GHOST_XrSession::attachActionSets | ( | ) |
Definition at line 730 of file GHOST_XrSession.cpp.
References CHECK_XR, GHOST_XrContext::getInstance(), and instance.
bool GHOST_XrSession::createActionBindings | ( | const char * | action_set_name, |
uint32_t | count, | ||
const GHOST_XrActionProfileInfo * | infos | ||
) |
Definition at line 684 of file GHOST_XrSession.cpp.
References count, GHOST_XrAction::createBinding(), find_action_set(), GHOST_XrActionSet::findAction(), GHOST_XrContext::getInstance(), and instance.
bool GHOST_XrSession::createActions | ( | const char * | action_set_name, |
uint32_t | count, | ||
const GHOST_XrActionInfo * | infos | ||
) |
Definition at line 650 of file GHOST_XrSession.cpp.
References count, GHOST_XrActionSet::createAction(), find_action_set(), GHOST_XrContext::getInstance(), and instance.
bool GHOST_XrSession::createActionSet | ( | const GHOST_XrActionSetInfo & | info | ) |
Action functions to be called pre-session start. NOTE: The "destroy" functions can also be called post-session start.
Definition at line 627 of file GHOST_XrSession.cpp.
References GHOST_XrContext::getInstance(), and instance.
void GHOST_XrSession::destroyActionBindings | ( | const char * | action_set_name, |
uint32_t | count, | ||
const char *const * | action_names, | ||
const char *const * | profile_paths | ||
) |
Definition at line 710 of file GHOST_XrSession.cpp.
References count, GHOST_XrAction::destroyBinding(), find_action_set(), and GHOST_XrActionSet::findAction().
void GHOST_XrSession::destroyActions | ( | const char * | action_set_name, |
uint32_t | count, | ||
const char *const * | action_names | ||
) |
Definition at line 670 of file GHOST_XrSession.cpp.
References count, GHOST_XrActionSet::destroyAction(), and find_action_set().
void GHOST_XrSession::destroyActionSet | ( | const char * | action_set_name | ) |
Definition at line 642 of file GHOST_XrSession.cpp.
Definition at line 443 of file GHOST_XrSession.cpp.
uint32_t GHOST_XrSession::getActionCount | ( | const char * | action_set_name | ) |
Definition at line 891 of file GHOST_XrSession.cpp.
References find_action_set(), and GHOST_XrActionSet::getActionCount().
void * GHOST_XrSession::getActionCustomdata | ( | const char * | action_set_name, |
const char * | action_name | ||
) |
Definition at line 876 of file GHOST_XrSession.cpp.
References find_action_set(), GHOST_XrActionSet::findAction(), and GHOST_XrAction::getCustomdata().
void GHOST_XrSession::getActionCustomdataArray | ( | const char * | action_set_name, |
void ** | r_customdata_array | ||
) |
Definition at line 901 of file GHOST_XrSession.cpp.
References find_action_set(), and GHOST_XrActionSet::getActionCustomdataArray().
void * GHOST_XrSession::getActionSetCustomdata | ( | const char * | action_set_name | ) |
Definition at line 866 of file GHOST_XrSession.cpp.
References find_action_set(), and GHOST_XrActionSet::getCustomdata().
bool GHOST_XrSession::getControllerModelData | ( | const char * | subaction_path, |
GHOST_XrControllerModelData & | r_data | ||
) |
Definition at line 966 of file GHOST_XrSession.cpp.
GHOST_XrSession::LifeExpectancy GHOST_XrSession::handleStateChangeEvent | ( | const XrEventDataSessionStateChanged & | lifecycle | ) |
Definition at line 272 of file GHOST_XrSession.cpp.
References SESSION_DESTROY, and SESSION_KEEP_ALIVE.
bool GHOST_XrSession::isRunning | ( | ) | const |
Definition at line 567 of file GHOST_XrSession.cpp.
bool GHOST_XrSession::loadControllerModel | ( | const char * | subaction_path | ) |
Controller model functions.
Definition at line 919 of file GHOST_XrSession.cpp.
References GHOST_XrContext::getInstance(), instance, and GHOST_XrContext::isExtensionEnabled().
bool GHOST_XrSession::needsUpsideDownDrawing | ( | ) | const |
Definition at line 556 of file GHOST_XrSession.cpp.
void GHOST_XrSession::requestEnd | ( | ) |
Definition at line 254 of file GHOST_XrSession.cpp.
void GHOST_XrSession::start | ( | const GHOST_XrSessionBeginInfo * | begin_info | ) |
Definition at line 203 of file GHOST_XrSession.cpp.
References CHECK_XR, create_reference_spaces(), GHOST_XrContext::getCustomFuncs(), GHOST_XrContext::getGraphicsBindingType(), GHOST_XrContext::getInstance(), GHOST_XrGraphicsBindingCreateFromType(), GHOST_XrCustomFuncs::gpu_ctx_bind_fn, GHOST_XrContext::isDebugMode(), and GHOST_XrCustomFuncs::session_create_fn.
void GHOST_XrSession::stopHapticAction | ( | const char * | action_set_name, |
const char * | action_name, | ||
const char * | subaction_path | ||
) |
Definition at line 849 of file GHOST_XrSession.cpp.
References find_action_set(), GHOST_XrActionSet::findAction(), and GHOST_XrAction::stopHapticFeedback().
bool GHOST_XrSession::syncActions | ( | const char * | action_set_name = nullptr | ) |
Action functions to be called post-session start.
action_set_name | When nullptr , all attached action sets will be synced. |
Definition at line 773 of file GHOST_XrSession.cpp.
References CHECK_XR, find_action_set(), GHOST_XrActionSet::getActionSet(), and GHOST_XrActionSet::updateStates().
void GHOST_XrSession::unbindGraphicsContext | ( | ) |
Definition at line 602 of file GHOST_XrSession.cpp.
References GHOST_XrContext::getCustomFuncs(), and GHOST_XrCustomFuncs::gpu_ctx_unbind_fn.
Referenced by ~GHOST_XrSession().
void GHOST_XrSession::unloadControllerModel | ( | const char * | subaction_path | ) |
Definition at line 944 of file GHOST_XrSession.cpp.
bool GHOST_XrSession::updateControllerModelComponents | ( | const char * | subaction_path | ) |
Definition at line 952 of file GHOST_XrSession.cpp.