Changeset 1323 for GTP/trunk/Lib/Vis/Preprocessing/src/HierarchyManager.cpp
- Timestamp:
- 09/05/06 09:51:56 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Vis/Preprocessing/src/HierarchyManager.cpp
r1315 r1323 46 46 mOspTree = new OspTree(); 47 47 mOspTree->mVspTree = mVspTree; 48 //mOspTree->mHierarchyManager = this;48 49 49 Debug << "creating osp tree" << endl; 50 50 break; … … 52 52 mBvHierarchy = new BvHierarchy(); 53 53 mBvHierarchy->mVspTree = mVspTree; 54 //mBvHierarchy->mHierarchyManager = this;54 55 55 Debug << "creating bv hierachy" << endl; 56 56 break; … … 74 74 mOspTree->mVspTree = mVspTree; 75 75 76 //mOspTree->mHierarchyManager = this;77 76 Debug << "creating osp tree" << endl; 78 77 … … 216 215 cout << "Constructing view space / object space tree ... \n"; 217 216 217 // use objects for evaluating vsp tree construction in the first levels 218 // of the subdivision 219 mSavedObjectSpaceSubdivisionType = mObjectSpaceSubdivisionType; 220 mObjectSpaceSubdivisionType = NO_OBJ_SUBDIV; 221 222 // start with view space subdivison: prepare vsp tree for traversal 223 PrepareViewSpaceSubdivision(sampleRays, objects, forcedViewSpace); 224 225 // start object space subdivision immediately? 226 if (StartObjectSpaceSubdivision()) 227 { 228 mObjectSpaceSubdivisionType = mSavedObjectSpaceSubdivisionType; 229 PrepareObjectSpaceSubdivision(sampleRays, objects); 230 } 231 218 232 // process object space candidates 219 233 RunConstruction(sampleRays, objects, forcedViewSpace); … … 328 342 const bool ospDepthReached = 329 343 (mMinDepthForObjectSpaceSubdivion <= mVspTree->mVspStats.maxDepth); 330 const bool stillNotOsp = (mObjectSpaceSubdivisionType == NO_OBJ_SUBDIV);331 344 332 return stillNotOsp && (mTQueue.Empty() || ((mConstructionType == 1) && ospDepthReached)); 345 return !ObjectSpaceSubdivisionConstructed() && 346 (mTQueue.Empty() || ((mConstructionType == INTERLEAVED) && ospDepthReached)); 333 347 } 334 348 … … 340 354 mHierarchyStats.nodes = 0; 341 355 mGlobalCostMisses = 0; 342 343 // use objects for evaluating vsp tree construction in the first levels344 // of the subdivision345 const int savedObjectSpaceSubdivisionType = mObjectSpaceSubdivisionType;346 mObjectSpaceSubdivisionType = NO_OBJ_SUBDIV;347 348 // start with view space subdivison: prepare vsp tree for traversal349 PrepareViewSpaceSubdivision(sampleRays, objects, forcedViewSpace);350 351 // start object space subdivision immediately?352 if (StartObjectSpaceSubdivision())353 {cout << "here1155 ";354 mObjectSpaceSubdivisionType = savedObjectSpaceSubdivisionType;355 PrepareObjectSpaceSubdivision(sampleRays, objects);356 }357 356 358 357 int i = 0; … … 389 388 if (StartObjectSpaceSubdivision()) 390 389 { 391 mObjectSpaceSubdivisionType = savedObjectSpaceSubdivisionType;390 mObjectSpaceSubdivisionType = mSavedObjectSpaceSubdivisionType; 392 391 393 392 cout << "starting object space subdivision at maximal view space subdivison depth " << mVspTree->mVspStats.maxDepth << " (" << mMinDepthForObjectSpaceSubdivion << ") " << endl; … … 401 400 DEL_PTR(mCurrentCandidate); 402 401 } 403 404 mObjectSpaceSubdivisionType = savedObjectSpaceSubdivisionType;402 403 mObjectSpaceSubdivisionType = mSavedObjectSpaceSubdivisionType; 405 404 } 406 405
Note: See TracChangeset
for help on using the changeset viewer.