mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
(#646) Show selected cells in geo mech view
This commit is contained in:
@@ -677,15 +677,6 @@ void RimEclipseView::updateCurrentTimeStep()
|
||||
|
||||
|
||||
{
|
||||
// Actions related to highlight items in scene
|
||||
//
|
||||
// Removed highlight model by name
|
||||
// Create new highlight model with name
|
||||
// Create and add selected parts
|
||||
// Modify with scaletransform()
|
||||
// Add parts to model
|
||||
// Add model to scene
|
||||
|
||||
cvf::String highlightModelName = "HighLightModel";
|
||||
|
||||
this->removeModelByName(frameScene, highlightModelName);
|
||||
@@ -698,25 +689,26 @@ void RimEclipseView::updateCurrentTimeStep()
|
||||
riuSelManager->selectedItems(items);
|
||||
for (size_t i = 0; i < items.size(); i++)
|
||||
{
|
||||
RiuEclipseSelectionItem* eclipseSelItem = dynamic_cast<RiuEclipseSelectionItem*>(items[i]);
|
||||
if (eclipseSelItem &&
|
||||
eclipseSelItem->m_view)
|
||||
if (items[i]->type() == RiuSelectionItem::ECLIPSE_SELECTION_OBJECT)
|
||||
{
|
||||
CVF_ASSERT(eclipseSelItem->m_view->eclipseCase());
|
||||
CVF_ASSERT(eclipseSelItem->m_view->eclipseCase()->reservoirData());
|
||||
RiuEclipseSelectionItem* eclipseSelItem = static_cast<RiuEclipseSelectionItem*>(items[i]);
|
||||
if (eclipseSelItem &&
|
||||
eclipseSelItem->m_view)
|
||||
{
|
||||
CVF_ASSERT(eclipseSelItem->m_view->eclipseCase());
|
||||
CVF_ASSERT(eclipseSelItem->m_view->eclipseCase()->reservoirData());
|
||||
|
||||
RivSingleCellPartGenerator partGen(eclipseSelItem->m_view->eclipseCase()->reservoirData(), eclipseSelItem->m_gridIndex, eclipseSelItem->m_cellIndex);
|
||||
RivSingleCellPartGenerator partGen(eclipseSelItem->m_view->eclipseCase()->reservoirData(), eclipseSelItem->m_gridIndex, eclipseSelItem->m_cellIndex);
|
||||
|
||||
cvf::ref<cvf::Part> part = partGen.createPart(eclipseSelItem->m_color);
|
||||
part->setTransform(this->scaleTransform());
|
||||
part->setPriority(10000);
|
||||
cvf::ref<cvf::Part> part = partGen.createPart(eclipseSelItem->m_color);
|
||||
part->setTransform(this->scaleTransform());
|
||||
|
||||
highlightModelBasicList->addPart(part.p());
|
||||
highlightModelBasicList->addPart(part.p());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
highlightModelBasicList->updateBoundingBoxesRecursive();
|
||||
|
||||
frameScene->addModel(highlightModelBasicList.p());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,18 +34,23 @@
|
||||
#include "RimGeoMechCellColors.h"
|
||||
#include "RimGeoMechPropertyFilterCollection.h"
|
||||
#include "RimLegendConfig.h"
|
||||
#include "RimViewLinker.h"
|
||||
|
||||
#include "RiuMainWindow.h"
|
||||
#include "RiuSelectionManager.h"
|
||||
#include "RiuViewer.h"
|
||||
|
||||
#include "RivGeoMechPartMgr.h"
|
||||
#include "RivGeoMechPartMgrCache.h"
|
||||
#include "RivGeoMechVizLogic.h"
|
||||
#include "RivSingleCellPartGenerator.h"
|
||||
|
||||
#include "cafCadNavigation.h"
|
||||
#include "cafCeetronPlusNavigation.h"
|
||||
#include "cafFrameAnimationControl.h"
|
||||
#include "cafPdmUiTreeOrdering.h"
|
||||
#include "cafProgressInfo.h"
|
||||
|
||||
#include "cvfModelBasicList.h"
|
||||
#include "cvfOverlayScalarMapperLegend.h"
|
||||
#include "cvfPart.h"
|
||||
@@ -54,9 +59,6 @@
|
||||
#include "cvfqtUtils.h"
|
||||
|
||||
#include <QMessageBox>
|
||||
#include "RimViewLinker.h"
|
||||
#include "cafPdmUiTreeOrdering.h"
|
||||
|
||||
|
||||
|
||||
CAF_PDM_SOURCE_INIT(RimGeoMechView, "GeoMechView");
|
||||
@@ -282,6 +284,36 @@ void RimGeoMechView::updateCurrentTimeStep()
|
||||
femBBox,
|
||||
scaleTransform());
|
||||
frameScene->addModel(wellPathModel.p());
|
||||
|
||||
{
|
||||
cvf::String highlightModelName = "HighLightModel";
|
||||
cvf::ref<cvf::ModelBasicList> highlightModelBasicList = new cvf::ModelBasicList;
|
||||
highlightModelBasicList->setName(highlightModelName);
|
||||
|
||||
RiuSelectionManager* riuSelManager = RiuSelectionManager::instance();
|
||||
std::vector<RiuSelectionItem*> items;
|
||||
riuSelManager->selectedItems(items);
|
||||
for (size_t i = 0; i < items.size(); i++)
|
||||
{
|
||||
if (items[i]->type() == RiuSelectionItem::GEOMECH_SELECTION_OBJECT)
|
||||
{
|
||||
RiuGeoMechSelectionItem* geomSelItem = static_cast<RiuGeoMechSelectionItem*>(items[i]);
|
||||
if (geomSelItem &&
|
||||
geomSelItem->m_view &&
|
||||
geomSelItem->m_view->geoMechCase())
|
||||
{
|
||||
RivSingleCellPartGenerator partGen(geomSelItem->m_view->geoMechCase(), geomSelItem->m_gridIndex, geomSelItem->m_cellIndex);
|
||||
cvf::ref<cvf::Part> part = partGen.createPart(geomSelItem->m_color);
|
||||
part->setTransform(this->scaleTransform());
|
||||
|
||||
highlightModelBasicList->addPart(part.p());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
highlightModelBasicList->updateBoundingBoxesRecursive();
|
||||
frameScene->addModel(highlightModelBasicList.p());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user