VISU::View3D_ptr theView3D)
{
if(MYDEBUG) cout << "VISU::ColoredPrs3dCache_i::UpdateLastVisitedPrs" << endl;
- TPrs3dPtr aLastVisitedPrs3d = GetLastVisitedPrs(theHolder);
- TLastVisitedPrsList& aLastVisitedPrsList = GetLastVisitedPrsList(theHolder);
TPrs3dPtr aPrs3d;
- bool anIsCheckPossible = GetMemoryMode() == VISU::ColoredPrs3dCache::LIMITED;
- std::string aHolderEntry = theHolder->GetEntry();
- VISU::VISUType aPrsType = theHolder->GetPrsType();
- CORBA::Float aRequiredMemory = 0.0;
- if(aPrs3d = FindPrsByInput(aLastVisitedPrsList, theInput)){
- aLastVisitedPrsList.push_front(aPrs3d);
- if(MYDEBUG) cout << "FindPrsByInput " << aPrs3d << endl;
- }else if(anIsCheckPossible && IsPossible(aPrsType, theInput, aRequiredMemory, aHolderEntry)){
- if( aRequiredMemory > 1.0 / VTK_LARGE_FLOAT )
- ClearMemory(aRequiredMemory, aHolderEntry);
- aPrs3d = CreatePrs(aPrsType, theInput, theHolder);
- if(MYDEBUG) cout << "Created " << aPrs3d << endl;
- }else{
- aPrs3d = aLastVisitedPrsList.back();
- aPrs3d->SetResultObject(theInput.myResult);
- aPrs3d->SetMeshName(theInput.myMeshName);
- aPrs3d->SetEntity(theInput.myEntity);
- aPrs3d->SetFieldName(theInput.myFieldName);
- aPrs3d->SetTimeStampNumber(theInput.myTimeStampNumber);
- aLastVisitedPrsList.pop_back();
- aLastVisitedPrsList.push_front(aPrs3d);
- if(MYDEBUG) cout << "Move only " << aPrs3d << endl;
- }
- //if(MYDEBUG) PrintCache();
-
- try {
+ try{
+ TPrs3dPtr aLastVisitedPrs3d = GetLastVisitedPrs(theHolder);
+ TLastVisitedPrsList& aLastVisitedPrsList = GetLastVisitedPrsList(theHolder);
+ bool anIsCheckPossible = GetMemoryMode() == VISU::ColoredPrs3dCache::LIMITED;
+ std::string aHolderEntry = theHolder->GetEntry();
+ VISU::VISUType aPrsType = theHolder->GetPrsType();
+ CORBA::Float aRequiredMemory = 0.0;
+ if(aPrs3d = FindPrsByInput(aLastVisitedPrsList, theInput)){
+ aLastVisitedPrsList.push_front(aPrs3d);
+ if(MYDEBUG) cout << "FindPrsByInput " << aPrs3d << endl;
+ }else if(anIsCheckPossible && IsPossible(aPrsType, theInput, aRequiredMemory, aHolderEntry)){
+ if( aRequiredMemory > 1.0 / VTK_LARGE_FLOAT )
+ ClearMemory(aRequiredMemory, aHolderEntry);
+ aPrs3d = CreatePrs(aPrsType, theInput, theHolder);
+ if(MYDEBUG) cout << "Created " << aPrs3d << endl;
+ }else{
+ aPrs3d = aLastVisitedPrsList.back();
+ aPrs3d->SetResultObject(theInput.myResult);
+ aPrs3d->SetMeshName(theInput.myMeshName);
+ aPrs3d->SetEntity(theInput.myEntity);
+ aPrs3d->SetFieldName(theInput.myFieldName);
+ aPrs3d->SetTimeStampNumber(theInput.myTimeStampNumber);
+ aLastVisitedPrsList.pop_back();
+ aLastVisitedPrsList.push_front(aPrs3d);
+ if(MYDEBUG) cout << "Move only " << aPrs3d << endl;
+ }
+ //if(MYDEBUG) PrintCache();
+
aPrs3d->SameAs(thePrs);
- } catch (...) {
- return false;
- }
- aPrs3d->UpdateActors();
- if(!CORBA::is_nil(theView3D)){
+ aPrs3d->UpdateActors();
+ if(CORBA::is_nil(theView3D))
+ return false;
+
PortableServer::ServantBase_var aServant = GetServant(theView3D);
if(VISU::View3D_i* aView3d = dynamic_cast<VISU::View3D_i*>(aServant.in())){
if(SUIT_ViewWindow* aView = aView3d->GetViewWindow()){
}
}
}
+ }catch(std::exception& exc){
+ INFOS("Follow exception was occured :\n"<<exc.what());
+ }catch(...){
+ INFOS("Unknown exception was occured!");
}
return false;