Ignore:
Timestamp:
02/21/06 17:42:39 (18 years ago)
Author:
mattausch
Message:

adding function for testing purpose

File:
1 edited

Legend:

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

    r656 r660  
    129129        environment->GetBoolValue("VspBspTree.useCostHeuristics", mUseCostHeuristics); 
    130130        environment->GetBoolValue("VspBspTree.useSplitCostQueue", mUseSplitCostQueue); 
     131 
     132        char subdivisionStatsLog[100]; 
     133        environment->GetStringValue("BspTree.subdivisionStats", subdivisionStatsLog); 
     134        mSubdivisionStats.open(subdivisionStatsLog); 
    131135 
    132136 
     
    556560                                                          geom); 
    557561 
     562        // compute first split candidate 
    558563        VspBspSplitCandidate splitCandidate; 
    559  
    560  
    561564        EvalSplitCandidate(tData, splitCandidate); 
    562565 
     
    820823                VspBspTraversalData tBackData; 
    821824 
    822 #if OCTREE_HACK 
    823                 //Debug << "new axis:" << (tData.mAxis + 1) % 3 << endl; 
    824                 tFrontData.mAxis = (tData.mAxis + 1) % 3; 
    825                 tBackData.mAxis = (tData.mAxis + 1) % 3; 
    826 #endif 
    827825                //-- continue subdivision 
    828826                // create new interior node and two leaf node 
     
    831829                newNode = SubdivideNode(splitPlane, tData, tFrontData, tBackData, coincident); 
    832830                 
    833 #if 0 // TODO 
     831                const int splitAxis = splitCandidate.mSplitAxis; 
     832                const int maxCostMisses = splitCandidate.mMaxCostMisses; 
     833 
    834834                if (splitAxis < 3) 
    835835                        ++ mBspStats.splits[splitAxis]; 
     
    838838 
    839839                tFrontData.mIsKdNode = tBackData.mIsKdNode = (tData.mIsKdNode && splitAxis < 3); 
     840                 
    840841                // how often was max cost ratio missed in this branch? 
    841842                tFrontData.mMaxCostMisses = maxCostMisses; 
    842843                tBackData.mMaxCostMisses = maxCostMisses; 
    843  
    844 #endif 
     844                 
     845 
    845846                if (1) 
    846847                { 
     
    936937 
    937938        // compute locally best split plane 
    938         SelectPlane(splitData.mSplitPlane, leaf, tData, frontData, backData, splitAxis); 
     939        bool success = SelectPlane(splitData.mSplitPlane, leaf, tData, frontData, backData, splitAxis); 
    939940 
    940941        // TODO: reuse 
     
    945946        splitData.mRenderCost = EvalRenderCostDecrease(splitData.mSplitPlane, tData); 
    946947        splitData.mParentData = tData; 
     948        splitData.mMaxCostMisses = success ? tData.mMaxCostMisses : tData.mMaxCostMisses + 1; 
    947949} 
    948950 
Note: See TracChangeset for help on using the changeset viewer.