#1112 Refactored well centerline calculation a bit

This commit is contained in:
Jacob Støren
2017-01-20 15:00:19 +01:00
parent 51d6d21d77
commit d7782c6ddf
2 changed files with 293 additions and 240 deletions

View File

@@ -23,6 +23,7 @@
#include <vector>
class RimEclipseWell;
class RigEclipseCaseData;
class RigSimulationWellCenterLineCalculator
{
@@ -30,7 +31,18 @@ public:
static void calculateWellPipeCenterline(RimEclipseWell* m_rimWell,
std::vector< std::vector <cvf::Vec3d> >& pipeBranchesCLCoords,
std::vector< std::vector <RigWellResultPoint> >& pipeBranchesCellIds) ;
static void calculateWellPipeCenterlineFromWellFrame(const RigWellResultFrame& wellFrame,
const RigEclipseCaseData* eclipseCaseData,
bool isMultiSegmentWell,
bool isAutoDetectBranches,
std::vector<std::vector<cvf::Vec3d>> & pipeBranchesCLCoords,
std::vector<std::vector<RigWellResultPoint>> & pipeBranchesCellIds);
private:
static bool hasAnyResultCells(const std::vector<RigWellResultBranch> &resBranches);
static bool hasAnyValidDataCells(const RigWellResultBranch& branch);
static void finishPipeCenterLine( std::vector< std::vector<cvf::Vec3d> > &pipeBranchesCLCoords, const cvf::Vec3d& lastCellCenter ) ;
};