(#553) Fixed. Now the CreatDisplayModel sets timestep without firing signals

from the AnimationController.
This commit is contained in:
Jacob Støren 2015-09-28 20:43:55 +02:00
parent 5d04655d6a
commit e74098d7ca
2 changed files with 36 additions and 6 deletions

View File

@ -330,16 +330,16 @@ void RimEclipseView::createDisplayModel()
// for the different frames. updateCurrentTimeStep updates the colors etc.
// For property filtered geometry : just set all the models as empty scenes
// updateCurrentTimeStep requests the actual parts
if ((this->viewController() && this->viewController()->isVisibleCellsOveridden())
|| !this->propertyFilterCollection()->hasActiveFilters())
if (!this->propertyFilterCollection()->hasActiveFilters()
|| this->viewController() && this->viewController()->isVisibleCellsOveridden())
{
std::vector<RivCellSetEnum> geometryTypesToAdd;
if (this->viewController() && this->viewController()->isVisibleCellsOveridden())
{
geometryTypesToAdd.push_back(OVERRIDDEN_CELL_VISIBILITY);
}
else if (this->rangeFilterCollection()->hasActiveFilters() && this->wellCollection()->hasVisibleWellCells())
{
@ -469,7 +469,8 @@ void RimEclipseView::createDisplayModel()
if (frameModels.size() > 1 && this->hasUserRequestedAnimation())
{
m_viewer->animationControl()->setCurrentFrame(m_currentTimeStep);
m_viewer->animationControl()->setCurrentFrameOnly(m_currentTimeStep);
m_viewer->setCurrentFrame(m_currentTimeStep);
}
else
{
@ -491,6 +492,34 @@ void RimEclipseView::updateCurrentTimeStep()
if (this->viewController() && this->viewController()->isVisibleCellsOveridden())
{
geometriesToRecolor.push_back(OVERRIDDEN_CELL_VISIBILITY);
#if 0 // Experimental
cvf::ref<cvf::ModelBasicList> frameParts = new cvf::ModelBasicList;
std::vector<size_t> gridIndices;
this->indicesToVisibleGrids(&gridIndices);
m_reservoirGridPartManager->appendStaticGeometryPartsToModel(frameParts.p(), OVERRIDDEN_CELL_VISIBILITY, gridIndices);
std::vector<RivCellSetEnum> faultGeometryTypesToAppend = visibleFaultGeometryTypes();
for (size_t i = 0; i < faultGeometryTypesToAppend.size(); i++)
{
m_reservoirGridPartManager->appendFaultsStaticGeometryPartsToModel(frameParts.p(), faultGeometryTypesToAppend[i]);
}
RivCellSetEnum faultLabelType = m_reservoirGridPartManager->geometryTypeForFaultLabels(faultGeometryTypesToAppend);
m_reservoirGridPartManager->appendFaultLabelsStaticGeometryPartsToModel(frameParts.p(), faultLabelType);
if (m_viewer)
{
cvf::Scene* frameScene = m_viewer->frame(m_currentTimeStep);
if (frameScene)
{
frameScene->removeAllModels();
frameScene->addModel(frameParts.p());
frameParts->updateBoundingBoxesRecursive();
}
}
#endif
}
else if (this->propertyFilterCollection()->hasActiveFilters())
{
@ -560,9 +589,9 @@ void RimEclipseView::updateCurrentTimeStep()
cvf::Scene* frameScene = m_viewer->frame(m_currentTimeStep);
if (frameScene)
{
frameParts->updateBoundingBoxesRecursive();
frameScene->removeAllModels();
frameScene->addModel(frameParts.p());
frameParts->updateBoundingBoxesRecursive();
}
}

View File

@ -242,7 +242,8 @@ void RimGeoMechView::createDisplayModel()
if (isTimeStepDependentDataVisible())
{
m_viewer->animationControl()->setCurrentFrame(m_currentTimeStep);
m_viewer->animationControl()->setCurrentFrameOnly(m_currentTimeStep);
m_viewer->setCurrentFrame(m_currentTimeStep);
}
else
{