diff --git a/ApplicationCode/ReservoirDataModel/RigWellLogExtractor.cpp b/ApplicationCode/ReservoirDataModel/RigWellLogExtractor.cpp index 1f0db352e9..404e5f0666 100644 --- a/ApplicationCode/ReservoirDataModel/RigWellLogExtractor.cpp +++ b/ApplicationCode/ReservoirDataModel/RigWellLogExtractor.cpp @@ -37,6 +37,32 @@ RigWellLogExtractor::~RigWellLogExtractor() { } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +std::vector RigWellLogExtractor::intersectionInfo() const +{ + std::vector infoVector; + + for (size_t i = 0; i < m_intersectedCellsGlobIdx.size() - 1; i=i+2) + { + CVF_ASSERT(m_intersectedCellsGlobIdx[i] == m_intersectedCellsGlobIdx[i + 1]); + + CellIntersectionInfo cellInfo; + + cellInfo.globCellIndex = m_intersectedCellsGlobIdx[i]; + cellInfo.startPoint = m_intersections[i]; + cellInfo.endPoint = m_intersections[i+1]; + cellInfo.intersectedCellFaceIn = m_intersectedCellFaces[i]; + cellInfo.intersectedCellFaceOut = m_intersectedCellFaces[i+1]; + + infoVector.push_back(cellInfo); + } + + return infoVector; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ReservoirDataModel/RigWellLogExtractor.h b/ApplicationCode/ReservoirDataModel/RigWellLogExtractor.h index c369611c72..b5d0bd7a76 100644 --- a/ApplicationCode/ReservoirDataModel/RigWellLogExtractor.h +++ b/ApplicationCode/ReservoirDataModel/RigWellLogExtractor.h @@ -32,6 +32,18 @@ #include "RigWellLogExtractionTools.h" #include "RigHexIntersectionTools.h" +//================================================================================================== +/// +//================================================================================================== +struct CellIntersectionInfo +{ + size_t globCellIndex; + cvf::Vec3d startPoint; + cvf::Vec3d endPoint; + cvf::StructGridInterface::FaceType intersectedCellFaceIn; + cvf::StructGridInterface::FaceType intersectedCellFaceOut; +}; + class RigWellPath; //================================================================================================== @@ -48,6 +60,8 @@ public: const RigWellPath* wellPathData() { return m_wellPath.p();} + std::vector intersectionInfo() const; + protected: static void insertIntersectionsInMap(const std::vector &intersections, cvf::Vec3d p1,