Refactoring more general stuff into RimView

updateViewerWidget
scheduleUpdateDisplayModelAndRedraw
This commit is contained in:
Jacob Støren
2015-04-30 10:34:15 +02:00
parent 4b7d593b3c
commit 3dac8807c7
10 changed files with 165 additions and 177 deletions

View File

@@ -204,6 +204,9 @@ void RiuViewer::mouseReleaseEvent(QMouseEvent* event)
}
else if (event->button() == Qt::RightButton)
{
RimReservoirView* eclipseView = dynamic_cast<RimReservoirView*>(m_reservoirView.p());
if (!eclipseView) return;
m_currentGridIdx = cvf::UNDEFINED_SIZE_T;
m_currentCellIndex = cvf::UNDEFINED_SIZE_T;
@@ -244,7 +247,7 @@ void RiuViewer::mouseReleaseEvent(QMouseEvent* event)
menu.addAction(QString("J-slice range filter"), this, SLOT(slotRangeFilterJ()));
menu.addAction(QString("K-slice range filter"), this, SLOT(slotRangeFilterK()));
const RigCaseData* reservoir = m_reservoirView->eclipseCase()->reservoirData();
const RigCaseData* reservoir = eclipseView->eclipseCase()->reservoirData();
const RigFault* fault = reservoir->mainGrid()->findFaultFromCellIndexAndCellFace(m_currentCellIndex, m_currentFaceIndex);
if (fault)
{
@@ -265,10 +268,13 @@ void RiuViewer::mouseReleaseEvent(QMouseEvent* event)
//--------------------------------------------------------------------------------------------------
///
/// Todo: Move this to a command instead
//--------------------------------------------------------------------------------------------------
void RiuViewer::slotRangeFilterI()
{
RimReservoirView* eclipseView = dynamic_cast<RimReservoirView*>(m_reservoirView.p());
if (!eclipseView) return;
size_t i, j, k;
ijkFromCellIndex(m_currentGridIdx, m_currentCellIndex, &i, &j, &k);
@@ -276,7 +282,7 @@ void RiuViewer::slotRangeFilterI()
RimUiTreeModelPdm* myModel = mainWindow->uiPdmModel();
if (myModel)
{
RimCellRangeFilterCollection* rangeFilterCollection = m_reservoirView->rangeFilterCollection();
RimCellRangeFilterCollection* rangeFilterCollection = eclipseView->rangeFilterCollection();
QModelIndex collectionModelIndex = myModel->getModelIndexFromPdmObject(rangeFilterCollection);
@@ -296,7 +302,7 @@ void RiuViewer::slotRangeFilterI()
mainWindow->setCurrentObjectInTreeView(rangeFilter);
}
m_reservoirView->setSurfaceDrawstyle();
eclipseView->setSurfaceDrawstyle();
}
//--------------------------------------------------------------------------------------------------
@@ -304,6 +310,9 @@ void RiuViewer::slotRangeFilterI()
//--------------------------------------------------------------------------------------------------
void RiuViewer::slotRangeFilterJ()
{
RimReservoirView* eclipseView = dynamic_cast<RimReservoirView*>(m_reservoirView.p());
if (!eclipseView) return;
size_t i, j, k;
ijkFromCellIndex(m_currentGridIdx, m_currentCellIndex, &i, &j, &k);
@@ -311,7 +320,7 @@ void RiuViewer::slotRangeFilterJ()
RimUiTreeModelPdm* myModel = mainWindow->uiPdmModel();
if (myModel)
{
RimCellRangeFilterCollection* rangeFilterCollection = m_reservoirView->rangeFilterCollection();
RimCellRangeFilterCollection* rangeFilterCollection = eclipseView->rangeFilterCollection();
QModelIndex collectionModelIndex = myModel->getModelIndexFromPdmObject(rangeFilterCollection);
@@ -331,7 +340,7 @@ void RiuViewer::slotRangeFilterJ()
mainWindow->setCurrentObjectInTreeView(rangeFilter);
}
m_reservoirView->setSurfaceDrawstyle();
eclipseView->setSurfaceDrawstyle();
}
//--------------------------------------------------------------------------------------------------
@@ -339,6 +348,9 @@ void RiuViewer::slotRangeFilterJ()
//--------------------------------------------------------------------------------------------------
void RiuViewer::slotRangeFilterK()
{
RimReservoirView* eclipseView = dynamic_cast<RimReservoirView*>(m_reservoirView.p());
if (!eclipseView) return;
size_t i, j, k;
ijkFromCellIndex(m_currentGridIdx, m_currentCellIndex, &i, &j, &k);
@@ -346,7 +358,7 @@ void RiuViewer::slotRangeFilterK()
RimUiTreeModelPdm* myModel = mainWindow->uiPdmModel();
if (myModel)
{
RimCellRangeFilterCollection* rangeFilterCollection = m_reservoirView->rangeFilterCollection();
RimCellRangeFilterCollection* rangeFilterCollection = eclipseView->rangeFilterCollection();
QModelIndex collectionModelIndex = myModel->getModelIndexFromPdmObject(rangeFilterCollection);
@@ -366,7 +378,7 @@ void RiuViewer::slotRangeFilterK()
mainWindow->setCurrentObjectInTreeView(rangeFilter);
}
m_reservoirView->setSurfaceDrawstyle();
eclipseView->setSurfaceDrawstyle();
}
//--------------------------------------------------------------------------------------------------
@@ -386,6 +398,8 @@ void RiuViewer::keyPressEvent(QKeyEvent* event)
//--------------------------------------------------------------------------------------------------
void RiuViewer::handlePickAction(int winPosX, int winPosY)
{
RimReservoirView* eclipseView = dynamic_cast<RimReservoirView*>(m_reservoirView.p());
RiaApplication* app = RiaApplication::instance();
RiuMainWindow* mainWnd = RiuMainWindow::instance();
@@ -444,7 +458,7 @@ void RiuViewer::handlePickAction(int winPosX, int winPosY)
if (cellIndex != cvf::UNDEFINED_SIZE_T)
{
RiuResultTextBuilder textBuilder(m_reservoirView, gridIndex, cellIndex, m_reservoirView->currentTimeStep());
RiuResultTextBuilder textBuilder(eclipseView, gridIndex, cellIndex, eclipseView->currentTimeStep());
textBuilder.setFace(face);
textBuilder.setNncIndex(nncIndex);
textBuilder.setIntersectionPoint(localIntersectionPoint);
@@ -506,7 +520,7 @@ void RiuViewer::setPointOfInterest(cvf::Vec3d poi)
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuViewer::setOwnerReservoirView(RimReservoirView * owner)
void RiuViewer::setOwnerReservoirView(RimView * owner)
{
m_reservoirView = owner;
}
@@ -524,6 +538,9 @@ void RiuViewer::setEnableMask(unsigned int mask)
//--------------------------------------------------------------------------------------------------
void RiuViewer::pickPointAndFace(int winPosX, int winPosY, cvf::Vec3d* localIntersectionPoint, cvf::Part** firstPart, uint* firstPartFaceHit, cvf::Part** nncPart, uint* nncPartFaceHit)
{
RimReservoirView* eclipseView = dynamic_cast<RimReservoirView*>(m_reservoirView.p());
if(!eclipseView) return;
cvf::HitItemCollection hitItems;
bool isSomethingHit = rayPick(winPosX, winPosY, &hitItems);
@@ -532,9 +549,9 @@ void RiuViewer::pickPointAndFace(int winPosX, int winPosY, cvf::Vec3d* localInte
CVF_ASSERT(hitItems.count() > 0);
double characteristicCellSize = 5.0;
if (m_reservoirView && m_reservoirView->eclipseCase())
if (eclipseView && eclipseView->eclipseCase())
{
characteristicCellSize = m_reservoirView->eclipseCase()->reservoirData()->mainGrid()->characteristicIJCellSize();
characteristicCellSize = eclipseView->eclipseCase()->reservoirData()->mainGrid()->characteristicIJCellSize();
}
double pickDepthThresholdSquared = characteristicCellSize / 100.0;
@@ -718,9 +735,13 @@ void RiuViewer::showHistogram(bool enable)
//--------------------------------------------------------------------------------------------------
void RiuViewer::ijkFromCellIndex(size_t gridIdx, size_t cellIndex, size_t* i, size_t* j, size_t* k)
{
if (m_reservoirView->eclipseCase())
RimReservoirView* eclipseView = dynamic_cast<RimReservoirView*>(m_reservoirView.p());
if(!eclipseView) return;
if (eclipseView->eclipseCase())
{
m_reservoirView->eclipseCase()->reservoirData()->grid(gridIdx)->ijkFromCellIndex(cellIndex, i, j, k);
eclipseView->eclipseCase()->reservoirData()->grid(gridIdx)->ijkFromCellIndex(cellIndex, i, j, k);
}
}
@@ -738,13 +759,17 @@ void RiuViewer::mousePressEvent(QMouseEvent* event)
//--------------------------------------------------------------------------------------------------
void RiuViewer::slotHideFault()
{
const RigCaseData* reservoir = m_reservoirView->eclipseCase()->reservoirData();
RimReservoirView* eclipseView = dynamic_cast<RimReservoirView*>(m_reservoirView.p());
if(!eclipseView) return;
const RigCaseData* reservoir = eclipseView->eclipseCase()->reservoirData();
const RigFault* fault = reservoir->mainGrid()->findFaultFromCellIndexAndCellFace(m_currentCellIndex, m_currentFaceIndex);
if (fault)
{
QString faultName = fault->name();
RimFault* rimFault = m_reservoirView->faultCollection()->findFaultByName(faultName);
RimFault* rimFault = eclipseView->faultCollection()->findFaultByName(faultName);
if (rimFault)
{
rimFault->showFault.setValueFromUi(!rimFault->showFault);