#11706 Use connection depths when plotting connection data

The plotting of curve values for connections to a segment fails in some cases. The current implementation finds the segment a connection is attached to, and use the depth (both MD and TVD) information from this segment. This method is not working in all cases.

Use the reported location of connections attached to segments based on CONLENST and CONLENEN. When measured depth is requested, use these values. There might be gaps in the reported segment sequence.

Use CONDEPTH when TVD depth is requested.

Use CONBRNO to find the branch number, and then use lookup table branchIdsAndOneBasedBranchIndices to find the branch index. Use the branch index to filter the results for requested branch.

The number of values in CON* result values is different to result values for SEG* results.
This commit is contained in:
Magne Sjaastad
2024-09-17 11:28:50 +02:00
parent e006fe52c9
commit 48070f6539
10 changed files with 362 additions and 118 deletions

View File

@@ -19,6 +19,14 @@
#include "RiaRftDefines.h"
#include "cafAppEnum.h"
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RiaDefines::isSegmentResult( const QString& resultName )
{
return resultName.startsWith( "SEG" );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -51,6 +59,78 @@ QString RiaDefines::segmentNumberResultName()
return "SEGMENTNUMBER";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RiaDefines::isSegmentConnectionResult( const QString& resultName )
{
return resultName.startsWith( "CON" );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiaDefines::segmentConnectionTvdDepthResultName()
{
return "CONDEPTH";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::string RiaDefines::segmentConnectionEndDepthResultName()
{
return "CONLENEN";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::string RiaDefines::segmentConnectionStartDepthResultName()
{
return "CONLENST";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::string RiaDefines::segmentConnectionBranchNoResultName()
{
return "CONBRNO";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RiaDefines::segmentConnectionMeasuredDepthResultName()
{
return "SegmentConnectionMeasuredDepth";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::string RiaDefines::segmentConnectionIPos()
{
return "CONIPOS";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::string RiaDefines::segmentConnectionJPos()
{
return "CONJPOS";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::string RiaDefines::segmentConnectionKPos()
{
return "CONKPOS";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------