#1112 Made conveninece methods to calculate well pipe centerline, and added possibility to do it pr timestep.

This commit is contained in:
Jacob Støren
2017-01-20 17:20:09 +01:00
parent cebe5428be
commit 0d7da9788a
6 changed files with 83 additions and 11 deletions

View File

@@ -28,10 +28,17 @@ class RigEclipseCaseData;
class RigSimulationWellCenterLineCalculator
{
public:
static void calculateWellPipeCenterline(RimEclipseWell* m_rimWell,
std::vector< std::vector <cvf::Vec3d> >& pipeBranchesCLCoords,
std::vector< std::vector <RigWellResultPoint> >& pipeBranchesCellIds) ;
static void calculateWellPipeStaticCenterline(RimEclipseWell* rimWell,
std::vector< std::vector <cvf::Vec3d> >& pipeBranchesCLCoords,
std::vector< std::vector <RigWellResultPoint> >& pipeBranchesCellIds) ;
static void calculateWellPipeDynamicCenterline(RimEclipseWell* rimWell,
size_t timeStepIndex,
std::vector< std::vector <cvf::Vec3d> >& pipeBranchesCLCoords,
std::vector< std::vector <RigWellResultPoint> >& pipeBranchesCellIds) ;
private:
static void calculateWellPipeCenterlineFromWellFrame(const RigWellResultFrame& wellFrame,
const RigEclipseCaseData* eclipseCaseData,
bool isMultiSegmentWell,
@@ -40,8 +47,6 @@ public:
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 ) ;