Catmull–Clark subdivision surface: Difference between revisions

Content deleted Content added
→‎{{header|Tcl}}: Corrected bug, added hole support
m →‎{{header|Tcl}}: tidying up a bit more
Line 299:
# Generate the new edge-points and mid-points of edges, and a few more
# lookup tables.
set enumi [+ [llength $points] [llength $faces]]
foreach e $edges {
set ep [selectFrom $points $e]
Line 308:
lappend edgepoints $mid
}
set en4e($e) $enumi
foreach p $ep {
lappend ep4p($p) $mid
}
incr enumi
}
 
Line 328:
 
# Now compute the new set of quadrilateral faces.
set fidxi [llength $points]
foreach f $faces {
foreach a $f b [lrot $f] c [lrot $f -1] {
lappend newFaces $newf[list \
set newf [list $a $en4e([edge $a $b]) $fidxi $en4e([edge $c $a])]
lappend newFaces $newf
}
incr fidxi
}