- Timestamp:
- 08/30/06 15:10:48 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/App/Demos/Vis/KdTreeDemo/OGRE/src/TestKdTreeAppListener.cpp
r1296 r1300 114 114 mShowTree(SHOWTREE_OFF), 115 115 // view cells 116 mViewCellsLoaded(false), 116 117 mUseViewCells(false), 117 118 mUseVisibilityFilter(false), … … 167 168 mCamNode = sm->getSceneNode("PlayerCamNode"); 168 169 169 sm->getOption("UseViewCells", &mUseViewCells);170 sm->getOption("UseVisibilityFilter", &mUseVisibilityFilter);171 172 170 mRaySceneQuery = mSceneMgr->createRayQuery(Ray(mCamNode->getPosition(), Vector3::NEGATIVE_UNIT_Y)); 173 171 … … 178 176 mDemoTime = 0; 179 177 178 // loading view cells overlay 179 mLoadingOverlay = OverlayManager::getSingleton().getByName("Example/Visibility/LoadingOverlay"); 180 mMyLoadingInfo = OverlayManager::getSingleton().getOverlayElement("Example/Visibility/Loading/MyLoadingInfo"); 181 mMyLoadingInfo->setCaption("loading view cells ..."); 182 183 mLoadingOverlay->hide(); 184 180 185 initKdTreeOverlay(); 181 186 initStatsOverlay(); 187 188 // set view cells 189 if (mOptions.mSceneType == ST_GEOMETRY) 190 { 191 switch(mOptions.mViewCells) 192 { 193 case VCM_ON: 194 toggleUseViewCells(); 195 break; 196 case VCM_FILTER: 197 toggleUseViewCells(); 198 toggleUseVisibilityFilter(); 199 break; 200 } 201 } 182 202 183 203 if (!mOptions.mDemoInfileName.empty()) … … 326 346 sTC = ": Free"; 327 347 328 if (mSceneMgr->getOption("UseViewCells", &mUseViewCells) )348 if (mSceneMgr->getOption("UseViewCells", &mUseViewCells) && mOptions.mSceneType == ST_GEOMETRY) 329 349 { 330 350 if (mUseViewCells) … … 335 355 else 336 356 { 337 sVC = NA; 338 } 339 340 if (mSceneMgr->getOption("UseVisibilityFilter", &mUseVisibilityFilter)) 357 if (mOptions.mSceneType == ST_GEOMETRY && mOptions.myApp->getViewCellsFileName() != "" && 358 (mOptions.mSceneManager == SM_KDT || 359 mOptions.mSceneManager == SM_KTE || 360 mOptions.mSceneManager == SM_OCM)) 361 { 362 sVC = ": off"; 363 } 364 else 365 { 366 sVC = NA; 367 } 368 } 369 370 if (mSceneMgr->getOption("UseVisibilityFilter", &mUseVisibilityFilter) && mOptions.mSceneType == ST_GEOMETRY) 341 371 { 342 372 if (mUseVisibilityFilter) … … 347 377 else 348 378 { 349 sVF = NA; 379 if (mOptions.mSceneType == ST_GEOMETRY && mOptions.myApp->getViewCellsFileName() != "" && 380 (mOptions.mSceneManager == SM_KDT || 381 mOptions.mSceneManager == SM_KTE || 382 mOptions.mSceneManager == SM_OCM)) 383 { 384 sVF = ": off"; 385 } 386 else 387 { 388 sVF = NA; 389 } 350 390 } 351 391 … … 387 427 void KdTreeAppListener::toggleUseViewCells() 388 428 { 429 // viewcells apply only for scenes loaded from geometry 430 if (mOptions.mSceneType != ST_GEOMETRY) 431 return; 432 389 433 mUseViewCells = !mUseViewCells; 434 435 436 // load on demand 437 if (mUseViewCells && !mViewCellsLoaded) 438 { 439 mLoadingOverlay->show(); 440 441 // call once to load view cell loading overlay 442 mWindow->update(); 443 mViewCellsLoaded = mSceneMgr->setOption("LoadViewCells", mOptions.myApp->getViewCellsFileName().c_str()); 444 445 if (!mViewCellsLoaded) 446 { 447 LogManager::getSingleton().logMessage("#@#@ Error: loading view cells from " + 448 mOptions.myApp->getViewCellsFileName() + " failed."); 449 } 450 451 mLoadingOverlay->hide(); 452 } 453 390 454 if (mSceneMgr->setOption("UseViewCells", &mUseViewCells)) 391 455 {
Note: See TracChangeset
for help on using the changeset viewer.