]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - contrib/bobtoolz/DPlane.cpp
Revert partially (auto) "reformat code! now the code is only ugly on the *inside*"
[xonotic/netradiant.git] / contrib / bobtoolz / DPlane.cpp
index 1258e2bcf73c6f25f18322bd6cc1de4c0c0dad6e..4699085450023e9040640183d7ab216ec993425a 100644 (file)
 // Construction/Destruction
 //////////////////////////////////////////////////////////////////////
 
-DPlane::DPlane(const vec3_t va, const vec3_t vb, const vec3_t vc, const _QERFaceData *texData)
-{
-    MakeNormal(va, vb, vc, normal);
-    if (VectorNormalize(normal, normal) == 0) {  // normalizes and returns length
-        globalErrorStream() << "DPlane::DPlane: Bad Normal.\n";
-    }
-
-    _d = (normal[0] * va[0]) + (normal[1] * va[1]) + (normal[2] * va[2]);
-
-    VectorCopy(va, points[0]);
-    VectorCopy(vb, points[1]);
-    VectorCopy(vc, points[2]);
-
-    m_bChkOk = true;
-
-    if (texData) {
-        memcpy(&texInfo, texData, sizeof(_QERFaceData));
-    } else {
-        FillDefaultTexture(&texInfo, points[0], points[1], points[2], "textures/common/caulk");
-    }
+DPlane::DPlane( const vec3_t va, const vec3_t vb, const vec3_t vc, const _QERFaceData* texData ){
+       MakeNormal( va, vb, vc, normal );
+       if ( VectorNormalize( normal, normal ) == 0 ) {  // normalizes and returns length
+               globalErrorStream() << "DPlane::DPlane: Bad Normal.\n";
+       }
+
+       _d = ( normal[0] * va[0] ) + ( normal[1] * va[1] ) + ( normal[2] * va[2] );
+
+       VectorCopy( va, points[0] );
+       VectorCopy( vb, points[1] );
+       VectorCopy( vc, points[2] );
+
+       m_bChkOk = true;
+
+       if ( texData ) {
+               memcpy( &texInfo, texData, sizeof( _QERFaceData ) );
+       }
+       else{
+               FillDefaultTexture( &texInfo, points[0], points[1], points[2], "textures/common/caulk" );
+       }
 }
 
-DPlane::~DPlane()
-{
+DPlane::~DPlane(){
 
 }
 
@@ -66,216 +65,204 @@ DPlane::~DPlane()
 // Implementation
 //////////////////////////////////////////////////////////////////////
 
-vec_t DPlane::DistanceToPoint(vec3_t pnt)
-{
-    vec3_t tmp;
-    VectorSubtract(pnt, points[0], tmp);
-    return DotProduct(tmp, normal);
+vec_t DPlane::DistanceToPoint( vec3_t pnt ){
+       vec3_t tmp;
+       VectorSubtract( pnt, points[0], tmp );
+       return DotProduct( tmp, normal );
 }
 
-bool DPlane::PlaneIntersection(DPlane *pl1, DPlane *pl2, vec3_t out)
-{
-    float a1, a2, a3;
-    float b1, b2, b3;
-    float c1, c2, c3;
-
-    a1 = normal[0];
-    a2 = normal[1];
-    a3 = normal[2];
-    b1 = pl1->normal[0];
-    b2 = pl1->normal[1];
-    b3 = pl1->normal[2];
-    c1 = pl2->normal[0];
-    c2 = pl2->normal[1];
-    c3 = pl2->normal[2];
-
-    float d = Determinant3x3(a1, a2, a3, b1, b2, b3, c1, c2, c3);
-
-    if (d == 0) {
-        return false;
-    }
-
-    float v1 = _d;
-    float v2 = pl1->_d;
-    float v3 = pl2->_d;
-
-    float d1 = Determinant3x3(v1, a2, a3, v2, b2, b3, v3, c2, c3);
-    float d2 = Determinant3x3(a1, v1, a3, b1, v2, b3, c1, v3, c3);
-    float d3 = Determinant3x3(a1, a2, v1, b1, b2, v2, c1, c2, v3);
-
-    out[0] = d1 / d;
-    out[1] = d2 / d;
-    out[2] = d3 / d;
-
-    return true;
+bool DPlane::PlaneIntersection( DPlane *pl1, DPlane *pl2, vec3_t out ){
+       float a1, a2, a3;
+       float b1, b2, b3;
+       float c1, c2, c3;
+
+       a1 = normal[0];         a2 = normal[1];         a3 = normal[2];
+       b1 = pl1->normal[0];    b2 = pl1->normal[1];    b3 = pl1->normal[2];
+       c1 = pl2->normal[0];    c2 = pl2->normal[1];    c3 = pl2->normal[2];
+
+       float d = Determinant3x3( a1, a2, a3, b1, b2, b3, c1, c2, c3 );
+
+       if ( d == 0 ) {
+               return false;
+       }
+
+       float v1 = _d;
+       float v2 = pl1->_d;
+       float v3 = pl2->_d;
+
+       float d1 = Determinant3x3( v1, a2, a3, v2, b2, b3, v3, c2, c3 );
+       float d2 = Determinant3x3( a1, v1, a3, b1, v2, b3, c1, v3, c3 );
+       float d3 = Determinant3x3( a1, a2, v1, b1, b2, v2, c1, c2, v3 );
+
+       out[0] = d1 / d;
+       out[1] = d2 / d;
+       out[2] = d3 / d;
+
+       return true;
 }
 
-bool DPlane::IsRedundant(std::list<DPoint *> &pointList)
-{
-    int cnt = 0;
-
-    //std::list<DPoint *>::const_iterator point=pointList.begin();
-    for (std::list<DPoint *>::const_iterator point = pointList.begin(); point != pointList.end(); point++) {
-        if (fabs(DistanceToPoint((*point)->_pnt)) < MAX_ROUND_ERROR) {
-            cnt++;
-        }
-
-        if (cnt == 3) {
-            return false;
-        }
-    }
-    return true;
+bool DPlane::IsRedundant( std::list<DPoint*>& pointList ){
+       int cnt = 0;
+
+       //std::list<DPoint *>::const_iterator point=pointList.begin();
+       for ( std::list<DPoint *>::const_iterator point = pointList.begin(); point != pointList.end(); point++ )
+       {
+               if ( fabs( DistanceToPoint( ( *point )->_pnt ) ) < MAX_ROUND_ERROR ) {
+                       cnt++;
+               }
+
+               if ( cnt == 3 ) {
+                       return false;
+               }
+       }
+       return true;
 }
 
-bool DPlane::operator==(DPlane &other)
-{
-    vec3_t chk;
-    VectorSubtract(other.normal, normal, chk);
-    if (fabs(VectorLength(chk)) > MAX_ROUND_ERROR) {
-        return false;
-    }
+bool DPlane::operator ==( DPlane& other ){
+       vec3_t chk;
+       VectorSubtract( other.normal, normal, chk );
+       if ( fabs( VectorLength( chk ) ) > MAX_ROUND_ERROR ) {
+               return false;
+       }
 
-    if (fabs(other._d - _d) > MAX_ROUND_ERROR) {
-        return false;
-    }
+       if ( fabs( other._d - _d ) > MAX_ROUND_ERROR ) {
+               return false;
+       }
 
-    return true;
+       return true;
 }
 
-bool DPlane::operator!=(DPlane &other)
-{
-    vec3_t chk;
-    VectorAdd(other.normal, normal, chk);
-    if (fabs(VectorLength(chk)) > MAX_ROUND_ERROR) {
-        return false;
-    }
+bool DPlane::operator !=( DPlane& other ){
+       vec3_t chk;
+       VectorAdd( other.normal, normal, chk );
+       if ( fabs( VectorLength( chk ) ) > MAX_ROUND_ERROR ) {
+               return false;
+       }
 
-    return true;
+       return true;
 }
 
-DWinding *DPlane::BaseWindingForPlane()
-{
-    int i, x;
-    vec_t max, v;
-    vec3_t org, vright, vup;
+DWinding* DPlane::BaseWindingForPlane(){
+       int i, x;
+       vec_t max, v;
+       vec3_t org, vright, vup;
 
 // find the major axis
 
-    max = -131072;
-    x = -1;
-    for (i = 0; i < 3; i++) {
-        v = (float) fabs(normal[i]);
-        if (v > max) {
-            x = i;
-            max = v;
-        }
-    }
-    if (x == -1) {
-        globalOutputStream() << "BaseWindingForPlane: no axis found";
-    }
-
-    VectorCopy(vec3_origin, vup);
-    switch (x) {
-        case 0:
-        case 1:
-            vup[2] = 1;
-            break;
-        case 2:
-            vup[0] = 1;
-            break;
-    }
-
-    v = DotProduct(vup, normal);
-    VectorMA(vup, -v, normal, vup);
-    VectorNormalize(vup, vup);
-
-    VectorScale(normal, _d, org);
-
-    CrossProduct(vup, normal, vright);
-
-    VectorScale(vup, 131072, vup);
-    VectorScale(vright, 131072, vright);
+       max = -131072;
+       x = -1;
+       for ( i = 0 ; i < 3; i++ )
+       {
+               v = (float)fabs( normal[i] );
+               if ( v > max ) {
+                       x = i;
+                       max = v;
+               }
+       }
+       if ( x == -1 ) {
+               globalOutputStream() << "BaseWindingForPlane: no axis found";
+       }
+
+       VectorCopy( vec3_origin, vup );
+       switch ( x )
+       {
+       case 0:
+       case 1:
+               vup[2] = 1;
+               break;
+       case 2:
+               vup[0] = 1;
+               break;
+       }
+
+       v = DotProduct( vup, normal );
+       VectorMA( vup, -v, normal, vup );
+       VectorNormalize( vup, vup );
+
+       VectorScale( normal, _d, org );
+
+       CrossProduct( vup, normal, vright );
+
+       VectorScale( vup, 131072, vup );
+       VectorScale( vright, 131072, vright );
 
 // project a really big        axis aligned box onto the plane
-    DWinding *w = new DWinding;
-    w->AllocWinding(4);
+       DWinding* w = new DWinding;
+       w->AllocWinding( 4 );
 
-    VectorSubtract(org, vright, w->p[0]);
-    VectorAdd(w->p[0], vup, w->p[0]);
+       VectorSubtract( org, vright, w->p[0] );
+       VectorAdd( w->p[0], vup, w->p[0] );
 
-    VectorAdd(org, vright, w->p[1]);
-    VectorAdd(w->p[1], vup, w->p[1]);
+       VectorAdd( org, vright, w->p[1] );
+       VectorAdd( w->p[1], vup, w->p[1] );
 
-    VectorAdd(org, vright, w->p[2]);
-    VectorSubtract(w->p[2], vup, w->p[2]);
+       VectorAdd( org, vright, w->p[2] );
+       VectorSubtract( w->p[2], vup, w->p[2] );
 
-    VectorSubtract(org, vright, w->p[3]);
-    VectorSubtract(w->p[3], vup, w->p[3]);
+       VectorSubtract( org, vright, w->p[3] );
+       VectorSubtract( w->p[3], vup, w->p[3] );
 
-    return w;
+       return w;
 }
 
-void DPlane::Rebuild()
-{
-    vec3_t v1, v2;
-    VectorSubtract(points[0], points[1], v1);
-    VectorSubtract(points[2], points[1], v2);
-    CrossProduct(v1, v2, normal);
+void DPlane::Rebuild(){
+       vec3_t v1, v2;
+       VectorSubtract( points[0], points[1], v1 );
+       VectorSubtract( points[2], points[1], v2 );
+       CrossProduct( v1, v2, normal );
 
-    if (VectorNormalize(normal, normal) == 0) {  // normalizes and returns length
-        globalErrorStream() << "DPlane::Rebuild: Bad Normal.\n";
-    }
+       if ( VectorNormalize( normal, normal ) == 0 ) {  // normalizes and returns length
+               globalErrorStream() << "DPlane::Rebuild: Bad Normal.\n";
+       }
 
-    _d = (normal[0] * points[0][0]) + (normal[1] * points[0][1]) + (normal[2] * points[0][2]);
+       _d = ( normal[0] * points[0][0] ) + ( normal[1] * points[0][1] ) + ( normal[2] * points[0][2] );
 
-    VectorCopy(points[0], texInfo.m_p0);
-    VectorCopy(points[1], texInfo.m_p1);
-    VectorCopy(points[2], texInfo.m_p2);
+       VectorCopy( points[0], texInfo.m_p0 );
+       VectorCopy( points[1], texInfo.m_p1 );
+       VectorCopy( points[2], texInfo.m_p2 );
 }
 
-bool DPlane::AddToBrush(scene::Node &brush)
-{
-    bool changed = false;
-    if (!(m_bChkOk || !strcmp(m_shader.c_str(), "textures/common/caulk"))) {
-        m_shader = "textures/common/caulk";
-        changed = true;
-    }
-
-    _QERFaceData faceData;
-    faceData.m_p0 = vector3_from_array(points[0]);
-    faceData.m_p1 = vector3_from_array(points[1]);
-    faceData.m_p2 = vector3_from_array(points[2]);
-    faceData.m_texdef = texInfo.m_texdef;
-    faceData.m_shader = m_shader.c_str();
-    GlobalBrushCreator().Brush_addFace(brush, faceData);
-
-    return changed;
+bool DPlane::AddToBrush( scene::Node& brush ){
+       bool changed = false;
+       if ( !( m_bChkOk || !strcmp( m_shader.c_str(), "textures/common/caulk" ) ) ) {
+               m_shader = "textures/common/caulk";
+               changed = true;
+       }
+
+       _QERFaceData faceData;
+       faceData.m_p0 = vector3_from_array( points[0] );
+       faceData.m_p1 = vector3_from_array( points[1] );
+       faceData.m_p2 = vector3_from_array( points[2] );
+       faceData.m_texdef = texInfo.m_texdef;
+       faceData.m_shader = m_shader.c_str();
+       GlobalBrushCreator().Brush_addFace( brush, faceData );
+
+       return changed;
 }
 
 void DPlane::ScaleTexture()
-{}
+{ }
 
-DPlane::DPlane(const vec3_t va, const vec3_t vb, const vec3_t vc, const char *textureName, bool bDetail)
-{
-    vec3_t v1, v2;
-    VectorSubtract(va, vb, v1);
-    VectorSubtract(vc, vb, v2);
-    CrossProduct(v1, v2, normal);
+DPlane::DPlane( const vec3_t va, const vec3_t vb, const vec3_t vc, const char* textureName, bool bDetail ){
+       vec3_t v1, v2;
+       VectorSubtract( va, vb, v1 );
+       VectorSubtract( vc, vb, v2 );
+       CrossProduct( v1, v2, normal );
 
-    if (VectorNormalize(normal, normal) == 0) {  // normalizes and returns length
-        globalErrorStream() << "DPlane::DPlane: Bad Normal.\n";
-    }
+       if ( VectorNormalize( normal, normal ) == 0 ) {  // normalizes and returns length
+               globalErrorStream() << "DPlane::DPlane: Bad Normal.\n";
+       }
 
-    _d = (normal[0] * va[0]) + (normal[1] * va[1]) + (normal[2] * va[2]);
+       _d = ( normal[0] * va[0] ) + ( normal[1] * va[1] ) + ( normal[2] * va[2] );
 
-    VectorCopy(va, points[0]);
-    VectorCopy(vb, points[1]);
-    VectorCopy(vc, points[2]);
+       VectorCopy( va, points[0] );
+       VectorCopy( vb, points[1] );
+       VectorCopy( vc, points[2] );
 
-    m_bChkOk = true;
+       m_bChkOk = true;
 
-    FillDefaultTexture(&texInfo, points[0], points[1], points[2], textureName);
-    if (bDetail) {
-        texInfo.contents |= FACE_DETAIL;
-    }
+       FillDefaultTexture( &texInfo, points[0], points[1], points[2], textureName );
+       if ( bDetail ) {
+               texInfo.contents |= FACE_DETAIL;
+       }
 }