Blender V4.3
wm_xr_actionmap.cc File Reference
#include <cmath>
#include <cstring>
#include "BKE_idprop.hh"
#include "BLI_listbase.h"
#include "BLI_string.h"
#include "MEM_guardedalloc.h"
#include "WM_api.hh"
#include "WM_types.hh"
#include "wm_xr_intern.hh"

Go to the source code of this file.

Macros

Window-Manager XR Action Maps

XR actionmap API, similar to WM keymap API.

#define WM_XR_ACTIONMAP_STR_DEFAULT   "actionmap"
 
#define WM_XR_ACTIONMAP_ITEM_STR_DEFAULT   "action"
 
#define WM_XR_ACTIONMAP_BINDING_STR_DEFAULT   "binding"
 

Functions

Action Map Binding

Binding in an XR action map item, that maps an action to an XR input.

XrActionMapBindingWM_xr_actionmap_binding_new (XrActionMapItem *ami, const char *name, bool replace_existing)
 
static XrActionMapBindingwm_xr_actionmap_binding_find_except (XrActionMapItem *ami, const char *name, XrActionMapBinding *ambexcept)
 
void WM_xr_actionmap_binding_ensure_unique (XrActionMapItem *ami, XrActionMapBinding *amb)
 
static XrActionMapBindingwm_xr_actionmap_binding_copy (XrActionMapBinding *amb_src)
 
XrActionMapBindingWM_xr_actionmap_binding_add_copy (XrActionMapItem *ami, XrActionMapBinding *amb_src)
 
static void wm_xr_actionmap_binding_clear (XrActionMapBinding *amb)
 
bool WM_xr_actionmap_binding_remove (XrActionMapItem *ami, XrActionMapBinding *amb)
 
XrActionMapBindingWM_xr_actionmap_binding_find (XrActionMapItem *ami, const char *name)
 
Action Map Item

Item in an XR action map, that maps an XR event to an operator, pose, or haptic output.

static void wm_xr_actionmap_item_properties_set (XrActionMapItem *ami)
 
static void wm_xr_actionmap_item_properties_free (XrActionMapItem *ami)
 
static void wm_xr_actionmap_item_clear (XrActionMapItem *ami)
 
void WM_xr_actionmap_item_properties_update_ot (XrActionMapItem *ami)
 
XrActionMapItemWM_xr_actionmap_item_new (XrActionMap *actionmap, const char *name, bool replace_existing)
 
static XrActionMapItemwm_xr_actionmap_item_find_except (XrActionMap *actionmap, const char *name, const XrActionMapItem *amiexcept)
 
void WM_xr_actionmap_item_ensure_unique (XrActionMap *actionmap, XrActionMapItem *ami)
 
static XrActionMapItemwm_xr_actionmap_item_copy (XrActionMapItem *ami_src)
 
XrActionMapItemWM_xr_actionmap_item_add_copy (XrActionMap *actionmap, XrActionMapItem *ami_src)
 
bool WM_xr_actionmap_item_remove (XrActionMap *actionmap, XrActionMapItem *ami)
 
XrActionMapItemWM_xr_actionmap_item_find (XrActionMap *actionmap, const char *name)
 
Action Map

List of XR action map items.

XrActionMapWM_xr_actionmap_new (wmXrRuntimeData *runtime, const char *name, bool replace_existing)
 
static XrActionMapwm_xr_actionmap_find_except (wmXrRuntimeData *runtime, const char *name, const XrActionMap *am_except)
 
void WM_xr_actionmap_ensure_unique (wmXrRuntimeData *runtime, XrActionMap *actionmap)
 
static XrActionMapwm_xr_actionmap_copy (XrActionMap *am_src)
 
XrActionMapWM_xr_actionmap_add_copy (wmXrRuntimeData *runtime, XrActionMap *am_src)
 
bool WM_xr_actionmap_remove (wmXrRuntimeData *runtime, XrActionMap *actionmap)
 
XrActionMapWM_xr_actionmap_find (wmXrRuntimeData *runtime, const char *name)
 
void WM_xr_actionmap_clear (XrActionMap *actionmap)
 
void WM_xr_actionmaps_clear (wmXrRuntimeData *runtime)
 
ListBaseWM_xr_actionmaps_get (wmXrRuntimeData *runtime)
 
short WM_xr_actionmap_active_index_get (const wmXrRuntimeData *runtime)
 
void WM_xr_actionmap_active_index_set (wmXrRuntimeData *runtime, short idx)
 
short WM_xr_actionmap_selected_index_get (const wmXrRuntimeData *runtime)
 
void WM_xr_actionmap_selected_index_set (wmXrRuntimeData *runtime, short idx)
 

Macro Definition Documentation

◆ WM_XR_ACTIONMAP_BINDING_STR_DEFAULT

#define WM_XR_ACTIONMAP_BINDING_STR_DEFAULT   "binding"

Definition at line 30 of file wm_xr_actionmap.cc.

Referenced by WM_xr_actionmap_binding_ensure_unique().

◆ WM_XR_ACTIONMAP_ITEM_STR_DEFAULT

#define WM_XR_ACTIONMAP_ITEM_STR_DEFAULT   "action"

Definition at line 29 of file wm_xr_actionmap.cc.

