- my @midp;
- foreach my $ci (0..2) {
- push @midp, 0.5 * ($t->[$ix][$ci] + $t->[$jx][$ci]);
+ my $kx = ($ix+2) % 3;
+ if ($edge_need_subdivide_fn->($t->[$ix], $t->[$jx])) {
+ my @midp;
+ foreach my $ci (0..2) {
+ push @midp, 0.5 * ($t->[$ix][$ci] + $t->[$jx][$ci]);
+ }
+ # triangle i-j-k, splitting edge i-m
+ # gives i-m-k, k-m-j
+ push @$changed,
+ [ $t->[$ix], \@midp, $t->[$kx] ],
+ [ $t->[$kx], \@midp, $t->[$jx] ];
+ return;