- for(std::list<ElementaryEdge *>::const_iterator it=otherTmp._sub_edges.begin();it!=otherTmp._sub_edges.end();it++)
- (*it)->fillGlobalInfoAbs2(mapThis,mapOther,offset1,offset2,/**/fact,xBaryBB,yBaryBB,/**/subDivOther[otherEdgeIds[i]],addCoo,mapAddCoo);
+ std::size_t jj = 0, sz(otherTmp._sub_edges.size());
+ for(std::list<ElementaryEdge *>::const_iterator it=otherTmp._sub_edges.begin();it!=otherTmp._sub_edges.end();it++, jj++)
+ {
+ short skipStartOrEnd = jj == 0 ? -1 : (jj == sz-1 ? 1 : 0); // -1 means START, 1 means END, 0 other
+ (*it)->fillGlobalInfoAbs2(mapThis,mapOther,offset1,offset2,
+ fact,xBaryBB,yBaryBB, skipStartOrEnd,
+ /*out*/ subDivOther[otherEdgeIds[i]],addCoo,mapAddCoo);
+ }