| 454 | #define DIST_EPSILON 0.0235 |
| 455 | |
| 456 | int 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 | |
| 485 | void CM_SnapVector(vec3_t normal) { |
| 486 | int i; |
no test coverage detected