Now the new edges are automatically selected after an extrude.

This commit is contained in:
Relintai 2022-01-27 19:32:43 +01:00
parent 53f01ae370
commit 38f6c15f36

View File

@ -1016,12 +1016,14 @@ func extrude() -> void:
# The selection alo will take care of the duplicates # The selection alo will take care of the duplicates
var new_handle_points : PoolVector3Array = PoolVector3Array() var new_handle_points : PoolVector3Array = PoolVector3Array()
for i in range(original_size, new_verts.size() - 4, 4): for i in range(original_size, new_verts.size(), 4):
new_handle_points.append(new_verts[i + 1]) var vavg : Vector3 = new_verts[i + 1]
new_handle_points.append(new_verts[i + 2]) vavg += new_verts[i + 2]
vavg /= 2
new_handle_points.append(vavg)
# select new ones select_handle_points(new_handle_points)
# TODO
else: else:
add_quad() add_quad()
@ -1083,7 +1085,6 @@ func create_face():
else: else:
tfn = MDRMeshUtils.get_face_normal(_vertices[i0], _vertices[i1], _vertices[i2]) tfn = MDRMeshUtils.get_face_normal(_vertices[i0], _vertices[i1], _vertices[i2])
var flip : bool = MDRMeshUtils.should_triangle_flip(v0, v1, v2, tfn) var flip : bool = MDRMeshUtils.should_triangle_flip(v0, v1, v2, tfn)
MDRMeshUtils.add_triangle_at(_mdr, v0, v1, v2, flip) MDRMeshUtils.add_triangle_at(_mdr, v0, v1, v2, flip)
@ -1639,6 +1640,17 @@ func copy_mdr_verts_array() -> PoolVector3Array:
return ret return ret
func select_handle_points(points : PoolVector3Array) -> void:
_selected_points.resize(0)
for p in points:
for i in range(_handle_points.size()):
if is_verts_equal(p, _handle_points[i]):
if !pool_int_arr_contains(_selected_points, i):
_selected_points.push_back(i)
redraw()
func set_pivot_averaged(): func set_pivot_averaged():
pivot_type = PivotTypes.PIVOT_TYPE_AVERAGED pivot_type = PivotTypes.PIVOT_TYPE_AVERAGED