Prepare for release 2024.12

This commit is contained in:
Magne Sjaastad 2024-12-06 14:47:55 +01:00
commit 19ae259726
18 changed files with 6506 additions and 39 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,493 @@
// ResInsight version string : 2024.12.0-RC_2
// Report generated : Thu Dec 5 11:25:09 2024
//
//
AnalysisPlot
AnalysisPlotCollection
AnalysisPlotDataEntry
Annotations
AsciiDataCurve
CalcScript
CellEdgeResultSlot
CellFilterCollection
CellIndexFilter
CellPropertyFilter
CellPropertyFilters
CellRangeFilter
CellRangeFilterCollection
ChangeDataSourceFeatureUi
CmdAddItemExecData
CmdDeleteItemExecData
ColorLegend
ColorLegendCollection
ColorLegendItem
CompletionTemplateCollection
CorrelationMatrixPlot
CorrelationPlot
CorrelationPlotCollection
CorrelationReportPlot
CrossSection
CrossSectionCollection
CsvSummaryCase
CurveIntersection
DataContainerFloat
DataContainerString
DataContainerTime
DeclineCurve
DepthTrackPlot
DoubleParameter
Eclipse2dViewCollection
EclipseCase
EclipseGeometrySelectionItem
EclipseResultAddress
EclipseViewCollection
ElasticProperties
ElasticPropertyScaling
ElasticPropertyScalingCollection
EnsembleFractureStatistics
EnsembleFractureStatisticsPlot
EnsembleFractureStatisticsPlotCollection
EnsembleStatisticsSurface
EnsembleSurface
EnsembleWellLogStatisticsCurve
EnsembleWellLogs
EnsembleWellLogsCollection
FaciesInitialPressureConfig
FaciesProperties
Fault
FaultReactivationModel
FaultReactivationModelCollection
Faults
FileSummaryCase
FileSurface
FishbonesCollection
FishbonesMultipleSubs
FishbonesPipeProperties
FlowCharacteristicsPlot
FlowDiagSolution
FlowPlotCollection
FormationNames
FormationNamesCollectionObject
FractureContainment
FractureDefinitionCollection
FractureGroupStatisticsCollection
FractureTemplateCollection
GeoMech2dViewCollection
GeoMechGeometrySelectionItem
GeoMechPart
GeoMechPartCollection
GeoMechPropertyFilter
GeoMechPropertyFilters
GeoMechResultDefinition
GeoMechResultSlot
GeoMechView
GridCaseSurface
GridCollection
GridCrossPlotCurve
GridCrossPlotCurveSet
GridCrossPlotRegressionCurve
GridInfo
GridInfoCollection
GridStatisticsPlot
GridStatisticsPlotCollection
GridSummaryCase
GridTimeHistoryCurve
IntegerParameter
Intersection2dView
Intersection2dViewCollection
IntersectionBox
IntersectionCollection
IntersectionResultDefinition
Legend
ListParameter
MainPlotCollection
MdiWindowController
MockModelSettings
ModeledWellPath
MultiPlot
MultiSnapshotDefinition
MultiSummaryPlot
NonNetLayers
ObservedDataCollection
ObservedFmuRftData
ObservedPressureDepthData
OsduWellLog
OsduWellLogChannel
OsduWellPath
ParameterGroup
ParameterList
ParameterResultCrossPlot
PdmDocument
PdmObjectCollection
PdmObjectGroup
Perforation
PerforationCollection
PlotCurve
PlotDataFilterCollection
PlotDataFilterItem
PlotTemplateCollection
PlotTemplateFileItem
PolyLineFilter
PolygonFilter
PolylineTarget
PolylinesFromFileAnnotation
PressureTable
PressureTableItem
PropertyFilter
RegressionAnalysisCurve
ResInsightAnalysisModels
ResInsightGeoMechCase
ResInsightGeoMechModels
ResInsightOilField
ResInsightProject
ResampleData
ReservoirCellResultStorage
ReservoirView
ResultDefinition
ResultSlot
ResultStorageEntryInfo
RftAddress
RiaMemoryCleanup
RiaPreferences
RiaPreferencesGeoMech
RiaPreferencesOsdu
RiaPreferencesSummary
RiaPreferencesSumo
RiaPreferencesSystem
RiaRegressionTest
RicCaseAndFileExportSettingsUi
RicCellRangeUi
RicCreateDepthAdjustedLasFilesUi
RicCreateEnsembleSurfaceUi
RicCreateEnsembleWellLogUi
RicCreateMultipleWellPathLateralsUi
RicCreateRftPlotsFeatureUi
RicDeleteItemExecData
RicExportCarfinUi
RicExportCompletionDataSettingsUi
RicExportContourMapToTextUi
RicExportEclipseInputGridUi
RicExportLgrUi
RicExportToLasFileObj
RicExportToLasFileResampleUi
RicExportWellPathsUi
RicGridCalculator
RicHoloLensCreateSessionUi
RicHoloLensExportToFolderUi
RicHoloLensServerSettings
RicLinkVisibleViewsFeatureUi
RicPasteAsciiDataToSummaryPlotFeatureUi
RicSaturationPressureUi
RicSaveEclipseInputVisibleCellsUi
RicSaveMultiPlotTemplateFeatureSettings
RicSelectCaseOrEnsembleUi
RicSelectPlotTemplateUi
RicSelectSummaryPlotUI
RicSelectViewUI
RicSelectWellPathUi
RicSummaryAddressSelection
RicSummaryCurveCalculator
RicSummaryCurveCreator
RicWellPathsUnitSystemSettingsUi
RifReaderSettings
Rim3dWellLogCurveCollection
Rim3dWellLogExtractionCurve
Rim3dWellLogFileCurve
Rim3dWellLogRftCurve
RimAnnotationCollection
RimAnnotationCollectionBase
RimAnnotationGroupCollection
RimAnnotationLineAppearance
RimAnnotationTextAppearance
RimBinaryExportSettings
RimCameraPosition
RimCaseCollection
RimCellFilterCollection
RimCloudDataSourceCollection
RimCommandRouter
RimContourMapView
RimCsvUserData
RimCustomObjectiveFunction
RimCustomObjectiveFunctionCollection
RimCustomObjectiveFunctionWeight
RimCustomVfpPlot
RimDeltaSummaryCase
RimDeltaSummaryEnsemble
RimDepthSurface
RimDerivedEnsembleCase
RimDerivedEnsembleCaseCollection
RimDialogData
RimEclipseCaseEnsemble
RimEclipseContourMapProjection
RimEclipseResultAddressCollection
RimElementVectorResult
RimEllipseFractureTemplate
RimEmCase
RimEnsembleCurveFilter
RimEnsembleCurveFilterCollection
RimEnsembleCurveSet
RimEnsembleCurveSetCollection
RimEnsembleStatistics
RimEnsembleWellLogCurveSet
RimEquilibriumAxisAnnotation
RimExportInputSettings
RimFaultResultSlot
RimFieldQuickAccess
RimFieldQuickAccessGroup
RimFieldReference
RimFieldSelection
RimFractureExportSettings
RimGeoMechContourMapProjection
RimGeoMechContourMapView
RimGeoMechFaultReactivationResult
RimGridCalculation
RimGridCalculationCollection
RimGridCalculationVariable
RimGridCrossPlot
RimGridCrossPlotCollection
RimGridCrossPlotCurveSetNameConfig
RimGridCrossPlotNameConfig
RimIdenticalGridCaseGroup
RimInputProperty
RimInputPropertyCollection
RimInputReservoir
RimIntersectionResultsDefinitionCollection
RimMeasurement
RimMswCompletionParameters
RimMudWeightWindowParameters
RimMultiPlotCollection
RimMultipleEclipseResults
RimMultipleLocations
RimMultipleValveLocations
RimNonDarcyPerforationParameters
RimObjectiveFunction
RimObservedEclipseUserData
RimPlotAxisAnnotation
RimPlotCellFilterCollection
RimPlotCellPropertyFilter
RimPlotRectAnnotation
RimPolygon
RimPolygonAppearance
RimPolygonCollection
RimPolygonFileFile
RimPolygonInView
RimPolygonInViewCollection
RimPolylineAppearance
RimProcess
RimQuickAccessCollection
RimReachCircleAnnotation
RimReachCircleAnnotationInView
RimResultSelectionUi
RimRftCase
RimRftTopologyCurve
RimRoffCase
RimSEGYConvertOptions
RimSaturationPressurePlot
RimSaturationPressurePlotCollection
RimSeismicView
RimStatisticalCalculation
RimStatisticalCollection
RimStatisticalContourMap
RimStimPlanColors
RimStimPlanFractureTemplate
RimStimPlanLegendConfig
RimSummaryAddressCollection
RimSummaryAddressSelector
RimSummaryCalculation
RimSummaryCalculationCollection
RimSummaryCalculationVariable
RimSummaryCaseSumo
RimSummaryCurveCollection
RimSummaryCurveCollectionModifier
RimSummaryEnsembleSumo
RimSummaryMultiPlotCollection
RimSummaryPlotManager
RimSummarySumoDataSource
RimSummaryTable
RimSummaryTableCollection
RimSurfaceIntersectionBand
RimSurfaceIntersectionCollection
RimSurfaceIntersectionCurve
RimTensorResults
RimTernaryLegendConfig
RimTextAnnotation
RimTextAnnotationInView
RimThermalFractureTemplate
RimTimeAxisAnnotation
RimTimeStepFilter
RimUserDefinedIndexFilter
RimVfpDataCollection
RimVfpPlotCollection
RimVfpTable
RimVfpTableData
RimViewLinkerCollection
RimViewNameConfig
RimVirtualPerforationResults
RimWellAllocationOverTimePlot
RimWellConnectivityTable
RimWellIASettings
RimWellIASettingsCollection
RimWellLogExtractionCurve
RimWellLogExtractionCurveNameConfig
RimWellLogFileCurveNameConfig
RimWellLogLasFileCurveNameConfig
RimWellLogPlotNameConfig
RimWellLogRftCurveNameConfig
RimWellLogWbsCurve
RimWellPathTieIn
RimWellTargetCandidatesGenerator
RiuCreateMultipleFractionsUi
RiuMultipleFractionsOptions
ScriptLocation
SeismicCollection
SeismicData
SeismicDataCollection
SeismicDifferenceData
SeismicSection
SeismicSectionCollection
SeismicView
SeismicViewCollection
SimWellFracture
SimWellFractureCollection
StimPlanFractureTemplate
StimPlanModel
StimPlanModelCollection
StimPlanModelCurve
StimPlanModelPlot
StimPlanModelPlotCollection
StimPlanModelTemplate
StimPlanModelTemplateCollection
StreamlineInViewCollection
StringParameter
SummaryAddress
SummaryCaseCollection
SummaryCaseSubCollection
SummaryCrossPlot
SummaryCrossPlotCollection
SummaryCurve
SummaryCurveAutoName
SummaryObservedDataFile
SummaryPlot
SummaryPlotCollection
SummaryTimeAxisProperties
SummaryYAxisProperties
Surface
SurfaceCollection
SurfaceInView
SurfaceInViewCollection
SurfaceResultDefinition
ThermalFractureTemplate
TofAccumulatedPhaseFractionsPlot
TotalWellAllocationPlot
TriangleGeometry
UserDefinedFilter
UserDefinedPolylinesAnnotation
ValveTemplate
ValveTemplateCollection
View3dOverlayInfoConfig
ViewController
ViewLinker
WbsParameters
Well
WellAllocationPlot
WellAllocationPlotLegend
WellBoreStabilityPlot
WellDistributionPlot
WellDistributionPlotCollection
WellFlowRateCurve
WellLogCalculatedCurve
WellLogChannel
WellLogCsvFile
WellLogExtractionCurve
WellLogFile
WellLogFileChannel
WellLogFileCurve
WellLogLasFile
WellLogLasFileCurve
WellLogPlot
WellLogPlotCollection
WellLogPlotTrack
WellLogRftCurve
WellMeasurement
WellMeasurementCurve
WellMeasurementFilePath
WellMeasurementInView
WellMeasurements
WellMeasurementsInView
WellPath
WellPathAicdParameters
WellPathAttribute
WellPathAttributes
WellPathBase
WellPathCompletionSettings
WellPathCompletions
WellPathFracture
WellPathFractureCollection
WellPathGeometry
WellPathGeometryDef
WellPathGroup
WellPathTarget
WellPathValve
WellPaths
WellPltPlot
WellPltPlotCollection
WellRftEnsembleCurveSet
WellRftPlot
WellRftPlotCollection
Wells
cafNamedTreeNode
cafObjectReferenceTreeNode
cafTreeNode
cloneView
closeProject
computeCaseGroupStatistics
createGridCaseGroup
createGridCaseGroupResult
createLgrForCompletions
createMultiPlot
createMultipleFractures
createSaturationPressurePlots
createStatisticsCase
createStatisticsCaseResult
createView
createViewResult
createWbsPlotResult
createWellBoreStabilityPlot
exportContourMapToText
exportFlowCharacteristics
exportLgrForCompletions
exportMsw
exportMultiCaseSnapshots
exportProperty
exportPropertyInViews
exportSimWellFractureCompletions
exportSnapshots
exportVisibleCells
exportWellLogPlotData
exportWellLogPlotDataResult
exportWellPathCompletions
exportWellPaths
importFormationNames
importWellLogFiles
importWellLogFilesResult
importWellPaths
importWellPathsResult
loadCase
loadCaseResult
openProject
replaceCase
replaceMultipleCases
replaceSourceCases
runOctaveScript
saveProject
saveProjectAs
scaleFractureTemplate
setExportFolder
setFractureContainment
setMainWindowSize
setPlotWindowSize
setStartDir
setTimeStep
stackCurves
unstackCurves

