CompletionExport: Simplify findFishboneLateralsWellBoreParts and add unit tests

- Make findFishboneLateralsWellBoreParts public and return result by value
- Move WellBorePartForTransCalc to its own header RicWellBorePartForTransCalc.h
- Replace MSW tree traversal with direct RimFishbones lateral geometry iteration
- Add setSubsOrientationMode() to RimFishbones for deterministic test angles
- Add unit tests validating intersected cells and result values
This commit is contained in:
Magne Sjaastad
2026-03-23 10:29:58 +01:00
parent 6119f73b30
commit 20052771ad
6 changed files with 311 additions and 89 deletions
@@ -188,6 +188,14 @@ void RimFishbones::setSystemParameters( int lateralsPerSub, double lateralLength
m_icdCount = icdsPerSub;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimFishbones::setSubsOrientationMode( RimFishbonesDefines::LateralsOrientationType orientationType )
{
m_subsOrientationMode = orientationType;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -62,6 +62,7 @@ public:
void setValveLocations( const std::vector<double>& measuredDepths );
void setSystemParameters( int lateralsPerSub, double lateralLength, double holeDiameter, double buildAngle, int icdsPerSub );
void setSubsOrientationMode( RimFishbonesDefines::LateralsOrientationType orientationType );
double measuredDepth( size_t subIndex ) const;
double rotationAngle( size_t subIndex ) const;