[Bf-blender-cvs] [d685b9ca571] xr-actions-D9124: Cleanup: comments, variables

Peter Kim noreply at git.blender.org
Sun Nov 15 15:53:23 CET 2020


Commit: d685b9ca571f49e4b73f0c2ddb1db811af71e53d
Author: Peter Kim
Date:   Sat Nov 14 22:22:46 2020 +0900
Branches: xr-actions-D9124
https://developer.blender.org/rBd685b9ca571f49e4b73f0c2ddb1db811af71e53d

Cleanup: comments, variables

===================================================================

M	intern/ghost/intern/GHOST_XrSession.cpp
M	source/blender/makesdna/DNA_xr_types.h
M	source/blender/makesrna/intern/rna_xr.c
M	source/blender/windowmanager/xr/intern/wm_xr_actions.c
M	source/blender/windowmanager/xr/intern/wm_xr_draw.c
M	source/blender/windowmanager/xr/intern/wm_xr_operators.c

===================================================================

diff --git a/intern/ghost/intern/GHOST_XrSession.cpp b/intern/ghost/intern/GHOST_XrSession.cpp
index 0f74e151edd..8d6879502f9 100644
--- a/intern/ghost/intern/GHOST_XrSession.cpp
+++ b/intern/ghost/intern/GHOST_XrSession.cpp
@@ -179,7 +179,6 @@ static void create_reference_spaces(OpenXRSessionData &oxr, const GHOST_XrPose &
        stage reference space for absolute tracking, if the runtime doesn't support it then just
        fallback to the local space. */
     if (result == XR_ERROR_REFERENCE_SPACE_UNSUPPORTED) {
-      /* TODO_XR: Log to Info editor instead of stdout. */
       printf(
           "Warning: XR runtime does not support stage reference space, disabling absolute "
           "tracking.\n");
@@ -199,7 +198,6 @@ static void create_reference_spaces(OpenXRSessionData &oxr, const GHOST_XrPose &
     CHECK_XR(xrGetReferenceSpaceBoundsRect(oxr.session, XR_REFERENCE_SPACE_TYPE_STAGE, &extents),
              "Failed to get stage reference space bounds.");
     if (extents.width == 0.0f || extents.height == 0.0f) {
-      /* TODO_XR: Log to Info editor. */
       printf(
           "Warning: Invalid stage reference space bounds, disabling absolute tracking. To use "
           "absolute tracking, please define a tracking space via the XR runtime.\n");
diff --git a/source/blender/makesdna/DNA_xr_types.h b/source/blender/makesdna/DNA_xr_types.h
index 1b547ca8360..0f1b9f69777 100644
--- a/source/blender/makesdna/DNA_xr_types.h
+++ b/source/blender/makesdna/DNA_xr_types.h
@@ -47,7 +47,7 @@ typedef struct XrSessionSettings {
 
   int flag;
 
-  /** Objects whose location and rotation will be constrained to the XR headset / controller poses.
+  /** Objects whose location and rotation will be constrained to the XR headset/controller poses.
    */
   Object *headset_object;
   Object *controller0_object;
diff --git a/source/blender/makesrna/intern/rna_xr.c b/source/blender/makesrna/intern/rna_xr.c
index 8c8623e14e3..06ba291f229 100644
--- a/source/blender/makesrna/intern/rna_xr.c
+++ b/source/blender/makesrna/intern/rna_xr.c
@@ -971,7 +971,7 @@ static void rna_def_xr_session_state(BlenderRNA *brna)
                        0.0f,
                        1.0f,
                        "Threshold",
-                       "Input threshold for button actions",
+                       "Input threshold for button/axis actions",
                        0.0f,
                        1.0f);
   RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
diff --git a/source/blender/windowmanager/xr/intern/wm_xr_actions.c b/source/blender/windowmanager/xr/intern/wm_xr_actions.c
index ed6b870b2c3..3ada9b6ca8e 100644
--- a/source/blender/windowmanager/xr/intern/wm_xr_actions.c
+++ b/source/blender/windowmanager/xr/intern/wm_xr_actions.c
@@ -387,9 +387,8 @@ bool WM_xr_action_states_get(const wmXrData *xr,
                 break;
               }
               case GHOST_kXrActionTypeVector2fInput: {
-                memcpy(((float(*)[2])info->states)[ist_idx],
-                       ((float(*)[2])action->states)[ast_idx],
-                       sizeof(float[2]));
+                copy_v2_v2(((float(*)[2])info->states)[ist_idx],
+                           ((float(*)[2])action->states)[ast_idx]);
                 break;
               }
               case GHOST_kXrActionTypePoseInput: {
diff --git a/source/blender/windowmanager/xr/intern/wm_xr_draw.c b/source/blender/windowmanager/xr/intern/wm_xr_draw.c
index 527741ea6d3..39f21466710 100644
--- a/source/blender/windowmanager/xr/intern/wm_xr_draw.c
+++ b/source/blender/windowmanager/xr/intern/wm_xr_draw.c
@@ -193,9 +193,7 @@ void wm_xr_draw_controllers(const bContext *UNUSED(C), ARegion *UNUSED(region),
   const float b[4] = {0.157f, 0.565f, 1.0f, 1.0f};
 
   const float scale = 0.1f;
-  float x_axis[3];
-  float y_axis[3];
-  float z_axis[3];
+  float x_axis[3], y_axis[3], z_axis[3];
 
   for (int i = 0; i < 2; ++i) {
     const float(*mat)[4] = state->controllers[i].mat;
diff --git a/source/blender/windowmanager/xr/intern/wm_xr_operators.c b/source/blender/windowmanager/xr/intern/wm_xr_operators.c
index 594d6ef8795..ed9124f4e6f 100644
--- a/source/blender/windowmanager/xr/intern/wm_xr_operators.c
+++ b/source/blender/windowmanager/xr/intern/wm_xr_operators.c
@@ -630,7 +630,7 @@ static void WM_OT_xr_select_raycast(wmOperatorType *ot)
                        -1.0f,
                        1.0f,
                        "Axis",
-                       "Normalized raycast axis in controller space",
+                       "Raycast axis in controller space",
                        -1.0f,
                        1.0f);
 }
@@ -677,7 +677,7 @@ static int wm_xr_grab_invoke_3d(bContext *C, wmOperator *op, const wmEvent *even
   loc_lock = prop ? RNA_property_boolean_get(op->ptr, prop) : false;
   if (!loc_lock) {
     prop = RNA_struct_find_property(op->ptr, "location_interpolation");
-    loc_t = prop ? RNA_property_float_get(op->ptr, prop) : 1.0f;
+    loc_t = prop ? RNA_property_float_get(op->ptr, prop) : 0.0f;
     prop = RNA_struct_find_property(op->ptr, "location_offset");
     if (prop && RNA_property_is_set(op->ptr, prop)) {
       RNA_property_float_get_array(op->ptr, prop, loc_ofs);
@@ -689,7 +689,7 @@ static int wm_xr_grab_invoke_3d(bContext *C, wmOperator *op, const wmEvent *even
   rot_lock = prop ? RNA_property_boolean_get(op->ptr, prop) : false;
   if (!rot_lock) {
     prop = RNA_struct_find_property(op->ptr, "rotation_interpolation");
-    rot_t = prop ? RNA_property_float_get(op->ptr, prop) : 1.0f;
+    rot_t = prop ? RNA_property_float_get(op->ptr, prop) : 0.0f;
     prop = RNA_struct_find_property(op->ptr, "rotation_offset");
     if (prop && RNA_property_is_set(op->ptr, prop)) {
       float tmp[3];
@@ -762,15 +762,20 @@ static int wm_xr_grab_invoke_3d(bContext *C, wmOperator *op, const wmEvent *even
     }
   }
   else {
+    /* Apply interpolation and offsets. */
     CTX_DATA_BEGIN (C, Object *, ob, selected_objects) {
+      bool update = false;
+
       if (!loc_lock) {
         if (loc_t > 0.0f) {
           ob->loc[0] += loc_t * (actiondata->controller_loc[0] - ob->loc[0]);
           ob->loc[1] += loc_t * (actiondata->controller_loc[1] - ob->loc[1]);
           ob->loc[2] += loc_t * (actiondata->controller_loc[2] - ob->loc[2]);
+          update = true;
         }
         if (loc_ofs_set) {
           add_v3_v3(ob->loc, loc_ofs);
+          update = true;
         }
       }
 
@@ -781,6 +786,7 @@ static int wm_xr_grab_invoke_3d(bContext *C, wmOperator *op, const wmEvent *even
           if (!rot_ofs_set) {
             quat_to_eul(ob->rot, tmp0);
           }
+          update = true;
         }
         else if (rot_ofs_set) {
           eul_to_quat(tmp0, ob->rot);
@@ -796,11 +802,13 @@ static int wm_xr_grab_invoke_3d(bContext *C, wmOperator *op, const wmEvent *even
           mul_qt_qtqt(tmp2, tmp0, tmp1);
           normalize_qt(tmp2);
           quat_to_eul(ob->rot, tmp2);
+          update = true;
         }
       }
 
-      DEG_id_tag_update(&ob->id, ID_RECALC_TRANSFORM);
-
+      if (update) {
+        DEG_id_tag_update(&ob->id, ID_RECALC_TRANSFORM);
+      }
       selected = true;
     }
     CTX_DATA_END;
@@ -843,7 +851,7 @@ static int wm_xr_grab_modal_3d(bContext *C, wmOperator *op, const wmEvent *event
   bScreen *screen_anim = ED_screen_animation_playing(wm);
   bool loc_lock, rot_lock;
   bool selected = false;
-  float delta[4][4], tmp[4][4];
+  float delta[4][4], tmp0[4][4], tmp1[4][4], tmp2[4][4];
 
   PropertyRNA *prop = RNA_struct_find_property(op->ptr, "location_lock");
   loc_lock = prop ? RNA_property_boolean_get(op->ptr, prop) : false;
@@ -852,36 +860,34 @@ static int wm_xr_grab_modal_3d(bContext *C, wmOperator *op, const wmEvent *event
 
   if (em) { /* TODO_XR: Non-mesh objects. */
     if (!loc_lock || !rot_lock) {
-      Scene *scene = CTX_data_scene(C);
       ToolSettings *ts = scene->toolsettings;
       BMesh *bm = em->bm;
       BMIter iter;
-      float tmp0[4][4], tmp1[4][4];
 
       if (rot_lock) {
-        unit_m4(tmp);
-        copy_v3_v3(tmp[3], data->mat_prev[3]);
-        mul_m4_m4m4(tmp0, obedit->imat, tmp);
-        invert_m4(tmp0);
+        unit_m4(tmp0);
+        copy_v3_v3(tmp0[3], data->mat_prev[3]);
+        mul_m4_m4m4(tmp1, obedit->imat, tmp0);
+        invert_m4(tmp1);
 
         quat_to_mat4(data->mat_prev, actiondata->controller_rot);
         copy_v3_v3(data->mat_prev[3], actiondata->controller_loc);
-        copy_v3_v3(tmp[3], data->mat_prev[3]);
-        mul_m4_m4m4(tmp1, obedit->imat, tmp);
+        copy_v3_v3(tmp0[3], data->mat_prev[3]);
+        mul_m4_m4m4(tmp2, obedit->imat, tmp0);
 
-        mul_m4_m4m4(delta, tmp1, tmp0);
+        mul_m4_m4m4(delta, tmp2, tmp1);
       }
       else {
-        copy_m4_m4(tmp, data->mat_prev);
-        mul_m4_m4m4(tmp0, obedit->imat, tmp);
-        invert_m4(tmp0);
+        copy_m4_m4(tmp0, data->mat_prev);
+        mul_m4_m4m4(tmp1, obedit->imat, tmp0);
+        invert_m4(tmp1);
 
         quat_to_mat4(data->mat_prev, actiondata->controller_rot);
         copy_v3_v3(data->mat_prev[3], actiondata->controller_loc);
-        copy_m4_m4(tmp, data->mat_prev);
-        mul_m4_m4m4(tmp1, obedit->imat, tmp);
+        copy_m4_m4(tmp0, data->mat_prev);
+        mul_m4_m4m4(tmp2, obedit->imat, tmp0);
 
-        mul_m4_m4m4(delta, tmp1, tmp0);
+        mul_m4_m4m4(delta, tmp2, tmp1);
 
         if (loc_lock) {
           zero_v3(delta[3]);
@@ -943,22 +949,21 @@ static int wm_xr_grab_modal_3d(bContext *C, wmOperator *op, const wmEvent *event
   else {
     if (!loc_lock || !rot_lock) {
       if (rot_lock) {
-        float tmp0[4][4];
         unit_m4(tmp0);
         copy_v3_v3(tmp0[3], data->mat_prev[3]);
-        invert_m4_m4(tmp, tmp0);
+        invert_m4_m4(tmp1, tmp0);
 
         quat_to_mat4(data->mat_prev, actiondata->controller_rot);
         copy_v3_v3(data->mat_prev[3], actiondata->controller_loc);
         copy_v3_v3(tmp0[3], data->mat_prev[3]);
 
-        mul_m4_m4m4(delta, tmp0, tmp);
+        mul_m4_m4m4(delta, tmp0, tmp1);
       }
       else {
-        invert_m4_m4(tmp, data->mat_prev);
+        invert_m4_m4(tmp0, data->mat_prev);
         quat_to_mat4(data->mat_prev, actiondata->controller_rot);
 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list