Ignore:
Timestamp:
10/28/05 18:13:22 (19 years ago)
Author:
mattausch
Message:

added findneighbours method

File:
1 edited

Legend:

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

    r349 r360  
    687687}; 
    688688 
     689void X3dExporter::ExportLeavesGeometry(const BspTree &tree, const vector<BspLeaf *> &leaves) 
     690{ 
     691        vector<BspLeaf *>::const_iterator it, it_end = leaves.end(); 
     692 
     693        for (it = leaves.begin(); it != it_end; ++ it) 
     694        { 
     695                PolygonContainer cell; 
     696                tree.ConstructGeometry(*it, cell); 
     697                 
     698                ExportPolygons(cell); 
     699 
     700                CLEAR_CONTAINER(cell); 
     701        } 
     702} 
     703 
    689704void X3dExporter::ExportBspSplits(const BspTree &tree) 
    690705{ 
     
    705720                { 
    706721                        BspInterior *interior = dynamic_cast<BspInterior *>(tData.mNode); 
     722 
    707723                        if (tData.mNode != tree.GetRoot()) 
    708                                 tData.mSides.push_back(tData.mIsFront); // add current side 
     724                                tData.mSides.push_back(tData.mIsFront); // add current side of split plane 
    709725 
    710726                        // bounded plane is added to the polygons 
     
    712728                 
    713729                        // do all the splits with the previous planes 
    714                         for (int i = 0; i < (int)tData.mPlanes.size(); ++i) 
     730                        for (int i = 0; i < (int)tData.mPlanes.size(); ++ i) 
    715731                        { 
    716732                                VertexContainer splitPts; 
    717                                 Polygon3 *frontPoly = new Polygon3(); 
    718                                 Polygon3 *backPoly = new Polygon3(); 
    719  
     733                                 
    720734                                if (planePoly->ClassifyPlane(*tData.mPlanes[i]) == Polygon3::SPLIT) 
    721735                                { 
     736                                        Polygon3 *frontPoly = new Polygon3(); 
     737                                        Polygon3 *backPoly = new Polygon3(); 
     738 
    722739                                        planePoly->Split(*tData.mPlanes[i], *frontPoly, *backPoly, splitPts); 
    723740                                        DEL_PTR(planePoly); 
     
    741758                                polys.push_back(planePoly); 
    742759                        else 
    743                         { 
    744                                 //Debug << "polygon not valid: " << *planePoly << " size: " << (int)planePoly->mVertices.size() << endl; 
    745760                                DEL_PTR(planePoly); 
    746                         } 
     761                         
    747762                        // push the children on the stack 
    748763                        tStack.push(BspSplitData(interior->GetFront(), tData.mPlanes, tData.mSides, true)); 
Note: See TracChangeset for help on using the changeset viewer.