Changeset 1288 for GTP/trunk/Lib/Vis/Preprocessing/src/VspBspTree.cpp
- Timestamp:
- 08/28/06 03:42:51 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Vis/Preprocessing/src/VspBspTree.cpp
r1233 r1288 672 672 673 673 // cost ratio of cost decrease / totalCost 674 float costRatio = splitCandidate. GetPriority()/ mTotalCost;674 float costRatio = splitCandidate.mRenderCostDecr / mTotalCost; 675 675 676 676 //Debug << "cost ratio: " << costRatio << endl; 677 678 677 if (costRatio < mTermMinGlobalCostRatio) 679 678 ++ mGlobalCostMisses; … … 1041 1040 1042 1041 1043 /* 1044 void VspBspTree::EvalSubdivisionCandidate(VspBspTraversalData &tData, 1045 VspBspSubdivisionCandidate &splitData) 1042 void VspBspTree::EvalSubdivisionCandidate(VspBspSubdivisionCandidate &splitCandidate) 1046 1043 { 1047 1044 VspBspTraversalData frontData; 1048 1045 VspBspTraversalData backData; 1049 1050 BspLeaf *leaf = dynamic_cast<BspLeaf *>( tData.mNode);1051 1046 1047 BspLeaf *leaf = dynamic_cast<BspLeaf *>(splitCandidate.mParentData.mNode); 1048 1052 1049 // compute locally best split plane 1053 bool success = SelectPlane(splitData.mSplitPlane, leaf, tData, 1054 frontData, backData, splitData.mSplitAxis); 1055 1056 // TODO: reuse 1057 delete frontData.mGeometry; 1058 delete backData.mGeometry; 1059 1060 // compute global decrease in render cost 1061 splitData.mPriority = EvalRenderCostDecrease(splitData.mSplitPlane, tData); 1062 splitData.mParentData = tData; 1063 splitData.mMaxCostMisses = success ? tData.mMaxCostMisses : tData.mMaxCostMisses + 1; 1064 } 1065 */ 1066 1067 void VspBspTree::EvalSubdivisionCandidate(VspBspSubdivisionCandidate &splitCandidate) 1068 { 1069 VspBspTraversalData frontData; 1070 VspBspTraversalData backData; 1071 1072 BspLeaf *leaf = dynamic_cast<BspLeaf *>(splitCandidate.mParentData.mNode); 1073 1074 // compute locally best split plane 1075 bool success = SelectPlane(splitCandidate.mSplitPlane, leaf, splitCandidate.mParentData, 1076 frontData, backData, splitCandidate.mSplitAxis); 1050 const bool costRatioViolated = 1051 SelectPlane(splitCandidate.mSplitPlane, 1052 leaf, 1053 splitCandidate.mParentData, 1054 frontData, 1055 backData, 1056 splitCandidate.mSplitAxis); 1057 1058 // max cost threshold violated? 1059 splitCandidate.mMaxCostMisses = costRatioViolated ? 1060 splitCandidate.mParentData.mMaxCostMisses : 1061 splitCandidate.mParentData.mMaxCostMisses + 1; 1077 1062 1078 1063 float oldRenderCost; … … 1101 1086 1102 1087 splitCandidate.mPriority = priority; 1103 1104 // max cost threshold violated?1105 splitCandidate.mMaxCostMisses =1106 success ? splitCandidate.mParentData.mMaxCostMisses : splitCandidate.mParentData.mMaxCostMisses + 1;1107 1088 } 1108 1089
Note: See TracChangeset
for help on using the changeset viewer.