| 48 | |
| 49 | |
| 50 | static triSurface pack |
| 51 | ( |
| 52 | const triSurface& surf, |
| 53 | const pointField& localPoints, |
| 54 | const labelList& pointMap |
| 55 | ) |
| 56 | { |
| 57 | List<labelledTri> newTriangles(surf.size()); |
| 58 | label newTriangleI = 0; |
| 59 | |
| 60 | forAll(surf, facei) |
| 61 | { |
| 62 | const labelledTri& f = surf.localFaces()[facei]; |
| 63 | |
| 64 | label newA = pointMap[f[0]]; |
| 65 | label newB = pointMap[f[1]]; |
| 66 | label newC = pointMap[f[2]]; |
| 67 | |
| 68 | if ((newA != newB) && (newA != newC) && (newB != newC)) |
| 69 | { |
| 70 | newTriangles[newTriangleI++] = |
| 71 | labelledTri(newA, newB, newC, f.region()); |
| 72 | } |
| 73 | } |
| 74 | newTriangles.setSize(newTriangleI); |
| 75 | |
| 76 | return triSurface(newTriangles, surf.patches(), localPoints); |
| 77 | } |
| 78 | |
| 79 | |
| 80 | // Collapses small edge to point, thus removing triangle. |
no test coverage detected