mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#5112 Make selected result definition available through 3ditem selection system
Make PVT, Relperm, Mohr and rResult plot aware
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
#include "RigTimeHistoryResultAccessor.h"
|
||||
|
||||
#include "RimEclipseCase.h"
|
||||
#include "RimEclipseResultDefinition.h"
|
||||
#include "RimEclipseView.h"
|
||||
|
||||
#include "Riu3dSelectionManager.h"
|
||||
@@ -61,7 +62,7 @@ void RimEclipseGeometrySelectionItem::setFromSelectionItem( const RiuEclipseSele
|
||||
m_cellIndex = selectionItem->m_gridLocalCellIndex;
|
||||
m_localIntersectionPointInDisplay = selectionItem->m_localIntersectionPointInDisplay;
|
||||
|
||||
m_eclipseCase = selectionItem->m_view->eclipseCase();
|
||||
m_eclipseCase = selectionItem->m_resultDefinition->eclipseCase();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -2051,12 +2051,13 @@ void RimEclipseView::onCreatePartCollectionFromSelection( cvf::Collection<cvf::P
|
||||
if ( items[i]->type() == RiuSelectionItem::ECLIPSE_SELECTION_OBJECT )
|
||||
{
|
||||
RiuEclipseSelectionItem* eclipseSelItem = static_cast<RiuEclipseSelectionItem*>( items[i] );
|
||||
|
||||
if ( eclipseSelItem && eclipseSelItem->m_view == this )
|
||||
{
|
||||
CVF_ASSERT( eclipseSelItem->m_view->eclipseCase() );
|
||||
CVF_ASSERT( eclipseSelItem->m_view->eclipseCase()->eclipseCaseData() );
|
||||
CVF_ASSERT( eclipseSelItem->m_resultDefinition->eclipseCase() );
|
||||
CVF_ASSERT( eclipseSelItem->m_resultDefinition->eclipseCase()->eclipseCaseData() );
|
||||
|
||||
RivSingleCellPartGenerator partGen( eclipseSelItem->m_view->eclipseCase()->eclipseCaseData(),
|
||||
RivSingleCellPartGenerator partGen( eclipseSelItem->m_resultDefinition->eclipseCase()->eclipseCaseData(),
|
||||
eclipseSelItem->m_gridIndex,
|
||||
eclipseSelItem->m_gridLocalCellIndex );
|
||||
|
||||
|
||||
@@ -258,6 +258,14 @@ void RimGeoMechResultDefinition::setGeoMechCase( RimGeoMechCase* geomCase )
|
||||
m_geomCase = geomCase;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimGeoMechCase* RimGeoMechResultDefinition::geoMechCase() const
|
||||
{
|
||||
return m_geomCase;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -46,7 +46,8 @@ public:
|
||||
RimGeoMechResultDefinition( void );
|
||||
~RimGeoMechResultDefinition( void ) override;
|
||||
|
||||
void setGeoMechCase( RimGeoMechCase* geomCase );
|
||||
void setGeoMechCase( RimGeoMechCase* geomCase );
|
||||
RimGeoMechCase* geoMechCase() const;
|
||||
|
||||
RigGeoMechCaseData* ownerCaseData() const;
|
||||
bool hasResult();
|
||||
|
||||
@@ -837,20 +837,24 @@ void RimGeoMechView::calculateCurrentTotalCellVisibility( cvf::UByteArray* total
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimGeoMechView::onCreatePartCollectionFromSelection( cvf::Collection<cvf::Part>* parts )
|
||||
{
|
||||
Riu3dSelectionManager* riuSelManager = Riu3dSelectionManager::instance();
|
||||
Riu3dSelectionManager* riuSelManager = Riu3dSelectionManager::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 == this && geomSelItem->m_view->geoMechCase() )
|
||||
|
||||
if ( geomSelItem && geomSelItem->m_view == this && geomSelItem->m_resultDefinition->geoMechCase() )
|
||||
{
|
||||
RivSingleCellPartGenerator partGen( geomSelItem->m_view->geoMechCase(),
|
||||
RivSingleCellPartGenerator partGen( geomSelItem->m_resultDefinition->geoMechCase(),
|
||||
geomSelItem->m_gridIndex,
|
||||
geomSelItem->m_cellIndex );
|
||||
cvf::ref<cvf::Part> part = partGen.createPart( geomSelItem->m_color );
|
||||
|
||||
cvf::ref<cvf::Part> part = partGen.createPart( geomSelItem->m_color );
|
||||
part->setTransform( this->scaleTransform() );
|
||||
|
||||
parts->push_back( part.p() );
|
||||
|
||||
@@ -127,7 +127,7 @@ void RimGridTimeHistoryCurve::setFromSelectionItem( const RiuSelectionItem* sele
|
||||
if ( eclSelectionItem->m_view )
|
||||
{
|
||||
m_eclipseResultDefinition = new RimEclipseResultDefinition;
|
||||
m_eclipseResultDefinition->simpleCopy( eclSelectionItem->m_view->cellResult() );
|
||||
m_eclipseResultDefinition->simpleCopy( eclSelectionItem->m_resultDefinition );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,9 +142,8 @@ void RimGridTimeHistoryCurve::setFromSelectionItem( const RiuSelectionItem* sele
|
||||
if ( geoMechSelectionItem->m_view )
|
||||
{
|
||||
m_geoMechResultDefinition = new RimGeoMechResultDefinition;
|
||||
m_geoMechResultDefinition->setGeoMechCase( geoMechSelectionItem->m_view->geoMechCase() );
|
||||
m_geoMechResultDefinition->setResultAddress(
|
||||
geoMechSelectionItem->m_view->cellResultResultDefinition()->resultAddress() );
|
||||
m_geoMechResultDefinition->setGeoMechCase( geoMechSelectionItem->m_resultDefinition->geoMechCase() );
|
||||
m_geoMechResultDefinition->setResultAddress( geoMechSelectionItem->m_resultDefinition->resultAddress() );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user