[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