MCPcopy Create free account
hub / github.com/JACoders/OpenJK / CM_PlaneEqual

Function CM_PlaneEqual

code/qcommon/cm_patch.cpp:456–483  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

454#define DIST_EPSILON 0.0235
455
456int CM_PlaneEqual(patchPlane_t *p, float plane[4], int *flipped) {
457 float invplane[4];
458
459 if (
460 Q_fabs(p->plane[0] - plane[0]) < NORMAL_EPSILON
461 && Q_fabs(p->plane[1] - plane[1]) < NORMAL_EPSILON
462 && Q_fabs(p->plane[2] - plane[2]) < NORMAL_EPSILON
463 && Q_fabs(p->plane[3] - plane[3]) < DIST_EPSILON )
464 {
465 *flipped = qfalse;
466 return qtrue;
467 }
468
469 VectorNegate(plane, invplane);
470 invplane[3] = -plane[3];
471
472 if (
473 Q_fabs(p->plane[0] - invplane[0]) < NORMAL_EPSILON
474 && Q_fabs(p->plane[1] - invplane[1]) < NORMAL_EPSILON
475 && Q_fabs(p->plane[2] - invplane[2]) < NORMAL_EPSILON
476 && Q_fabs(p->plane[3] - invplane[3]) < DIST_EPSILON )
477 {
478 *flipped = qtrue;
479 return qtrue;
480 }
481
482 return qfalse;
483}
484
485void CM_SnapVector(vec3_t normal) {
486 int i;

Callers 2

CM_FindPlane2Function · 0.70
CM_AddFacetBevelsFunction · 0.70

Calls 1

Q_fabsFunction · 0.85

Tested by

no test coverage detected