Improve MSW export including multi lateral wells

Based on branch https://github.com/OPM/ResInsight/tree/system-msw-refactor

- Move completion settings to property of well path
- Rename to RimFishbones
- Export implicit COMPSEGS for fishbones main bore
- Add valve for each branch
- Increase version number to be able to handle import of legacy project files
This commit is contained in:
Magne Sjaastad
2021-02-26 14:27:59 +01:00
parent 5415a8c42d
commit 8bab748fa6
104 changed files with 3250 additions and 3203 deletions

View File

@@ -20,7 +20,7 @@
#include "RigWellPath.h"
#include "RimFishbonesMultipleSubs.h"
#include "RimFishbones.h"
#include "RimWellPath.h"
#include "RivObjectSourceInfo.h"
@@ -37,7 +37,7 @@
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RivFishbonesSubsPartMgr::RivFishbonesSubsPartMgr( RimFishbonesMultipleSubs* subs )
RivFishbonesSubsPartMgr::RivFishbonesSubsPartMgr( RimFishbones* subs )
: m_rimFishbonesSubs( subs )
{
}
@@ -90,20 +90,16 @@ void RivFishbonesSubsPartMgr::buildParts( const caf::DisplayCoordTransform* disp
RivPipeGeometryGenerator geoGenerator;
for ( auto& sub : m_rimFishbonesSubs->installedLateralIndices() )
for ( const auto& [subIndex, lateralIndex] : m_rimFishbonesSubs->installedLateralIndices() )
{
for ( size_t lateralIndex : sub.lateralIndices )
{
std::vector<cvf::Vec3d> lateralDomainCoords =
m_rimFishbonesSubs->coordsForLateral( sub.subIndex, lateralIndex );
std::vector<cvf::Vec3d> lateralDomainCoords = m_rimFishbonesSubs->coordsForLateral( subIndex, lateralIndex );
std::vector<cvf::Vec3d> displayCoords = displayCoordTransform->transformToDisplayCoords( lateralDomainCoords );
std::vector<cvf::Vec3d> displayCoords = displayCoordTransform->transformToDisplayCoords( lateralDomainCoords );
geoGenerator.cylinderWithCenterLineParts( &m_parts,
displayCoords,
m_rimFishbonesSubs->fishbonesColor(),
wellPath->combinedScaleFactor() * characteristicCellSize * 0.5 );
}
geoGenerator.cylinderWithCenterLineParts( &m_parts,
displayCoords,
m_rimFishbonesSubs->fishbonesColor(),
wellPath->combinedScaleFactor() * characteristicCellSize * 0.5 );
}
cvf::ref<RivObjectSourceInfo> objectSourceInfo = new RivObjectSourceInfo( m_rimFishbonesSubs );