From e0460a0b8d7ce2c4e9bf443fd74e537af5e17534 Mon Sep 17 00:00:00 2001 From: "Stephen M. McQuay" Date: Tue, 15 May 2012 17:43:41 -0600 Subject: [PATCH] trying to spell things more clearly in cc --- surf/subd/cc.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/surf/subd/cc.py b/surf/subd/cc.py index a3fdaaf..63fd01b 100644 --- a/surf/subd/cc.py +++ b/surf/subd/cc.py @@ -7,7 +7,7 @@ def refine(mesh): new_vertices = list(mesh.vertices) f_vert_offset = len(new_vertices) - edge_vids_for = defaultdict(list) + edge_vids_for_face = defaultdict(list) face_ids_for_v = defaultdict(list) # TODO: not completely populated yet: @@ -35,15 +35,15 @@ def refine(mesh): # For each edge, add an edge point. for old_edge_id, old_edge in enumerate(mesh.edges): # make mapping from edge -> new_face_vert for later - face_ids_for_edge = mesh.faces_for_edge[old_edge_id] - for fid in face_ids_for_edge: - edge_vids_for[fid].append(old_edge_id) + old_face_ids_for_old_edge = mesh.faces_for_edge[old_edge_id] + for fid in old_face_ids_for_old_edge: + edge_vids_for_face[fid].append(old_edge_id) tmp_verts = [] # Set each edge point to be the average of the two neighbouring, (very # recently calculated) face points ... - tmp_verts.extend([new_vertices[f + f_vert_offset] for f in face_ids_for_edge]) + tmp_verts.extend([new_vertices[f + f_vert_offset] for f in old_face_ids_for_old_edge]) # ... and its two original endpoints. tmp_verts.extend([mesh.vertices[vid] for vid in old_edge]) @@ -51,11 +51,11 @@ def refine(mesh): # centroid == average new_vertices.append(centroid(tmp_verts)) - # For each face point, add an edge for every edge of the face, connecting - # the face point to each edge point for the face. + # For each face point, add an edge for every edge of the old face, + # connecting the face point to each edge point for the face. for trunc_vid in xrange(len(new_vertices[f_vert_offset:e_vert_offset])): overall_vid = f_vert_offset + trunc_vid - for edge_vid in edge_vids_for[trunc_vid]: + for edge_vid in edge_vids_for_face[trunc_vid]: new_edges.append([edge_vid, overall_vid]) # v_vert_offset = len(new_vertices) @@ -68,7 +68,6 @@ def refine(mesh): F_verts = [] for fid in new_face_ids: F_verts.append(new_vertices[f_vert_offset + fid]) - F = centroid(F_verts) # and take the average R of all n edge midpoints for edges touching P @@ -77,8 +76,8 @@ def refine(mesh): e_verts = [] for edge in edges: e_verts.extend([mesh.vertices[vid] for vid in edge]) - R = centroid(e_verts) + # where each edge midpoint is the average of its two endpoint vertices. # **Move** each original point to the point (or add it to new_verts) new_vertex_point = (F + 2 * R + (len(edges) - 3) * new_vertices[new_vid]) / len(edges)