- Timestamp:
- 02/04/06 21:36:40 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/GtpVisibilityPreprocessor/src/ViewCellsParser.cpp
r580 r590 28 28 #include "VspBspTree.h" 29 29 #include "ViewCellBsp.h" 30 #include "VspKdTree.h" 30 31 #include "ViewCellsManager.h" 31 32 … … 98 99 { 99 100 // go one up in the tree 100 if (mCurrent Node->GetParent())101 if (mCurrentBspNode->GetParent()) 101 102 { cout << "]"; 102 mCurrent Node = mCurrentNode->GetParent();103 mCurrentBspNode = mCurrentBspNode->GetParent(); 103 104 } 104 105 } … … 213 214 vector<int> objIndices; 214 215 215 ViewCell *viewCell = mViewCellsManager->GenerateViewCell(); 216 //hack!! 217 218 ViewCell *viewCell = new ViewCellInterior();//mViewCellsManager->GenerateViewCell(); 219 viewCell->mIsActive = true; 220 216 221 mViewCells.push_back(viewCell); 217 222 218 223 for (int i = 0; i < len; ++ i) 219 224 { … … 316 321 { 317 322 BspLeaf * leaf = 318 new BspLeaf(dynamic_cast<BspInterior *>(mCurrent Node), NULL);319 320 if (mCurrent Node) // replace front or (if not NULL) back child321 { 322 dynamic_cast<BspInterior *>(mCurrent Node)->ReplaceChildLink(NULL, leaf);323 new BspLeaf(dynamic_cast<BspInterior *>(mCurrentBspNode), NULL); 324 325 if (mCurrentBspNode) // replace front or (if not NULL) back child 326 { 327 dynamic_cast<BspInterior *>(mCurrentBspNode)->ReplaceChildLink(NULL, leaf); 323 328 } 324 329 else … … 353 358 } 354 359 360 355 361 if (viewCellId >= 0) // valid view cell 356 362 { 357 363 // TODO: get view cell with specified id 358 BspViewCelldummyVc;364 ViewCellInterior dummyVc; 359 365 dummyVc.SetId(viewCellId); 360 366 … … 362 368 lower_bound(mViewCells.begin(), mViewCells.end(), &dummyVc, vlt); 363 369 364 BspViewCell *viewCell = dynamic_cast<BspViewCell *>(*vit); 370 ViewCellInterior *viewCell = dynamic_cast<ViewCellInterior *>(*vit); 371 372 // giant hack!! 373 BspViewCell *l = dynamic_cast<BspViewCell *>(mViewCellsManager->GenerateViewCell()); 374 viewCell->SetupChildLink(l); 365 375 366 376 if (viewCell->GetId() == viewCellId) 367 377 { 368 leaf->SetViewCell(viewCell); 378 leaf->SetViewCell(l); 379 l->mLeaf = leaf; 369 380 } 370 381 else … … 405 416 BspInterior* interior = new BspInterior(plane); 406 417 407 if (mCurrent Node) // replace NULL child of parent with current node408 { 409 BspInterior *current = dynamic_cast<BspInterior *>(mCurrent Node);418 if (mCurrentBspNode) // replace NULL child of parent with current node 419 { 420 BspInterior *current = dynamic_cast<BspInterior *>(mCurrentBspNode); 410 421 411 422 current->ReplaceChildLink(NULL, interior); … … 424 435 } 425 436 426 mCurrent Node = interior;437 mCurrentBspNode = interior; 427 438 } 428 439 … … 436 447 437 448 mBspTree = new BspTree(); 438 mCurrentNode = mBspTree->GetRoot(); 449 mBspTree->mBox = mViewSpaceBox; 450 mCurrentBspNode = mBspTree->GetRoot(); 439 451 440 452 mViewCellsManager = new BspViewCellsManager(mBspTree); … … 445 457 446 458 mVspBspTree = new VspBspTree(); 447 mCurrent Node = mVspBspTree->GetRoot();459 mCurrentBspNode = mVspBspTree->GetRoot(); 448 460 449 461 mViewCellsManager = new VspBspViewCellsManager(mVspBspTree); 450 462 463 mVspBspTree->mBox = mViewSpaceBox; 451 464 Debug << "creating vsp bsp view cells manager" << endl; 452 465 } 453 /*else if (strcmp(name, "vspKdTree") == 0)454 { 455 mVspKdTree = new VspKdTree();456 457 mViewCellsManager = VspKdViewCellsManager(mVspKdTree);458 } */466 else if (strcmp(name, "vspKdTree") == 0) 467 { 468 // TODO 469 mVspKdTree = new VspKdTree(); 470 mViewCellsManager = new VspKdViewCellsManager(mVspKdTree); 471 } 459 472 else 460 473 {
Note: See TracChangeset
for help on using the changeset viewer.