mirror of
https://gitlab.freedesktop.org/monado/monado.git
synced 2025-01-04 06:06:17 +00:00
u/ht: Port to using new zero/identity defines
This commit is contained in:
parent
edc6490d74
commit
cb8925ae04
|
@ -60,7 +60,7 @@ struct u_joint_curl_model
|
|||
static struct u_joint_curl_model hand_joint_default_set_curl_model_defaults[XRT_HAND_JOINT_COUNT] = {
|
||||
// special cases: wrist and palm without bone lengths, offsets are
|
||||
// absolute, relative to hand origin (palm)
|
||||
[XRT_HAND_JOINT_PALM] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_PALM] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, 0, 0},
|
||||
.bone_length = 0,
|
||||
.radius = 0.018,
|
||||
|
@ -84,25 +84,25 @@ static struct u_joint_curl_model hand_joint_default_set_curl_model_defaults[XRT_
|
|||
.radius = 0.015,
|
||||
.joint_id = XRT_HAND_JOINT_LITTLE_METACARPAL},
|
||||
|
||||
[XRT_HAND_JOINT_LITTLE_PROXIMAL] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_LITTLE_PROXIMAL] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, DEG_TO_RAD(20), 0},
|
||||
.bone_length = 0.035,
|
||||
.radius = 0.01,
|
||||
.joint_id = XRT_HAND_JOINT_LITTLE_PROXIMAL},
|
||||
|
||||
[XRT_HAND_JOINT_LITTLE_INTERMEDIATE] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_LITTLE_INTERMEDIATE] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, 0, 0},
|
||||
.bone_length = 0.028,
|
||||
.radius = 0.009,
|
||||
.joint_id = XRT_HAND_JOINT_LITTLE_INTERMEDIATE},
|
||||
|
||||
[XRT_HAND_JOINT_LITTLE_DISTAL] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_LITTLE_DISTAL] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, 0, 0},
|
||||
.bone_length = 0.022,
|
||||
.radius = 0.009,
|
||||
.joint_id = XRT_HAND_JOINT_LITTLE_DISTAL},
|
||||
|
||||
[XRT_HAND_JOINT_LITTLE_TIP] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_LITTLE_TIP] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, 0, 0},
|
||||
.bone_length = 0,
|
||||
.radius = 0.012,
|
||||
|
@ -115,25 +115,25 @@ static struct u_joint_curl_model hand_joint_default_set_curl_model_defaults[XRT_
|
|||
.radius = 0.015,
|
||||
.joint_id = XRT_HAND_JOINT_RING_METACARPAL},
|
||||
|
||||
[XRT_HAND_JOINT_RING_PROXIMAL] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_RING_PROXIMAL] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, DEG_TO_RAD(10), 0},
|
||||
.bone_length = 0.040,
|
||||
.radius = 0.012,
|
||||
.joint_id = XRT_HAND_JOINT_RING_PROXIMAL},
|
||||
|
||||
[XRT_HAND_JOINT_RING_INTERMEDIATE] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_RING_INTERMEDIATE] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, 0, 0},
|
||||
.bone_length = 0.031,
|
||||
.radius = 0.01,
|
||||
.joint_id = XRT_HAND_JOINT_RING_INTERMEDIATE},
|
||||
|
||||
[XRT_HAND_JOINT_RING_DISTAL] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_RING_DISTAL] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, 0, 0},
|
||||
.bone_length = 0.023,
|
||||
.radius = 0.01,
|
||||
.joint_id = XRT_HAND_JOINT_RING_DISTAL},
|
||||
|
||||
[XRT_HAND_JOINT_RING_TIP] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_RING_TIP] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, 0, 0},
|
||||
.bone_length = 0,
|
||||
.radius = 0.013,
|
||||
|
@ -146,25 +146,25 @@ static struct u_joint_curl_model hand_joint_default_set_curl_model_defaults[XRT_
|
|||
.radius = 0.012,
|
||||
.joint_id = XRT_HAND_JOINT_MIDDLE_METACARPAL},
|
||||
|
||||
[XRT_HAND_JOINT_MIDDLE_PROXIMAL] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_MIDDLE_PROXIMAL] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, 0, 0},
|
||||
.bone_length = 0.042,
|
||||
.radius = 0.01,
|
||||
.joint_id = XRT_HAND_JOINT_MIDDLE_PROXIMAL},
|
||||
|
||||
[XRT_HAND_JOINT_MIDDLE_INTERMEDIATE] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_MIDDLE_INTERMEDIATE] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, 0, 0},
|
||||
.bone_length = 0.033,
|
||||
.radius = 0.01,
|
||||
.joint_id = XRT_HAND_JOINT_MIDDLE_INTERMEDIATE},
|
||||
|
||||
[XRT_HAND_JOINT_MIDDLE_DISTAL] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_MIDDLE_DISTAL] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, 0, 0},
|
||||
.bone_length = 0.024,
|
||||
.radius = 0.01,
|
||||
.joint_id = XRT_HAND_JOINT_MIDDLE_DISTAL},
|
||||
|
||||
[XRT_HAND_JOINT_MIDDLE_TIP] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_MIDDLE_TIP] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, 0, 0},
|
||||
.bone_length = 0,
|
||||
.radius = 0.01,
|
||||
|
@ -177,25 +177,25 @@ static struct u_joint_curl_model hand_joint_default_set_curl_model_defaults[XRT_
|
|||
.radius = 0.012,
|
||||
.joint_id = XRT_HAND_JOINT_INDEX_METACARPAL},
|
||||
|
||||
[XRT_HAND_JOINT_INDEX_PROXIMAL] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_INDEX_PROXIMAL] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, DEG_TO_RAD(-10), 0},
|
||||
.bone_length = 0.040,
|
||||
.radius = 0.011,
|
||||
.joint_id = XRT_HAND_JOINT_INDEX_PROXIMAL},
|
||||
|
||||
[XRT_HAND_JOINT_INDEX_INTERMEDIATE] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_INDEX_INTERMEDIATE] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, 0, 0},
|
||||
.bone_length = 0.031,
|
||||
.radius = 0.01,
|
||||
.joint_id = XRT_HAND_JOINT_INDEX_INTERMEDIATE},
|
||||
|
||||
[XRT_HAND_JOINT_INDEX_DISTAL] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_INDEX_DISTAL] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, 0, 0},
|
||||
.bone_length = 0.023,
|
||||
.radius = 0.01,
|
||||
.joint_id = XRT_HAND_JOINT_INDEX_DISTAL},
|
||||
|
||||
[XRT_HAND_JOINT_INDEX_TIP] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_INDEX_TIP] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, 0, 0},
|
||||
.bone_length = 0,
|
||||
.radius = 0.01,
|
||||
|
@ -208,20 +208,20 @@ static struct u_joint_curl_model hand_joint_default_set_curl_model_defaults[XRT_
|
|||
.radius = 0.0175,
|
||||
.joint_id = XRT_HAND_JOINT_THUMB_METACARPAL},
|
||||
|
||||
[XRT_HAND_JOINT_THUMB_PROXIMAL] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_THUMB_PROXIMAL] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, DEG_TO_RAD(-12), 0},
|
||||
.bone_length = 0.038,
|
||||
.radius = 0.017,
|
||||
.joint_id = XRT_HAND_JOINT_THUMB_PROXIMAL},
|
||||
// no intermediate
|
||||
|
||||
[XRT_HAND_JOINT_THUMB_DISTAL] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_THUMB_DISTAL] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, 0, 0},
|
||||
.bone_length = 0.028,
|
||||
.radius = 0.017,
|
||||
.joint_id = XRT_HAND_JOINT_THUMB_DISTAL},
|
||||
|
||||
[XRT_HAND_JOINT_THUMB_TIP] = {.position_offset = {.x = 0, .y = 0, .z = 0},
|
||||
[XRT_HAND_JOINT_THUMB_TIP] = {.position_offset = XRT_VEC3_ZERO,
|
||||
.axis_angle_offset = {0, 0, 0},
|
||||
.bone_length = 0,
|
||||
.radius = 0.016,
|
||||
|
@ -325,7 +325,7 @@ u_hand_joint_compute_next_by_curl(struct u_hand_tracking *set,
|
|||
|
||||
//! @todo more axis rotations & make sure order is right
|
||||
//! @todo handle velocities
|
||||
struct xrt_pose offset_pose;
|
||||
struct xrt_pose offset_pose = XRT_POSE_IDENTITY;
|
||||
if (hand == XRT_HAND_LEFT) {
|
||||
quat_from_angle_vector_clockwise(defaults.axis_angle_offset[1], &y_axis, &offset_pose.orientation);
|
||||
offset_pose.position = defaults.position_offset;
|
||||
|
@ -385,7 +385,7 @@ u_hand_joint_compute_next_by_curl(struct u_hand_tracking *set,
|
|||
math_quat_finite_difference(&old_relation.pose.orientation, &out_joint->relation.pose.orientation,
|
||||
time_diff_s, &out_joint->relation.angular_velocity);
|
||||
} else {
|
||||
out_joint->relation.angular_velocity = (struct xrt_vec3){0, 0, 0};
|
||||
out_joint->relation.angular_velocity = (struct xrt_vec3)XRT_VEC3_ZERO;
|
||||
}
|
||||
|
||||
out_joint->relation.relation_flags = POSE_VALID_FLAGS | VELOCIY_VALID_FLAGS;
|
||||
|
@ -403,7 +403,7 @@ u_hand_joints_update_curl(struct u_hand_tracking *set,
|
|||
float curl_index = curl_values->index;
|
||||
float curl_thumb = curl_values->thumb;
|
||||
|
||||
const struct xrt_quat identity_quat = {0, 0, 0, 1};
|
||||
const struct xrt_quat identity_quat = XRT_QUAT_IDENTITY;
|
||||
|
||||
//! @todo: full relations with velocities
|
||||
|
||||
|
@ -411,15 +411,15 @@ u_hand_joints_update_curl(struct u_hand_tracking *set,
|
|||
set->joints.wrist.relation.pose = (struct xrt_pose){
|
||||
.position = hand_joint_default_set_curl_model_defaults[XRT_HAND_JOINT_WRIST].position_offset,
|
||||
.orientation = identity_quat};
|
||||
set->joints.wrist.relation.linear_velocity = (struct xrt_vec3){0, 0, 0};
|
||||
set->joints.wrist.relation.angular_velocity = (struct xrt_vec3){0, 0, 0};
|
||||
set->joints.wrist.relation.linear_velocity = (struct xrt_vec3)XRT_VEC3_ZERO;
|
||||
set->joints.wrist.relation.angular_velocity = (struct xrt_vec3)XRT_VEC3_ZERO;
|
||||
set->joints.wrist.relation.relation_flags = POSE_VALID_FLAGS | VELOCIY_VALID_FLAGS;
|
||||
|
||||
set->joints.palm.relation.pose = (struct xrt_pose){
|
||||
.position = hand_joint_default_set_curl_model_defaults[XRT_HAND_JOINT_PALM].position_offset,
|
||||
.orientation = identity_quat};
|
||||
set->joints.palm.relation.linear_velocity = (struct xrt_vec3){0, 0, 0};
|
||||
set->joints.palm.relation.angular_velocity = (struct xrt_vec3){0, 0, 0};
|
||||
set->joints.palm.relation.linear_velocity = (struct xrt_vec3)XRT_VEC3_ZERO;
|
||||
set->joints.palm.relation.angular_velocity = (struct xrt_vec3)XRT_VEC3_ZERO;
|
||||
set->joints.palm.relation.relation_flags = POSE_VALID_FLAGS | VELOCIY_VALID_FLAGS;
|
||||
|
||||
struct u_joint_space_relation *prev = &set->joints.wrist;
|
||||
|
@ -704,13 +704,13 @@ u_hand_joints_offset_valve_index_controller(enum xrt_hand hand, struct xrt_vec3
|
|||
}
|
||||
|
||||
|
||||
struct xrt_quat hand_rotation_y = {0, 0, 0, 1};
|
||||
struct xrt_quat hand_rotation_y = XRT_QUAT_IDENTITY;
|
||||
math_quat_from_angle_vector(hand_on_handle_y_rotation, &y, &hand_rotation_y);
|
||||
|
||||
struct xrt_quat hand_rotation_z = {0, 0, 0, 1};
|
||||
math_quat_from_angle_vector(hand_on_handle_z_rotation, &z, &hand_rotation_z);
|
||||
struct xrt_quat hand_rotation_z = XRT_QUAT_IDENTITY;
|
||||
|
||||
struct xrt_quat hand_rotation_x = {0, 0, 0, 1};
|
||||
struct xrt_quat hand_rotation_x = XRT_QUAT_IDENTITY;
|
||||
math_quat_from_angle_vector(hand_on_handle_x_rotation, &x, &hand_rotation_x);
|
||||
|
||||
struct xrt_quat hand_rotation;
|
||||
|
|
Loading…
Reference in a new issue