mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#5112 Add cell highlight on intersections with separate intersection result
This commit is contained in:
@@ -2037,39 +2037,6 @@ bool RimEclipseView::isShowingActiveCellsOnly()
|
||||
return !m_showInactiveCells;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEclipseView::onCreatePartCollectionFromSelection( cvf::Collection<cvf::Part>* parts )
|
||||
{
|
||||
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::ECLIPSE_SELECTION_OBJECT )
|
||||
{
|
||||
RiuEclipseSelectionItem* eclipseSelItem = static_cast<RiuEclipseSelectionItem*>( items[i] );
|
||||
|
||||
if ( eclipseSelItem && eclipseSelItem->m_view == this )
|
||||
{
|
||||
CVF_ASSERT( eclipseSelItem->m_resultDefinition->eclipseCase() );
|
||||
CVF_ASSERT( eclipseSelItem->m_resultDefinition->eclipseCase()->eclipseCaseData() );
|
||||
|
||||
RivSingleCellPartGenerator partGen( eclipseSelItem->m_resultDefinition->eclipseCase()->eclipseCaseData(),
|
||||
eclipseSelItem->m_gridIndex,
|
||||
eclipseSelItem->m_gridLocalCellIndex );
|
||||
|
||||
cvf::ref<cvf::Part> part = partGen.createPart( eclipseSelItem->m_color );
|
||||
part->setTransform( this->scaleTransform() );
|
||||
|
||||
parts->push_back( part.p() );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -156,7 +156,6 @@ protected:
|
||||
void onLoadDataAndUpdate() override;
|
||||
caf::PdmFieldHandle* userDescriptionField() override;
|
||||
|
||||
void onCreatePartCollectionFromSelection( cvf::Collection<cvf::Part>* parts ) override;
|
||||
bool isShowingActiveCellsOnly() override;
|
||||
void onUpdateDisplayModelForCurrentTimeStep() override;
|
||||
void updateVisibleGeometriesAndCellColors();
|
||||
|
||||
@@ -832,37 +832,6 @@ void RimGeoMechView::calculateCurrentTotalCellVisibility( cvf::UByteArray* total
|
||||
m_vizLogic->calculateCurrentTotalCellVisibility( totalVisibility, timeStep );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimGeoMechView::onCreatePartCollectionFromSelection( cvf::Collection<cvf::Part>* parts )
|
||||
{
|
||||
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_resultDefinition->geoMechCase() )
|
||||
{
|
||||
RivSingleCellPartGenerator partGen( geomSelItem->m_resultDefinition->geoMechCase(),
|
||||
geomSelItem->m_gridIndex,
|
||||
geomSelItem->m_cellIndex );
|
||||
|
||||
cvf::ref<cvf::Part> part = partGen.createPart( geomSelItem->m_color );
|
||||
part->setTransform( this->scaleTransform() );
|
||||
|
||||
parts->push_back( part.p() );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -111,7 +111,6 @@ protected:
|
||||
const QVariant& newValue ) override;
|
||||
void initAfterRead() override;
|
||||
|
||||
void onCreatePartCollectionFromSelection( cvf::Collection<cvf::Part>* parts ) override;
|
||||
void onCreateDisplayModel() override;
|
||||
|
||||
RimPropertyFilterCollection* nativePropertyFilterCollection();
|
||||
|
||||
@@ -23,6 +23,9 @@
|
||||
#include "Rim3dOverlayInfoConfig.h"
|
||||
#include "RimAnnotationInViewCollection.h"
|
||||
#include "RimCellRangeFilterCollection.h"
|
||||
#include "RimEclipseCase.h"
|
||||
#include "RimEclipseResultDefinition.h"
|
||||
#include "RimGeoMechResultDefinition.h"
|
||||
#include "RimGridCollection.h"
|
||||
#include "RimIntersectionCollection.h"
|
||||
#include "RimIntersectionResultsDefinitionCollection.h"
|
||||
@@ -36,9 +39,13 @@
|
||||
#include "RimWellMeasurementInViewCollection.h"
|
||||
|
||||
#include "Riu3DMainWindowTools.h"
|
||||
#include "Riu3dSelectionManager.h"
|
||||
#include "RiuMainWindow.h"
|
||||
|
||||
#include "RivSingleCellPartGenerator.h"
|
||||
|
||||
#include "cvfModel.h"
|
||||
#include "cvfPart.h"
|
||||
#include "cvfScene.h"
|
||||
|
||||
#include <set>
|
||||
@@ -419,6 +426,59 @@ void RimGridView::initAfterRead()
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimGridView::onCreatePartCollectionFromSelection( cvf::Collection<cvf::Part>* parts )
|
||||
{
|
||||
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_resultDefinition->geoMechCase() )
|
||||
{
|
||||
RivSingleCellPartGenerator partGen( geomSelItem->m_resultDefinition->geoMechCase(),
|
||||
geomSelItem->m_gridIndex,
|
||||
geomSelItem->m_cellIndex,
|
||||
this->ownerCase()->displayModelOffset() );
|
||||
|
||||
cvf::ref<cvf::Part> part = partGen.createPart( geomSelItem->m_color );
|
||||
part->setTransform( this->scaleTransform() );
|
||||
|
||||
parts->push_back( part.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_resultDefinition->eclipseCase() );
|
||||
CVF_ASSERT( eclipseSelItem->m_resultDefinition->eclipseCase()->eclipseCaseData() );
|
||||
|
||||
RivSingleCellPartGenerator partGen( eclipseSelItem->m_resultDefinition->eclipseCase()->eclipseCaseData(),
|
||||
eclipseSelItem->m_gridIndex,
|
||||
eclipseSelItem->m_gridLocalCellIndex,
|
||||
this->ownerCase()->displayModelOffset() );
|
||||
|
||||
cvf::ref<cvf::Part> part = partGen.createPart( eclipseSelItem->m_color );
|
||||
part->setTransform( this->scaleTransform() );
|
||||
|
||||
parts->push_back( part.p() );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -84,7 +84,8 @@ protected:
|
||||
const QVariant& newValue ) override;
|
||||
void initAfterRead() override;
|
||||
|
||||
protected: // Fields
|
||||
protected:
|
||||
// Fields
|
||||
caf::PdmChildField<RimIntersectionCollection*> m_intersectionCollection;
|
||||
|
||||
caf::PdmChildField<RimIntersectionResultsDefinitionCollection*> m_intersectionResultDefCollection;
|
||||
@@ -97,6 +98,8 @@ protected: // Fields
|
||||
caf::PdmChildField<RimWellMeasurementInViewCollection*> m_wellMeasurementCollection;
|
||||
|
||||
private:
|
||||
void onCreatePartCollectionFromSelection( cvf::Collection<cvf::Part>* parts ) override;
|
||||
|
||||
cvf::ref<cvf::UByteArray> m_currentReservoirCellVisibility;
|
||||
RimViewLinker* viewLinkerIfMasterView() const;
|
||||
bool m_previousGridModeMeshLinesWasFaults;
|
||||
|
||||
Reference in New Issue
Block a user