- OutVertex *cd;
- if (defs) {
- int around= side ? NDEF-1 : 0;
- cd= &defs[around];
- OutVertex *ab= &ovAB[v0][!rimy][side];
- OutVertex *cd1= &defs1[defs1aroundmap(around)];
- outfacet(side^rimy,cd,ab,cd1);
- } else {
- cd= &ovC[v0][side];
- }
- OutVertex *ab[6];
- FOR_VPEDGE(e) {
- ab[e]= invertex2outvertexab(v0,e,side);
- if (ab[e])
- K assert(!isnan(ab[e]->p[k]));
+ int ab;
+ for (ab=0; ab<2; ab++) {
+ int v1= EDGE_END2(v0, ab ? 5 : 0);
+ int v2= EDGE_END2(v0, ab ? 0 : 1);
+ if (v1<0 || v2<0) continue;
+ outfacet(side,
+ invertex2outvertexcd(v0,side),
+ invertex2outvertexcd(v1,side^vertices_span_join_p(v0,v1)),
+ invertex2outvertexcd(v2,side^vertices_span_join_p(v0,v2)));