#2552 Embed pipe visualization of Simulation Wells in intersection views

This commit is contained in:
Jacob Støren
2018-03-13 16:16:41 +01:00
parent e52c88ff77
commit b755ddc11d
14 changed files with 165 additions and 106 deletions

View File

@@ -61,13 +61,13 @@ RivIntersectionGeometryGenerator::RivIntersectionGeometryGenerator( RimIntersect
const cvf::Vec3d& extrusionDirection,
const RivIntersectionHexGridInterface* grid,
bool isFlattened,
double horizontalLengthAlongWellToPolylineStart)
const cvf::Vec3d& flattenedPolylineStartPoint)
: m_crossSection(crossSection),
m_polyLines(polylines),
m_extrusionDirection(extrusionDirection),
m_hexGrid(grid),
m_isFlattened(isFlattened),
m_horizontalLengthAlongWellToPolylineStart(horizontalLengthAlongWellToPolylineStart)
m_flattenedPolylineStartPoint(flattenedPolylineStartPoint)
{
m_triangleVxes = new cvf::Vec3fArray;
m_cellBorderLineVxes = new cvf::Vec3fArray;
@@ -91,7 +91,7 @@ void RivIntersectionGeometryGenerator::calculateSegementTransformPrLinePoint()
{
if ( !(m_polyLines.size() && m_polyLines.back().size()) ) return;
cvf::Vec3d startOffset ={ m_horizontalLengthAlongWellToPolylineStart, 0.0, m_polyLines[0][0].z() };
cvf::Vec3d startOffset = m_flattenedPolylineStartPoint;
for ( size_t pLineIdx = 0; pLineIdx < m_polyLines.size(); ++pLineIdx )
{

View File

@@ -51,7 +51,7 @@ public:
const cvf::Vec3d& extrusionDirection,
const RivIntersectionHexGridInterface* grid,
bool isFlattened,
double horizontalLengthAlongWellToPolylineStart);
const cvf::Vec3d& flattenedPolylineStartPoint);
~RivIntersectionGeometryGenerator();
@@ -93,7 +93,7 @@ private:
const std::vector<std::vector<cvf::Vec3d> > m_polyLines;
cvf::Vec3d m_extrusionDirection;
bool m_isFlattened;
double m_horizontalLengthAlongWellToPolylineStart;
cvf::Vec3d m_flattenedPolylineStartPoint;
// Output arrays
cvf::ref<cvf::Vec3fArray> m_triangleVxes;

View File

@@ -83,9 +83,9 @@ RivIntersectionPartMgr::RivIntersectionPartMgr(RimIntersection* rimCrossSection,
m_crossSectionFacesTextureCoords = new cvf::Vec2fArray;
double horizontalLengthAlongWellToPolylineStart;
cvf::Vec3d flattenedPolylineStartPoint;
std::vector< std::vector <cvf::Vec3d> > polyLines = m_rimCrossSection->polyLines(&horizontalLengthAlongWellToPolylineStart);
std::vector< std::vector <cvf::Vec3d> > polyLines = m_rimCrossSection->polyLines(&flattenedPolylineStartPoint);
if (polyLines.size() > 0)
{
cvf::Vec3d direction = m_rimCrossSection->extrusionDirection();
@@ -95,7 +95,7 @@ RivIntersectionPartMgr::RivIntersectionPartMgr(RimIntersection* rimCrossSection,
direction,
hexGrid.p(),
m_isFlattened,
horizontalLengthAlongWellToPolylineStart);
flattenedPolylineStartPoint);
}
}
@@ -778,7 +778,7 @@ void RivIntersectionPartMgr::appendWellPipePartsToModel(cvf::ModelBasicList* mod
cvf::Color3f wellPipeColor = cvf::Color3f::GRAY;
double characteristicCellSize = 0;
if ( m_rimCrossSection->type() == RimIntersection::CS_SIMULATION_WELL )
if ( false)//m_rimCrossSection->type() == RimIntersection::CS_SIMULATION_WELL )
{
RimSimWellInView * simWellInView = m_rimCrossSection->simulationWell();
@@ -818,8 +818,9 @@ void RivIntersectionPartMgr::appendWellPipePartsToModel(cvf::ModelBasicList* mod
// Create pipe geometry
if ( m_rimCrossSection->type() == RimIntersection::CS_SIMULATION_WELL
|| m_rimCrossSection->type() == RimIntersection::CS_WELL_PATH )
if ( //m_rimCrossSection->type() == RimIntersection::CS_SIMULATION_WELL
//||
m_rimCrossSection->type() == RimIntersection::CS_WELL_PATH )
{
std::vector<std::vector<cvf::Vec3d> > polyLines = m_crossSectionGenerator->flattenedOrOffsettedPolyLines();