mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Sync seismic section with well path changes. (#10090)
* Sync seismic section with well path changes. * Make sure we pick seismic textures/coordinates that fits the z steps of the seismic data.
This commit is contained in:
@@ -426,6 +426,7 @@ void RimSeismicSection::deleteTarget( RimPolylineTarget* targetToDelete )
|
||||
void RimSeismicSection::updateVisualization()
|
||||
{
|
||||
if ( texturedSection().notNull() ) texturedSection()->setWhatToUpdate( RigTexturedSection::WhatToUpdateEnum::UPDATE_GEOMETRY );
|
||||
m_wellPathPoints.clear();
|
||||
scheduleViewUpdate();
|
||||
}
|
||||
|
||||
@@ -953,22 +954,44 @@ void RimSeismicSection::setDepthFilter( RimIntersectionFilterEnum filterType, in
|
||||
m_zLowerThreshold = lowerValue;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RimSeismicSection::alignZValue( int z ) const
|
||||
{
|
||||
if ( m_seismicData == nullptr ) return z;
|
||||
|
||||
const int zMin = (int)m_seismicData->zMin();
|
||||
const int zStep = (int)m_seismicData->zStep();
|
||||
|
||||
int alignedZ = ( ( z - zMin ) / zStep );
|
||||
alignedZ *= zStep;
|
||||
alignedZ += zMin;
|
||||
|
||||
return alignedZ;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RimSeismicSection::upperFilterZ( int upperGridLimit ) const
|
||||
{
|
||||
int retVal;
|
||||
switch ( zFilterType() )
|
||||
{
|
||||
case RimIntersectionFilterEnum::INTERSECT_FILTER_BELOW:
|
||||
case RimIntersectionFilterEnum::INTERSECT_FILTER_BETWEEN:
|
||||
return m_zUpperThreshold;
|
||||
retVal = m_zUpperThreshold;
|
||||
break;
|
||||
|
||||
case RimIntersectionFilterEnum::INTERSECT_FILTER_ABOVE:
|
||||
case RimIntersectionFilterEnum::INTERSECT_FILTER_NONE:
|
||||
default:
|
||||
return upperGridLimit;
|
||||
retVal = upperGridLimit;
|
||||
break;
|
||||
}
|
||||
|
||||
return alignZValue( retVal );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -976,17 +999,22 @@ int RimSeismicSection::upperFilterZ( int upperGridLimit ) const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RimSeismicSection::lowerFilterZ( int lowerGridLimit ) const
|
||||
{
|
||||
int retVal;
|
||||
switch ( zFilterType() )
|
||||
{
|
||||
case RimIntersectionFilterEnum::INTERSECT_FILTER_ABOVE:
|
||||
case RimIntersectionFilterEnum::INTERSECT_FILTER_BETWEEN:
|
||||
return m_zLowerThreshold;
|
||||
retVal = m_zLowerThreshold;
|
||||
break;
|
||||
|
||||
case RimIntersectionFilterEnum::INTERSECT_FILTER_BELOW:
|
||||
case RimIntersectionFilterEnum::INTERSECT_FILTER_NONE:
|
||||
default:
|
||||
return lowerGridLimit;
|
||||
retVal = lowerGridLimit;
|
||||
break;
|
||||
}
|
||||
|
||||
return alignZValue( retVal );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -117,9 +117,10 @@ protected:
|
||||
private:
|
||||
void defineCustomContextMenu( const caf::PdmFieldHandle* fieldNeedingMenu, QMenu* menu, QWidget* fieldEditorWidget ) override;
|
||||
void defineEditorAttribute( const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute ) override;
|
||||
|
||||
void onLegendConfigChanged( const caf::SignalEmitter* emitter, RimLegendConfigChangeType changeType );
|
||||
|
||||
int alignZValue( int z ) const;
|
||||
|
||||
void initSliceRanges();
|
||||
|
||||
void scheduleViewUpdate();
|
||||
|
||||
Reference in New Issue
Block a user