Ignore:
Timestamp:
11/29/06 22:43:51 (18 years ago)
Author:
mattausch
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/Preprocessing/src/BvHierarchy.cpp

    r1827 r1830  
    25412541        SplitQueue tempQueue; 
    25422542        tempQueue.Push(firstCandidate); 
     2543 
    25432544        while (!tempQueue.Empty()) 
    25442545        { 
     
    25492550                        dynamic_cast<BvhSubdivisionCandidate *>(candidate); 
    25502551 
    2551                 const bool globalCriteriaMet = GlobalTerminationCriteriaMet(bsc->mParentData); 
    2552  
    25532552                if (!InitialTerminationCriteriaMet(bsc->mParentData)) 
    25542553                { 
     2554                        const bool globalCriteriaMet = GlobalTerminationCriteriaMet(bsc->mParentData); 
     2555                 
    25552556                        BvhNode *node = Subdivide(tempQueue, bsc, globalCriteriaMet); 
    25562557 
     
    25602561                else // initial preprocessing  finished for this candidate 
    25612562                { 
    2562                         // add to "real" traversal queue 
     2563                        // add to candidate container 
    25632564                        candidateContainer.push_back(bsc); 
    25642565                } 
     
    25752576        ObjectContainer::const_iterator oit, oit_end = objects->end(); 
    25762577    
    2577         /*for (oit = objects->begin(); oit != objects->end(); ++ oit) 
    2578         { 
    2579                 cout << (*oit)->GetBox().SurfaceArea() << " "; 
    2580         }*/ 
    2581  
    25822578        float maxAreaDiff = -1.0f; 
    25832579 
    25842580        ObjectContainer::const_iterator backObjectsStart = objects->begin(); 
    2585 int dummy = 0; 
    2586     for (oit = objects->begin(); oit != (objects->end() - 1); ++ oit, ++ dummy) 
     2581 
     2582    for (oit = objects->begin(); oit != (objects->end() - 1); ++ oit) 
    25872583        { 
    25882584                Intersectable *objS = *oit; 
     
    25952591                { 
    25962592                        maxAreaDiff = areaDiff; 
    2597                         //cout << "maxAreaDiff : " << maxAreaDiff << " " << dummy << " " << objects->size() - dummy <<  endl; 
    25982593                        backObjectsStart = oit + 1; 
    25992594                } 
     
    26122607        } 
    26132608         
    2614         cout << "front: " << (int)frontObjects.size() << " back " << (int)backObjects.size() << " " << backObjects.front()->GetBox().SurfaceArea() - frontObjects.back()->GetBox().SurfaceArea() << endl; 
     2609        cout << "front: " << (int)frontObjects.size() << " back: " << (int)backObjects.size() << " "  
     2610                 << backObjects.front()->GetBox().SurfaceArea() - frontObjects.back()->GetBox().SurfaceArea() << endl; 
    26152611} 
    26162612 
     
    26212617        const float areaLarge = largeObj->GetBox().SurfaceArea(); 
    26222618 
    2623         return areaSmall / (areaLarge - areaSmall + Limits::Small); 
     2619        return areaLarge / (areaLarge - areaSmall + Limits::Small); 
    26242620} 
    26252621 
     
    26272623bool BvHierarchy::InitialTerminationCriteriaMet(const BvhTraversalData &tData) const 
    26282624{ 
    2629         return (0 
     2625        const bool terminationCriteriaMet = 
     2626                        (0 
    26302627                    || ((int)tData.mNode->mObjects.size() < mInitialMinObjects) 
    26312628                        || (tData.mNode->mObjects.back()->GetBox().SurfaceArea() < mInitialMinArea) 
    26322629                        || (AreaRatio(tData.mNode->mObjects.front(), tData.mNode->mObjects.back()) > mInitialMaxAreaRatio) 
    26332630                        ); 
     2631 
     2632        cout << "criteria met: " << terminationCriteriaMet << " " << (int)tData.mNode->mObjects.size() << " " << mInitialMinObjects << endl 
     2633                 << AreaRatio(tData.mNode->mObjects.front(), tData.mNode->mObjects.back()) << " " << mInitialMaxAreaRatio << endl 
     2634                 << tData.mNode->mObjects.back()->GetBox().SurfaceArea() << " " << mInitialMinArea << endl; 
     2635 
     2636        return terminationCriteriaMet; 
    26342637} 
    26352638 
Note: See TracChangeset for help on using the changeset viewer.