Ignore:
Timestamp:
01/17/06 00:28:06 (18 years ago)
Author:
mattausch
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/GtpVisibilityPreprocessor/src/ViewCellBsp.cpp

    r544 r545  
    11671167} 
    11681168 
     1169 
    11691170Plane3 BspTree::SelectPlane(BspLeaf *leaf, BspTraversalData &data) 
    11701171{ 
     
    15531554        } 
    15541555                         
    1555         bool useRand;; 
     1556        bool useRand; 
    15561557        int limit; 
    15571558 
     
    25592560        PolygonContainer::const_iterator pit, pit_end = mPolys.end(); 
    25602561 
     2562        // note: can take arbitrary point, e.g., the origin. However, 
     2563        // center of mass prevents precision errors 
     2564        const Vector3 center = CenterOfMass(); 
     2565 
    25612566        for (pit = mPolys.begin(); pit != pit_end; ++ pit) 
    25622567        { 
    25632568                Polygon3 *poly = *pit; 
    2564                 const Vector3 v = poly->mVertices[0]; 
     2569                const Vector3 v0 = poly->mVertices[0] - center; 
    25652570 
    25662571                for (int i = 1; i < (int)poly->mVertices.size() - 1; ++ i) 
    25672572                { 
    2568                         volume += f * (DotProd(v,  
    2569                                 CrossProd(poly->mVertices[i], poly->mVertices[i + 1]))); 
    2570                 } 
    2571         } 
    2572  
    2573         Debug << "volume: " << volume << endl; 
     2573                        const Vector3 v1 = poly->mVertices[i] - center; 
     2574                        const Vector3 v2 = poly->mVertices[i + 1] - center; 
     2575 
     2576                        volume += f * (DotProd(v0, CrossProd(v1, v2))); 
     2577                } 
     2578        } 
     2579 
    25742580        return volume; 
    25752581} 
    25762582 
    25772583 
    2578 Vector3 BspNodeGeometry::ComputeMassCenter() const 
     2584Vector3 BspNodeGeometry::CenterOfMass() const 
    25792585{ 
    25802586        int n = 0; 
Note: See TracChangeset for help on using the changeset viewer.