MCPcopy Create free account
hub / github.com/FlaxEngine/FlaxEngine / inConeLoose

Function inConeLoose

Source/ThirdParty/recastnavigation/RecastMesh.cpp:317–330  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

315}
316
317static bool inConeLoose(int i, int j, int n, const int* verts, int* indices)
318{
319 const int* pi = &verts[(indices[i] & 0x0fffffff) * 4];
320 const int* pj = &verts[(indices[j] & 0x0fffffff) * 4];
321 const int* pi1 = &verts[(indices[next(i, n)] & 0x0fffffff) * 4];
322 const int* pin1 = &verts[(indices[prev(i, n)] & 0x0fffffff) * 4];
323
324 // If P[i] is a convex vertex [ i+1 left or on (i-1,i) ].
325 if (leftOn(pin1, pi, pi1))
326 return leftOn(pi, pj, pin1) && leftOn(pj, pi, pi1);
327 // Assume (i-1,i,i+1) not collinear.
328 // else P[i] is reflex.
329 return !(leftOn(pi, pj, pi1) && leftOn(pj, pi, pin1));
330}
331
332static bool diagonalLoose(int i, int j, int n, const int* verts, int* indices)
333{

Callers 1

diagonalLooseFunction · 0.85

Calls 3

nextFunction · 0.70
prevFunction · 0.70
leftOnFunction · 0.70

Tested by

no test coverage detected