mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Improve filtering by 3D view for Producer/Injector Connectivity Table (#10027)
- Calculate by visible cells: Calculate flow diag by use of visible cells in 3D view (already existing functionality). - Filter producers: select producer wells based on visibility in 3D view. Synch connected injectors - even if they are not visible in 3D view. - Filter injectors: select injector wells based on visibility in 3D view. Synch connected producers - even if they are not visible in 3D view.
This commit is contained in:
@@ -47,6 +47,13 @@ class RimWellConnectivityTable : public RimPlotWindow
|
||||
CAF_PDM_HEADER_INIT;
|
||||
|
||||
public:
|
||||
enum class ViewFilterType
|
||||
{
|
||||
CALCULATE_BY_VISIBLE_CELLS,
|
||||
FILTER_BY_VISIBLE_PRODUCERS,
|
||||
FILTER_BY_VISIBLE_INJECTORS,
|
||||
};
|
||||
|
||||
enum class TimeStepSelection
|
||||
{
|
||||
SINGLE_TIME_STEP,
|
||||
@@ -132,20 +139,25 @@ private:
|
||||
void setSelectedProducersAndInjectorsForSingleTimeStep();
|
||||
void setSelectedProducersAndInjectorsForTimeStepRange();
|
||||
|
||||
void syncSelectedInjectorsFromProducerSelection();
|
||||
void syncSelectedProducersFromInjectorSelection();
|
||||
void syncSelectedInjectorsFromProducerSelection();
|
||||
void syncSelectedProducersFromInjectorSelection();
|
||||
void setProducerSelectionFromViewFilterAndSynchInjectors();
|
||||
void setInjectorSelectionFromViewFilterAndSynchProducers();
|
||||
void setWellSelectionFromViewFilter();
|
||||
std::vector<QString> getViewFilteredWellNamesFromFilterType( ViewFilterType filterType ) const;
|
||||
|
||||
void onCellFiltersChanged( const SignalEmitter* emitter );
|
||||
void connectViewCellFiltersChangedToSlot( RimEclipseView* view );
|
||||
void disconnectViewCellFiltersChangedFromSlots( RimEclipseView* view );
|
||||
void onCellVisibilityChanged( const SignalEmitter* emitter );
|
||||
void connectViewCellVisibilityChangedToSlot( RimEclipseView* view );
|
||||
void disconnectViewCellVisibilityChangedFromSlots( RimEclipseView* view );
|
||||
|
||||
private:
|
||||
// Matrix plot for visualizing table data
|
||||
QPointer<RiuMatrixPlotWidget> m_matrixPlotWidget;
|
||||
|
||||
caf::PdmPtrField<RimEclipseResultCase*> m_case;
|
||||
caf::PdmPtrField<RimEclipseView*> m_cellFilterView;
|
||||
caf::PdmPtrField<RimFlowDiagSolution*> m_flowDiagSolution;
|
||||
caf::PdmPtrField<RimEclipseResultCase*> m_case;
|
||||
caf::PdmPtrField<RimEclipseView*> m_cellFilterView;
|
||||
caf::PdmField<caf::AppEnum<ViewFilterType>> m_viewFilterType;
|
||||
caf::PdmPtrField<RimFlowDiagSolution*> m_flowDiagSolution;
|
||||
|
||||
caf::PdmField<caf::AppEnum<TimeStepSelection>> m_timeStepSelection;
|
||||
caf::PdmField<caf::AppEnum<TimeSampleValueType>> m_timeSampleValueType;
|
||||
|
||||
Reference in New Issue
Block a user