- #include "plane.h" 
- #include "CORE/STD/brmath.h" 
- #include "harness/trace.h" 
- #include <math.h> 
-   
- // IDA: br_int_32 __cdecl BrPlaneEquation(br_vector4 *eqn, br_vector3 *v0, br_vector3 *v1, br_vector3 *v2) 
- br_int_32 BrPlaneEquation(br_vector4* eqn, br_vector3* v0, br_vector3* v1, br_vector3* v2) { 
-     //br_vector3 a; // Pierre-Marie Baty -- unused variable 
-     //br_vector3 b; // Pierre-Marie Baty -- unused variable 
-     float ax; 
-     float ay; 
-     float az; 
-     float bx; 
-     float by; 
-     float bz; 
-     float nx; 
-     float ny; 
-     float nz; 
-     float d; 
-     float l; 
-   
-     ax = v1->v[0] - v0->v[0]; 
-     ay = v1->v[1] - v0->v[1]; 
-     az = v1->v[2] - v0->v[2]; 
-     bx = v2->v[0] - v0->v[0]; 
-     by = v2->v[1] - v0->v[1]; 
-     bz = v2->v[2] - v0->v[2]; 
-     nx = ay * bz - az * by; 
-     ny = az * bx - ax * bz; 
-     nz = ax * by - ay * bx; 
-     l = nx * nx + ny * ny + nz * nz; 
-     l = BrFloatSqrt(l); 
-     if (isnan(l)) { 
-         nx = 0.f; 
-         ny = 0.f; 
-         nz = 1.f; 
-     } else { 
-         nx = nx * (1.f / l); 
-         ny = ny * (1.f / l); 
-         nz = nz * (1.f / l); 
-     } 
-     d = nx * v0->v[0] + ny * v0->v[1] + nz * v0->v[2]; 
-     eqn->v[0] = nx; 
-     eqn->v[1] = ny; 
-     eqn->v[2] = nz; 
-     eqn->v[3] = d; 
-     return !isnan(l); 
- } 
-