View File

@ -34,6 +34,7 @@
#include "Polygons/RimPolygon.h"
#include "Polygons/RimPolygonCollection.h"
#include "Polygons/RimPolygonInView.h"
#include "cafCmdFeatureMenuBuilder.h"
#include "cafPdmFieldReorderCapability.h"
@ -619,7 +620,13 @@ std::vector<RimPolygonInView*> RimCellFilterCollection::enabledCellFilterPolygon
if ( auto polygonFilter = dynamic_cast<RimPolygonFilter*>( filter.p() ) )
{
polyInView.push_back( polygonFilter->polygonInView() );
if ( !polygonFilter->isSelected() ) continue;
auto piv = polygonFilter->polygonInView();
if ( piv && piv->showLines() )
{
polyInView.push_back( piv );
}
}
}

View File

@ -43,6 +43,7 @@
#include "WellPathCommands/RicPolylineTargetsPickEventHandler.h"
#include "cafPdmUiPushButtonEditor.h"
#include "cafSelectionManager.h"
#include <limits>
@ -92,6 +93,7 @@ RimPolygonFilter::RimPolygonFilter()
: RimCellFilter( RimCellFilter::INDEX )
, m_pickTargetsEventHandler( new RicPolylineTargetsPickEventHandler( this ) )
, m_intervalTool( true )
, m_isSelected( false )
{
CAF_PDM_InitObject( "Polyline Filter", ":/CellFilter_Polygon.png" );
@ -174,6 +176,14 @@ bool RimPolygonFilter::isFilterEnabled() const
return m_isActive() && m_enableFiltering;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimPolygonFilter::isSelected() const
{
return m_isSelected;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -1003,6 +1013,21 @@ void RimPolygonFilter::onObjectChanged( const caf::SignalEmitter* emitter )
updateIconState();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimPolygonFilter::onSelectionManagerSelectionChanged( const std::set<int>& changedSelectionLevels )
{
bool selectedState = m_isSelected;
auto selectedFilter = dynamic_cast<RimPolygonFilter*>( caf::SelectionManager::instance()->selectedItem() );
m_isSelected = ( selectedFilter == this );
if ( selectedState != m_isSelected )
{
filterChanged.send();
}
}
//--------------------------------------------------------------------------------------------------
/// Find which K layer we hit, in any of the grids, for any of the selected points
//--------------------------------------------------------------------------------------------------

View File

@ -27,6 +27,7 @@
#include "cafPdmChildField.h"
#include "cafPdmObject.h"
#include "cafPdmPtrField.h"
#include "cafSelectionChangedReceiver.h"
class RimPolygon;
class RimPolylineTarget;
@ -40,7 +41,7 @@ class RicPolylineTargetsPickEventHandler;
///
///
//==================================================================================================
class RimPolygonFilter : public RimCellFilter, public RimPolylinePickerInterface
class RimPolygonFilter : public RimCellFilter, public RimPolylinePickerInterface, public caf::SelectionChangedReceiver
{
CAF_PDM_HEADER_INIT;
@ -77,8 +78,10 @@ public:
void setPolygon( RimPolygon* polygon );
bool isFilterEnabled() const override;
bool isSelected() const;
void enablePicking( bool enable );
bool pickingEnabled() const override;
void updateCellIndexFilter( cvf::UByteArray* includeVisibility, cvf::UByteArray* excludeVisibility, int gridIndex ) override;
void onGridChanged() override;
@ -96,6 +99,8 @@ protected:
QString fullName() const override;
void onSelectionManagerSelectionChanged( const std::set<int>& changedSelectionLevels ) override;
private:
void updateCells();
void updateCellsForEclipse( const std::vector<cvf::Vec3d>& points, RimEclipseCase* eCase );
@ -124,7 +129,6 @@ private:
void updateEditorsAndVisualization() override;
void updateVisualization() override;
std::vector<RimPolylineTarget*> activeTargets() const override;
bool pickingEnabled() const override;
caf::PickEventHandler* pickEventHandler() const override;
caf::AppEnum<GeometricalShape> geometricalShape() const;
@ -144,6 +148,8 @@ private:
RimCellFilterIntervalTool m_intervalTool;
bool m_isSelected;
// Local polygon and polygon editor
caf::PdmPtrField<RimPolygon*> m_cellFilterPolygon;
caf::PdmChildField<RimPolygon*> m_internalPolygon;

View File

@ -159,6 +159,14 @@ void RimPolygon::setColor( const cvf::Color3f& color )
m_appearance->setLineColor( color );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimPolygon::showLines() const
{
return m_appearance->showLines();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -186,7 +194,6 @@ void RimPolygon::fieldChangedByUi( const caf::PdmFieldHandle* changedField, cons
if ( changedField == &m_pointsInDomainCoords )
{
coordinatesChanged.send();
objectChanged.send();
}
if ( changedField == &m_editPolygonButton )
@ -195,9 +202,9 @@ void RimPolygon::fieldChangedByUi( const caf::PdmFieldHandle* changedField, cons
RimPolygonTools::activate3dEditOfPolygonInView( this, activeView );
m_editPolygonButton = false;
return;
}
objectChanged.send();
}
//--------------------------------------------------------------------------------------------------

View File

@ -58,6 +58,8 @@ public:
cvf::Color3f color() const;
void setColor( const cvf::Color3f& color );
bool showLines() const;
cvf::ref<RigPolyLinesData> polyLinesData() const override;
void uiOrderingForLocalPolygon( QString uiConfigName, caf::PdmUiOrdering& uiOrdering );

View File

@ -124,6 +124,14 @@ bool RimPolygonAppearance::isClosed() const
return m_isClosed();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimPolygonAppearance::showLines() const
{
return m_showLines();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -40,6 +40,8 @@ public:
cvf::Color3f lineColor() const;
void setLineColor( const cvf::Color3f& color );
bool showLines() const;
public:
RimPolygonAppearance();

View File

@ -39,7 +39,10 @@ RimPolygonFile::RimPolygonFile()
{
CAF_PDM_InitObject( "PolygonFile", ":/Folder.png" );
CAF_PDM_InitFieldNoDefault( &m_fileName, "StimPlanFileName", "File Name" );
CAF_PDM_InitFieldNoDefault( &m_fileName, "FileName", "File Name" );
m_fileName.registerKeywordAlias( "StimPlanFileName" );
m_fileName.uiCapability()->setUiReadOnly( true );
CAF_PDM_InitFieldNoDefault( &m_polygons, "Polygons", "Polygons" );
setDeletable( true );
@ -62,12 +65,18 @@ void RimPolygonFile::loadData()
{
auto polygonsFromFile = importDataFromFile( m_fileName().path() );
if ( polygonsFromFile.size() == 1 )
{
polygonsFromFile[0]->setName( name() );
}
if ( m_polygons.size() == polygonsFromFile.size() )
{
for ( size_t i = 0; i < m_polygons.size(); i++ )
{
auto projectPoly = m_polygons()[i];
auto filePoly = polygonsFromFile[i];
projectPoly->setDeletable( false );
auto filePoly = polygonsFromFile[i];
projectPoly->setPointsInDomainCoords( filePoly->pointsInDomainCoords() );
projectPoly->coordinatesChanged.send(); // updates editors
projectPoly->objectChanged.send(); // updates filters
@ -157,14 +166,18 @@ std::vector<RimPolygon*> RimPolygonFile::importDataFromFile( const QString& file
std::vector<RimPolygon*> polygons;
QFileInfo fi( fileName );
const QString basename = fi.baseName();
for ( const auto& [polygonId, filePolygon] : filePolygons )
{
auto polygon = new RimPolygon();
polygon->disableStorageOfPolygonPoints();
polygon->setReadOnly( true );
polygon->setDeletable( false );
int id = ( polygonId != -1 ) ? polygonId : static_cast<int>( polygons.size() + 1 );
polygon->setName( QString( "Polygon %1" ).arg( id ) );
polygon->setName( QString( "%1 (%2)" ).arg( basename ).arg( id ) );
polygon->setPointsInDomainCoords( filePolygon );
polygons.push_back( polygon );
}
@ -183,7 +196,7 @@ std::vector<RimPolygon*> RimPolygonFile::importDataFromFile( const QString& file
void RimPolygonFile::updateName()
{
QFileInfo fileInfo( m_fileName().path() );
setName( fileInfo.fileName() );
setName( fileInfo.baseName() );
}
//--------------------------------------------------------------------------------------------------

View File

@ -165,6 +165,18 @@ void RimPolygonInView::updateVisualization()
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimPolygonInView::showLines() const
{
if ( auto poly = polygon() )
{
return poly->showLines() && isChecked();
}
return false;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -389,6 +401,11 @@ void RimPolygonInView::appendMenuItems( caf::CmdFeatureMenuBuilder& menuBuilder
//--------------------------------------------------------------------------------------------------
void RimPolygonInView::onObjectChanged( const caf::SignalEmitter* emitter )
{
// make sure name is in sync
if ( dynamic_cast<const RimPolygon*>( emitter ) )
{
setName( m_polygon->name() );
}
updateVisualization();
}

View File

@ -67,6 +67,8 @@ public:
cvf::ref<RigPolyLinesData> polyLinesData() const override;
bool showLines() const;
void onChildrenUpdated( caf::PdmChildArrayFieldHandle* childArray, std::vector<caf::PdmObjectHandle*>& updatedObjects ) override;
void defineObjectEditorAttribute( QString uiConfigName, caf::PdmUiEditorAttribute* attribute ) override;

View File

@ -32,7 +32,7 @@ CAF_PDM_SOURCE_INIT( RimPolygonInViewCollection, "RimPolygonInViewCollection" );
//--------------------------------------------------------------------------------------------------
RimPolygonInViewCollection::RimPolygonInViewCollection()
{
CAF_PDM_InitObject( "Polygons", ":/PolylinesFromFile16x16.png" );
CAF_PDM_InitObject( "Polygons", ":/Folder.png" );
CAF_PDM_InitFieldNoDefault( &m_polygonsInView, "Polygons", "Polygons" );
CAF_PDM_InitFieldNoDefault( &m_collectionsInView, "Collections", "Collections" );
@ -172,6 +172,7 @@ void RimPolygonInViewCollection::syncCollectionsWithView()
for ( auto polygonFile : polygonCollection->polygonFiles() )
{
if ( polygonFile->polygons().empty() ) continue;
if ( polygonFile->polygons().size() == 1 ) continue;
auto viewPolygonFile = getCollectionInViewForPolygonFile( polygonFile );
if ( viewPolygonFile == nullptr )
@ -217,6 +218,13 @@ void RimPolygonInViewCollection::syncPolygonsWithView()
{
auto polygonCollection = RimTools::polygonCollection();
polygons = polygonCollection->userDefinedPolygons();
for ( auto polyfile : polygonCollection->polygonFiles() )
{
if ( polyfile->polygons().size() == 1 )
{
polygons.push_back( polyfile->polygons()[0] );
}
}
}
std::vector<RimPolygonInView*> newPolygonsInView;

View File

@ -101,6 +101,7 @@ RimGridView::RimGridView()
CAF_PDM_InitFieldNoDefault( &m_polygonInViewCollection, "PolygonInViewCollection", "Polygon Collection Field" );
m_polygonInViewCollection = new RimPolygonInViewCollection();
m_polygonInViewCollection->uiCapability()->setUiIcon( caf::IconProvider( ":/PolylinesFromFile16x16.png" ) );
CAF_PDM_InitFieldNoDefault( &m_cellFilterCollection, "RangeFilters", "Cell Filter Collection Field" );
m_cellFilterCollection = new RimCellFilterCollection();

View File

@ -558,27 +558,6 @@ std::pair<int, int> RiuMultiPlotPage::rowAndColumnCount( int plotWidgetCount ) c
return std::make_pair( rowCount, columnCount );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuMultiPlotPage::onSelectionManagerSelectionChanged( const std::set<int>& changedSelectionLevels )
{
if ( !m_plotDefinition ) return;
for ( RiuPlotWidget* plotWidget : m_plotWidgets )
{
if ( !plotWidget ) continue;
RimPlot* plot = plotWidget->plotDefinition();
if ( !plot ) continue;
bool isSelected = false;
for ( int changedLevel : changedSelectionLevels )
{
isSelected = isSelected || caf::SelectionManager::instance()->isSelected( plot, changedLevel );
}
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -23,7 +23,6 @@
#include "RiaDefines.h"
#include "cafPdmPointer.h"
#include "cafSelectionChangedReceiver.h"
#include "qwt_axis_id.h"
@ -55,7 +54,7 @@ class QwtPlot;
// RiuMultiPlotPage
//
//==================================================================================================
class RiuMultiPlotPage : public QWidget, public caf::SelectionChangedReceiver, public RiuInterfaceToViewWindow
class RiuMultiPlotPage : public QWidget, public RiuInterfaceToViewWindow
{
Q_OBJECT
@ -117,8 +116,6 @@ protected:
void alignAxes();
void alignAxis( QwtAxisId axis, int row, std::function<bool( int, int, int )> positionMatcher );
void onSelectionManagerSelectionChanged( const std::set<int>& changedSelectionLevels ) override;
virtual bool showYAxis( int row, int column ) const;
virtual void reinsertPlotWidgets();

View File

@ -1046,11 +1046,25 @@ add_subdirectory(ApplicationExeCode)
option(RESINSIGHT_USE_EXTERNAL_OCTAVE_PLUGINS "Use external Octave plugins" OFF)
if(RESINSIGHT_USE_EXTERNAL_OCTAVE_PLUGINS)
FetchContent_Declare(
external-octave_plugins
URL https://github.com/CeetronSolutions/resinsight-dependencies/releases/latest/download/OctavePlugins-0.1.1-Linux.tar.gz
if(MSVC)
set(OCTAVE_PLUGINS_URL
"https://github.com/CeetronSolutions/resinsight-dependencies/releases/latest/download/OctavePlugins-0.1.1-win64.zip"
)
else()
set(OCTAVE_PLUGINS_URL
"https://github.com/CeetronSolutions/resinsight-dependencies/releases/latest/download/OctavePlugins-0.1.1-Linux.tar.gz"
)
endif(MSVC)
message(
STATUS "Starting to fetch OctavePlugin binaries from ${OCTAVE_PLUGINS_URL}"
)
FetchContent_Declare(external-octave_plugins URL ${OCTAVE_PLUGINS_URL})
message(STATUS "Completed fetching of OctavePlugin")
FetchContent_MakeAvailable(external-octave_plugins)
file(GLOB FILE_AND_SYMLINKS ${external-octave_plugins_SOURCE_DIR}/*.oct)
@ -1063,6 +1077,10 @@ else(RESINSIGHT_USE_EXTERNAL_OCTAVE_PLUGINS)
if(OCTAVE_MKOCTFILE)
message(STATUS "Adding OctavePlugin library")
# The build of Octave Plugins is currently not working when Ninja is used as
# build tool A separate build job is configured to build the Octave Plugins,
# and the build is cached at GitHub
#
# add_subdirectory(Octave/OctavePlugin)
else(OCTAVE_MKOCTFILE)
message(

View File

@ -5,7 +5,7 @@ set(RESINSIGHT_PATCH_VERSION 0)
# Opional text with no restrictions
#set(RESINSIGHT_VERSION_TEXT "-dev")
set(RESINSIGHT_VERSION_TEXT "-RC_2")
#set(RESINSIGHT_VERSION_TEXT "-RC_2")
# Optional text
# Must be unique and increasing within one combination of major/minor/patch version