MCPcopy Create free account
hub / github.com/TheForceEngine/TheForceEngine / computeAdjacency

Function computeAdjacency

TheForceEngine/TFE_Polygon/polygon.cpp:57–86  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

55 void deleteTriangle(Triangle* tri);
56
57 s32 computeAdjacency(s32 i0, s32 i1, s32 id)
58 {
59 s32 adj = -1;
60
61 const size_t count = s_triangles.size();
62 Triangle* tri = s_triangles.data();
63 for (size_t t = 0; t < count; t++, tri++)
64 {
65 if (t == id || !tri->allocated) { continue; }
66 if ((tri->idx[0] == i1 && tri->idx[1] == i0) || (tri->idx[0] == i0 && tri->idx[1] == i1))
67 {
68 adj = (s32)t;
69 tri->adj[0] = id;
70 break;
71 }
72 else if ((tri->idx[1] == i1 && tri->idx[2] == i0) || (tri->idx[1] == i0 && tri->idx[2] == i1))
73 {
74 adj = (s32)t;
75 tri->adj[1] = id;
76 break;
77 }
78 else if ((tri->idx[2] == i1 && tri->idx[0] == i0) || (tri->idx[2] == i0 && tri->idx[0] == i1))
79 {
80 adj = (s32)t;
81 tri->adj[2] = id;
82 break;
83 }
84 }
85 return adj;
86 }
87
88 void addTriangle(s32 i0, s32 i1, s32 i2)
89 {

Callers 1

addTriangleFunction · 0.85

Calls 2

dataMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected