mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Move rkbDiff calculation code to RigWellPath so it can be shared instead of copied.
This commit is contained in:
@@ -336,25 +336,7 @@ double Rim3dWellLogExtractionCurve::rkbDiff() const
|
|||||||
|
|
||||||
if (wellPath && wellPath->wellPathGeometry())
|
if (wellPath && wellPath->wellPathGeometry())
|
||||||
{
|
{
|
||||||
RigWellPath* geo = wellPath->wellPathGeometry();
|
return wellPath->wellPathGeometry()->rkbDiff();
|
||||||
|
|
||||||
if (geo->hasDatumElevation())
|
|
||||||
{
|
|
||||||
return geo->datumElevation();
|
|
||||||
}
|
|
||||||
|
|
||||||
// If measured depth is zero, use the z-value of the well path points
|
|
||||||
if (geo->m_wellPathPoints.size() > 0 && geo->m_measuredDepths.size() > 0)
|
|
||||||
{
|
|
||||||
double epsilon = 1e-3;
|
|
||||||
|
|
||||||
if (cvf::Math::abs(geo->m_measuredDepths[0]) < epsilon)
|
|
||||||
{
|
|
||||||
double diff = geo->m_measuredDepths[0] - (-geo->wellPathPoints()[0].z());
|
|
||||||
|
|
||||||
return diff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return HUGE_VAL;
|
return HUGE_VAL;
|
||||||
|
|||||||
@@ -858,27 +858,8 @@ double RimWellLogExtractionCurve::rkbDiff() const
|
|||||||
{
|
{
|
||||||
if (m_wellPath && m_wellPath->wellPathGeometry())
|
if (m_wellPath && m_wellPath->wellPathGeometry())
|
||||||
{
|
{
|
||||||
RigWellPath* geo = m_wellPath->wellPathGeometry();
|
return m_wellPath->wellPathGeometry()->rkbDiff();
|
||||||
|
|
||||||
if (geo->hasDatumElevation())
|
|
||||||
{
|
|
||||||
return geo->datumElevation();
|
|
||||||
}
|
|
||||||
|
|
||||||
// If measured depth is zero, use the z-value of the well path points
|
|
||||||
if (geo->m_wellPathPoints.size() > 0 && geo->m_measuredDepths.size() > 0)
|
|
||||||
{
|
|
||||||
double epsilon = 1e-3;
|
|
||||||
|
|
||||||
if (cvf::Math::abs(geo->m_measuredDepths[0]) < epsilon)
|
|
||||||
{
|
|
||||||
double diff = geo->m_measuredDepths[0] - (-geo->m_wellPathPoints[0].z());
|
|
||||||
|
|
||||||
return diff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return HUGE_VAL;
|
return HUGE_VAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -56,6 +56,32 @@ double RigWellPath::datumElevation() const
|
|||||||
return m_datumElevation;
|
return m_datumElevation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
double RigWellPath::rkbDiff() const
|
||||||
|
{
|
||||||
|
if (hasDatumElevation())
|
||||||
|
{
|
||||||
|
return datumElevation();
|
||||||
|
}
|
||||||
|
|
||||||
|
// If measured depth is zero, use the z-value of the well path points
|
||||||
|
if (m_wellPathPoints.size() > 0 && m_measuredDepths.size() > 0)
|
||||||
|
{
|
||||||
|
double epsilon = 1e-3;
|
||||||
|
|
||||||
|
if (cvf::Math::abs(m_measuredDepths[0]) < epsilon)
|
||||||
|
{
|
||||||
|
double diff = m_measuredDepths[0] - (-wellPathPoints()[0].z());
|
||||||
|
|
||||||
|
return diff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return HUGE_VAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ public:
|
|||||||
void setDatumElevation(double value);
|
void setDatumElevation(double value);
|
||||||
bool hasDatumElevation() const;
|
bool hasDatumElevation() const;
|
||||||
double datumElevation() const;
|
double datumElevation() const;
|
||||||
|
double rkbDiff() const;
|
||||||
cvf::Vec3d interpolatedVectorAlongWellPath(const std::vector<cvf::Vec3d>& vectors,
|
cvf::Vec3d interpolatedVectorAlongWellPath(const std::vector<cvf::Vec3d>& vectors,
|
||||||
double measuredDepth,
|
double measuredDepth,
|
||||||
double * horizontalLengthAlongWellToStartClipPoint = nullptr) const;
|
double * horizontalLengthAlongWellToStartClipPoint = nullptr) const;
|
||||||
|
|||||||
Reference in New Issue
Block a user