Referenced by WM_xr_actionmap_item_ensure_unique().

◆ WM_XR_ACTIONMAP_STR_DEFAULT

#define WM_XR_ACTIONMAP_STR_DEFAULT   "actionmap"

Definition at line 28 of file wm_xr_actionmap.cc.

Referenced by WM_xr_actionmap_ensure_unique().

Function Documentation

◆ WM_xr_actionmap_active_index_get()

short WM_xr_actionmap_active_index_get ( const wmXrRuntimeData * runtime)

Definition at line 529 of file wm_xr_actionmap.cc.

References wmXrRuntimeData::actactionmap.

◆ WM_xr_actionmap_active_index_set()

void WM_xr_actionmap_active_index_set ( wmXrRuntimeData * runtime,
short idx )

Definition at line 534 of file wm_xr_actionmap.cc.

References wmXrRuntimeData::actactionmap.

◆ WM_xr_actionmap_add_copy()

XrActionMap * WM_xr_actionmap_add_copy ( wmXrRuntimeData * runtime,
XrActionMap * am_src )

◆ WM_xr_actionmap_binding_add_copy()

◆ wm_xr_actionmap_binding_clear()

static void wm_xr_actionmap_binding_clear ( XrActionMapBinding * amb)
static

◆ wm_xr_actionmap_binding_copy()

◆ WM_xr_actionmap_binding_ensure_unique()

◆ WM_xr_actionmap_binding_find()

XrActionMapBinding * WM_xr_actionmap_binding_find ( XrActionMapItem * ami,
const char * name )

◆ wm_xr_actionmap_binding_find_except()

static XrActionMapBinding * wm_xr_actionmap_binding_find_except ( XrActionMapItem * ami,
const char * name,
XrActionMapBinding * ambexcept )
static

◆ WM_xr_actionmap_binding_new()

◆ WM_xr_actionmap_binding_remove()

bool WM_xr_actionmap_binding_remove ( XrActionMapItem * ami,
XrActionMapBinding * amb )

◆ WM_xr_actionmap_clear()

◆ wm_xr_actionmap_copy()

◆ WM_xr_actionmap_ensure_unique()

void WM_xr_actionmap_ensure_unique ( wmXrRuntimeData * runtime,
XrActionMap * actionmap )

◆ WM_xr_actionmap_find()

XrActionMap * WM_xr_actionmap_find ( wmXrRuntimeData * runtime,
const char * name )

Definition at line 496 of file wm_xr_actionmap.cc.

References wmXrRuntimeData::actionmaps, LISTBASE_FOREACH, MAX_NAME, and STREQLEN.

Referenced by WM_xr_actionmap_new().

◆ wm_xr_actionmap_find_except()

static XrActionMap * wm_xr_actionmap_find_except ( wmXrRuntimeData * runtime,
const char * name,
const XrActionMap * am_except )
static

◆ WM_xr_actionmap_item_add_copy()

XrActionMapItem * WM_xr_actionmap_item_add_copy ( XrActionMap * actionmap,
XrActionMapItem * ami_src )

◆ wm_xr_actionmap_item_clear()

◆ wm_xr_actionmap_item_copy()

◆ WM_xr_actionmap_item_ensure_unique()

◆ WM_xr_actionmap_item_find()

XrActionMapItem * WM_xr_actionmap_item_find ( XrActionMap * actionmap,
const char * name )

Definition at line 369 of file wm_xr_actionmap.cc.

References XrActionMap::items, LISTBASE_FOREACH, MAX_NAME, and STREQLEN.

Referenced by WM_xr_actionmap_item_new().

◆ wm_xr_actionmap_item_find_except()

static XrActionMapItem * wm_xr_actionmap_item_find_except ( XrActionMap * actionmap,
const char * name,
const XrActionMapItem * amiexcept )
static

◆ WM_xr_actionmap_item_new()

◆ wm_xr_actionmap_item_properties_free()

◆ wm_xr_actionmap_item_properties_set()

◆ WM_xr_actionmap_item_properties_update_ot()

◆ WM_xr_actionmap_item_remove()

bool WM_xr_actionmap_item_remove ( XrActionMap * actionmap,
XrActionMapItem * ami )

◆ WM_xr_actionmap_new()

XrActionMap * WM_xr_actionmap_new ( wmXrRuntimeData * runtime,
const char * name,
bool replace_existing )

◆ WM_xr_actionmap_remove()

◆ WM_xr_actionmap_selected_index_get()

short WM_xr_actionmap_selected_index_get ( const wmXrRuntimeData * runtime)

Definition at line 539 of file wm_xr_actionmap.cc.

References wmXrRuntimeData::selactionmap.

◆ WM_xr_actionmap_selected_index_set()

void WM_xr_actionmap_selected_index_set ( wmXrRuntimeData * runtime,
short idx )

Definition at line 544 of file wm_xr_actionmap.cc.

References wmXrRuntimeData::selactionmap.

◆ WM_xr_actionmaps_clear()

◆ WM_xr_actionmaps_get()

ListBase * WM_xr_actionmaps_get ( wmXrRuntimeData * runtime)

Definition at line 524 of file wm_xr_actionmap.cc.

References wmXrRuntimeData::actionmaps.