[Bf-blender-cvs] [05c3e5c4334] xr-controller-support: Cleanup
Peter Kim
noreply at git.blender.org
Fri Aug 13 00:29:39 CEST 2021
Commit: 05c3e5c43344a0830b742e75aaa974479b30f183
Author: Peter Kim
Date: Sun Aug 8 13:17:18 2021 +0900
Branches: xr-controller-support
https://developer.blender.org/rB05c3e5c43344a0830b742e75aaa974479b30f183
Cleanup
- Remove unused wmSurface.is_xr member
- Rename "actionmap" to "action_set" in wmXrActionData
- Use BLI_findstring()
- Add modifications note to tinygltf readme
===================================================================
M extern/tinygltf/README.blender
M source/blender/makesrna/intern/rna_wm.c
M source/blender/windowmanager/WM_api.h
M source/blender/windowmanager/WM_types.h
M source/blender/windowmanager/intern/wm_event_query.c
M source/blender/windowmanager/wm_surface.h
M source/blender/windowmanager/xr/intern/wm_xr_session.c
===================================================================
diff --git a/extern/tinygltf/README.blender b/extern/tinygltf/README.blender
index 1d34ea25966..cc63dc758bf 100644
--- a/extern/tinygltf/README.blender
+++ b/extern/tinygltf/README.blender
@@ -2,4 +2,4 @@ Project: tinygltf
URL: https://github.com/syoyo/tinygltf
License: MIT
Upstream version: 2.5.0
-Local modifications: None
+Local modifications: Use C++17 attribute [[fallthrough]] to quiet compiler warnings.
diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c
index ed5f471aa37..a3e88754e51 100644
--- a/source/blender/makesrna/intern/rna_wm.c
+++ b/source/blender/makesrna/intern/rna_wm.c
@@ -703,7 +703,7 @@ static bool rna_Event_is_xr_get(PointerRNA *ptr)
return WM_event_is_xr(event);
}
-static void rna_Event_xr_actionmap_get(PointerRNA *ptr, char *value)
+static void rna_Event_xr_action_set_get(PointerRNA *ptr, char *value)
{
const wmEvent *event = ptr->data;
if (WM_event_is_xr(event)) {
@@ -715,12 +715,12 @@ static void rna_Event_xr_actionmap_get(PointerRNA *ptr, char *value)
}
}
-static int rna_Event_xr_actionmap_length(PointerRNA *ptr)
+static int rna_Event_xr_action_set_length(PointerRNA *ptr)
{
const wmEvent *event = ptr->data;
if (WM_event_is_xr(event)) {
wmXrActionData *data = event->customdata;
- return strlen(data->actionmap) + 1;
+ return strlen(data->action_set) + 1;
}
else {
return 0;
@@ -2490,11 +2490,11 @@ static void rna_def_event(BlenderRNA *brna)
RNA_def_property_boolean_funcs(prop, "rna_Event_is_xr_get", NULL);
RNA_def_property_ui_text(prop, "Is XR", "The event has XR data");
- prop = RNA_def_property(srna, "xr_actionmap", PROP_STRING, PROP_NONE);
+ prop = RNA_def_property(srna, "xr_action_set", PROP_STRING, PROP_NONE);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_string_funcs(
- prop, "rna_Event_xr_actionmap_get", "rna_Event_xr_actionmap_length", NULL);
- RNA_def_property_ui_text(prop, "XR Action Map", "XR action map name");
+ prop, "rna_Event_xr_action_set_get", "rna_Event_xr_action_set_length", NULL);
+ RNA_def_property_ui_text(prop, "XR Action Set", "XR action set name");
prop = RNA_def_property(srna, "xr_action", PROP_STRING, PROP_NONE);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h
index 0908a854a14..6572e37ef18 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -912,7 +912,7 @@ int WM_event_absolute_delta_x(const struct wmEvent *event);
int WM_event_absolute_delta_y(const struct wmEvent *event);
void WM_event_xr_data(const struct wmEvent *event,
- char **actionmap,
+ char **action_set,
char **action,
char *type,
float state[2],
diff --git a/source/blender/windowmanager/WM_types.h b/source/blender/windowmanager/WM_types.h
index ac7afbe0dca..7eee79994f0 100644
--- a/source/blender/windowmanager/WM_types.h
+++ b/source/blender/windowmanager/WM_types.h
@@ -717,8 +717,8 @@ typedef struct wmXrActionState {
#endif
typedef struct wmXrActionData {
- /** Action map name. */
- char actionmap[64];
+ /** Action set name. */
+ char action_set[64];
/** Action name. */
char action[64];
/** Type. */
diff --git a/source/blender/windowmanager/intern/wm_event_query.c b/source/blender/windowmanager/intern/wm_event_query.c
index da229a93fcc..562a1f83473 100644
--- a/source/blender/windowmanager/intern/wm_event_query.c
+++ b/source/blender/windowmanager/intern/wm_event_query.c
@@ -484,7 +484,7 @@ int WM_event_absolute_delta_y(const struct wmEvent *event)
* \{ */
void WM_event_xr_data(const wmEvent *event,
- char **actionmap,
+ char **action_set,
char **action,
char *type,
float state[2],
@@ -500,8 +500,8 @@ void WM_event_xr_data(const wmEvent *event,
{
const wmXrActionData *data = event->customdata;
- if (actionmap) {
- strcpy(*actionmap, data->actionmap);
+ if (action_set) {
+ strcpy(*action_set, data->action_set);
}
if (action) {
strcpy(*action, data->action);
diff --git a/source/blender/windowmanager/wm_surface.h b/source/blender/windowmanager/wm_surface.h
index 602c095a186..a2483d38154 100644
--- a/source/blender/windowmanager/wm_surface.h
+++ b/source/blender/windowmanager/wm_surface.h
@@ -36,9 +36,6 @@ typedef struct wmSurface {
GHOST_ContextHandle ghost_ctx;
struct GPUContext *gpu_ctx;
- /* Used for XR event handling. */
- bool is_xr;
-
void *customdata;
void (*draw)(struct bContext *);
diff --git a/source/blender/windowmanager/xr/intern/wm_xr_session.c b/source/blender/windowmanager/xr/intern/wm_xr_session.c
index a99a5d74dd5..aeed1bbeb00 100644
--- a/source/blender/windowmanager/xr/intern/wm_xr_session.c
+++ b/source/blender/windowmanager/xr/intern/wm_xr_session.c
@@ -839,7 +839,7 @@ static void wm_xr_session_controller_data_update(const bContext *C,
}
if (!controller->model) {
- /* Notify ghost to load/continue loading the controller model data. This can be called more
+ /* Notify GHOST to load/continue loading the controller model data. This can be called more
* than once since the model may not be available from the runtime yet. The batch itself will
* be created in wm_xr_draw_controllers(). */
GHOST_XrLoadControllerModel(xr_context, controller->subaction_path);
@@ -850,12 +850,9 @@ static void wm_xr_session_controller_data_update(const bContext *C,
static const GHOST_XrPose *wm_xr_session_controller_aim_pose_find(const wmXrSessionState *state,
const char *subaction_path)
{
- LISTBASE_FOREACH (wmXrController *, controller, &state->controllers) {
- if (STREQ(controller->subaction_path, subaction_path)) {
- return &controller->aim_pose;
- }
- }
- return NULL;
+ const wmXrController *controller = BLI_findstring(
+ &state->controllers, subaction_path, offsetof(wmXrController, subaction_path));
+ return controller ? &controller->aim_pose : NULL;
}
BLI_INLINE bool test_float_state(const float *state, float threshold, eXrAxisFlag flag)
@@ -1222,7 +1219,7 @@ static wmXrActionData *wm_xr_session_event_create(const char *action_set_name,
bool bimanual)
{
wmXrActionData *data = MEM_callocN(sizeof(wmXrActionData), __func__);
- strcpy(data->actionmap, action_set_name);
+ strcpy(data->action_set, action_set_name);
strcpy(data->action, action->name);
data->type = action->type;
@@ -1669,7 +1666,6 @@ static wmSurface *wm_xr_session_surface_create(void)
surface->ghost_ctx = DRW_xr_opengl_context_get();
surface->gpu_ctx = DRW_xr_gpu_context_get();
- surface->is_xr = true;
data->controller_art->regionid = RGN_TYPE_XR;
surface->customdata = data;
More information about the Bf-blender-cvs
mailing list