| 258 | { |
| 259 | hashtable<uint, uint> edges; |
| 260 | loopi(numtris) |
| 261 | { |
| 262 | const tri &t = tris[i]; |
| 263 | loopj(3) |
| 264 | { |
| 265 | uint e1 = shareverts[t.vert[j]], e2 = shareverts[t.vert[(j+1)%3]], shift = 0; |
| 266 | if(e1 > e2) { swap(e1, e2); shift = 16; } |
| 267 | uint &edge = edges.access(e1 | (e2<<16), ~0U); |
| 268 | if(((edge>>shift)&0xFFFF) != 0xFFFF) edge = 0; |
| 269 | else |
| 270 | { |
| 271 | edge &= 0xFFFF<<(16-shift); |
| 272 | edge |= i<<shift; |
| 273 | } |
| 274 | } |
| 275 | } |
| 276 | loopi(numtris) |
| 277 | { |
| 278 | tri &t = tris[i]; |
nothing calls this directly
no test coverage detected