Blender  V3.3
wm_xr_actionmap.c File Reference
#include <math.h>
#include <string.h>
#include "BKE_context.h"
#include "BKE_idprop.h"
#include "BLI_listbase.h"
#include "BLI_string.h"
#include "GHOST_Types.h"
#include "MEM_guardedalloc.h"
#include "WM_api.h"
#include "WM_types.h"
#include "wm_xr_intern.h"

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.

XrActionMapBinding * WM_xr_actionmap_binding_new (XrActionMapItem *ami, const char *name, bool replace_existing)
 
static XrActionMapBinding * wm_xr_actionmap_binding_find_except (XrActionMapItem *ami, const char *name, XrActionMapBinding *ambexcept)
 
void WM_xr_actionmap_binding_ensure_unique (XrActionMapItem *ami, XrActionMapBinding *amb)
 
static XrActionMapBinding * wm_xr_actionmap_binding_copy (XrActionMapBinding *amb_src)
 
XrActionMapBinding * WM_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)
 
XrActionMapBinding * WM_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)
 
XrActionMapItem * WM_xr_actionmap_item_new (XrActionMap *actionmap, const char *name, bool replace_existing)
 
static XrActionMapItem * wm_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 XrActionMapItem * wm_xr_actionmap_item_copy (XrActionMapItem *ami_src)
 
XrActionMapItem * WM_xr_actionmap_item_add_copy (XrActionMap *actionmap, XrActionMapItem *ami_src)
 
bool WM_xr_actionmap_item_remove (XrActionMap *actionmap, XrActionMapItem *ami)
 
XrActionMapItem * WM_xr_actionmap_item_find (XrActionMap *actionmap, const char *name)
 
Action Map

List of XR action map items.

XrActionMap * WM_xr_actionmap_new (wmXrRuntimeData *runtime, const char *name, bool replace_existing)
 
static XrActionMap * wm_xr_actionmap_find_except (wmXrRuntimeData *runtime, const char *name, const XrActionMap *am_except)
 
void WM_xr_actionmap_ensure_unique (wmXrRuntimeData *runtime, XrActionMap *actionmap)
 
static XrActionMap * wm_xr_actionmap_copy (XrActionMap *am_src)
 
XrActionMap * WM_xr_actionmap_add_copy (wmXrRuntimeData *runtime, XrActionMap *am_src)
 
bool WM_xr_actionmap_remove (wmXrRuntimeData *runtime, XrActionMap *actionmap)
 
XrActionMap * WM_xr_actionmap_find (wmXrRuntimeData *runtime, const char *name)
 
void WM_xr_actionmap_clear (XrActionMap *actionmap)
 
void WM_xr_actionmaps_clear (wmXrRuntimeData *runtime)
 
ListBase * WM_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 31 of file wm_xr_actionmap.c.

◆ WM_XR_ACTIONMAP_ITEM_STR_DEFAULT

#define WM_XR_ACTIONMAP_ITEM_STR_DEFAULT   "action"

Definition at line 30 of file wm_xr_actionmap.c.

◆ WM_XR_ACTIONMAP_STR_DEFAULT

#define WM_XR_ACTIONMAP_STR_DEFAULT   "actionmap"

Definition at line 29 of file wm_xr_actionmap.c.

Function Documentation

◆ WM_xr_actionmap_active_index_get()

short WM_xr_actionmap_active_index_get ( const wmXrRuntimeData *  runtime)

Definition at line 527 of file wm_xr_actionmap.c.

References wmXrRuntimeData::actactionmap.

◆ WM_xr_actionmap_active_index_set()

void WM_xr_actionmap_active_index_set ( wmXrRuntimeData *  runtime,
short  idx 
)

Definition at line 532 of file wm_xr_actionmap.c.

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()

XrActionMapBinding* WM_xr_actionmap_binding_add_copy ( XrActionMapItem *  ami,
XrActionMapBinding *  amb_src 
)

◆ wm_xr_actionmap_binding_clear()

static void wm_xr_actionmap_binding_clear ( XrActionMapBinding *  amb)
static

◆ wm_xr_actionmap_binding_copy()

static XrActionMapBinding* wm_xr_actionmap_binding_copy ( XrActionMapBinding *  amb_src)
static

◆ WM_xr_actionmap_binding_ensure_unique()

void WM_xr_actionmap_binding_ensure_unique ( XrActionMapItem *  ami,
XrActionMapBinding *  amb 
)

◆ 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()

XrActionMapBinding* WM_xr_actionmap_binding_new ( XrActionMapItem *  ami,
const char *  name,
bool  replace_existing 
)

◆ WM_xr_actionmap_binding_remove()

bool WM_xr_actionmap_binding_remove ( XrActionMapItem *  ami,
XrActionMapBinding *  amb 
)

◆ WM_xr_actionmap_clear()

void WM_xr_actionmap_clear ( XrActionMap *  actionmap)

◆ wm_xr_actionmap_copy()

static XrActionMap* wm_xr_actionmap_copy ( XrActionMap *  am_src)
static

◆ 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 494 of file wm_xr_actionmap.c.

References wmXrRuntimeData::actionmaps, LISTBASE_FOREACH, MAX_NAME, NULL, 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()

static void wm_xr_actionmap_item_clear ( XrActionMapItem *  ami)
static

◆ wm_xr_actionmap_item_copy()

static XrActionMapItem* wm_xr_actionmap_item_copy ( XrActionMapItem *  ami_src)
static

◆ WM_xr_actionmap_item_ensure_unique()

void WM_xr_actionmap_item_ensure_unique ( XrActionMap *  actionmap,
XrActionMapItem *  ami 
)

◆ WM_xr_actionmap_item_find()

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

Definition at line 367 of file wm_xr_actionmap.c.

References XrActionMap::items, LISTBASE_FOREACH, MAX_NAME, NULL, 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()

XrActionMapItem* WM_xr_actionmap_item_new ( XrActionMap *  actionmap,
const char *  name,
bool  replace_existing 
)

◆ wm_xr_actionmap_item_properties_free()

static void wm_xr_actionmap_item_properties_free ( XrActionMapItem *  ami)
static

◆ wm_xr_actionmap_item_properties_set()

static void wm_xr_actionmap_item_properties_set ( XrActionMapItem *  ami)
static

◆ WM_xr_actionmap_item_properties_update_ot()

void WM_xr_actionmap_item_properties_update_ot ( XrActionMapItem *  ami)

◆ 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()

bool WM_xr_actionmap_remove ( wmXrRuntimeData *  runtime,
XrActionMap *  actionmap 
)

◆ WM_xr_actionmap_selected_index_get()

short WM_xr_actionmap_selected_index_get ( const wmXrRuntimeData *  runtime)

Definition at line 537 of file wm_xr_actionmap.c.

References wmXrRuntimeData::selactionmap.

◆ WM_xr_actionmap_selected_index_set()

void WM_xr_actionmap_selected_index_set ( wmXrRuntimeData *  runtime,
short  idx 
)

Definition at line 542 of file wm_xr_actionmap.c.

References wmXrRuntimeData::selactionmap.

◆ WM_xr_actionmaps_clear()

void WM_xr_actionmaps_clear ( wmXrRuntimeData *  runtime)

◆ WM_xr_actionmaps_get()

ListBase* WM_xr_actionmaps_get ( wmXrRuntimeData *  runtime)

Definition at line 522 of file wm_xr_actionmap.c.

References wmXrRuntimeData::actionmaps.