Fix T87677: Add primitive tools produce wrong sized objects after changing values in 'Adjust Last Operation'
Always use the defaults here (radius, depth etc), since desired bounds have been set interactively, it does not make sense to use a different value from a previous command. The Cube tool has already seen a fix for this in rB26e5718e29a7, but Cone/UVSphere/Cylinder/IcoSphere havent. Maniphest Tasks: T87677 Differential Revision: https://developer.blender.org/D11038
This commit is contained in:
@@ -1472,10 +1472,27 @@ static int view3d_interactive_add_modal(bContext *C, wmOperator *op, const wmEve
|
||||
RNA_float_set_array(&op_props, "rotation", rotation);
|
||||
RNA_float_set_array(&op_props, "location", location);
|
||||
RNA_float_set_array(&op_props, "scale", scale);
|
||||
/* Always use default size here. */
|
||||
|
||||
/* Always use the defaults here since desired bounds have been set interactively, it does
|
||||
* not make sense to use a different values from a previous command. */
|
||||
if (ipd->primitive_type == PLACE_PRIMITIVE_TYPE_CUBE) {
|
||||
RNA_float_set(&op_props, "size", 2.0f);
|
||||
}
|
||||
if (ELEM(ipd->primitive_type,
|
||||
PLACE_PRIMITIVE_TYPE_CYLINDER,
|
||||
PLACE_PRIMITIVE_TYPE_SPHERE_UV,
|
||||
PLACE_PRIMITIVE_TYPE_SPHERE_ICO)) {
|
||||
RNA_float_set(&op_props, "radius", 1.0f);
|
||||
}
|
||||
if (ELEM(
|
||||
ipd->primitive_type, PLACE_PRIMITIVE_TYPE_CYLINDER, PLACE_PRIMITIVE_TYPE_CONE)) {
|
||||
RNA_float_set(&op_props, "depth", 2.0f);
|
||||
}
|
||||
if (ipd->primitive_type == PLACE_PRIMITIVE_TYPE_CONE) {
|
||||
RNA_float_set(&op_props, "radius1", 1.0f);
|
||||
RNA_float_set(&op_props, "radius2", 0.0f);
|
||||
}
|
||||
|
||||
WM_operator_name_call_ptr(C, ot, WM_OP_EXEC_DEFAULT, &op_props);
|
||||
WM_operator_properties_free(&op_props);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user