mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2578 Fix avoid UTM coordinates in 2D intersection View (behind the scenes)
This commit is contained in:
parent
b13422d28b
commit
91daf49e8a
@ -144,14 +144,16 @@ void RivIntersectionGeometryGenerator::calculateSegementTransformPrLinePoint()
|
||||
cvf::Vec3d p2 = polyLine[idxToNextP];
|
||||
|
||||
cvf::Mat4d sectionLocalCS = calculateSectionLocalFlatteningCS(p1, p2, m_extrusionDirection);
|
||||
|
||||
if ( pLineIdx == 0 && lIdx == 0 ) previousSectionOrigo = sectionLocalCS.translation();
|
||||
|
||||
previousSectionFlattenedEndPosX += (sectionLocalCS.translation() - previousSectionOrigo).length();
|
||||
previousSectionOrigo = sectionLocalCS.translation();
|
||||
|
||||
invSectionCS = sectionLocalCS.getInverted();
|
||||
cvf::Vec3d flattenedTranslation(previousSectionFlattenedEndPosX, 0.0, 0.0);
|
||||
|
||||
invSectionCS.setTranslation(invSectionCS.translation() + flattenedTranslation - displayOffset);
|
||||
invSectionCS.setTranslation(invSectionCS.translation() + flattenedTranslation );
|
||||
}
|
||||
|
||||
size_t inc = 0;
|
||||
@ -210,6 +212,8 @@ void RivIntersectionGeometryGenerator::calculateArrays()
|
||||
if (polyLine.size() < 2) continue;
|
||||
|
||||
size_t lineCount = polyLine.size();
|
||||
//size_t lIdx = 0;
|
||||
//while ( lIdx < lineCount - 1)
|
||||
for (size_t lIdx = 0; lIdx < lineCount - 1; ++lIdx)
|
||||
{
|
||||
size_t idxToNextP = indexToNextValidPoint(polyLine, m_extrusionDirection, lIdx);
|
||||
@ -402,6 +406,7 @@ void RivIntersectionGeometryGenerator::calculateArrays()
|
||||
}
|
||||
}
|
||||
}
|
||||
// lIdx = idxToNextP;
|
||||
}
|
||||
}
|
||||
m_triangleVxes->assign(triangleVertices);
|
||||
|
@ -41,6 +41,7 @@
|
||||
#include "RimWellPath.h"
|
||||
|
||||
#include <QDateTime>
|
||||
#include "cafDisplayCoordTransform.h"
|
||||
|
||||
CAF_PDM_SOURCE_INIT(Rim2dIntersectionView, "Intersection2dView");
|
||||
|
||||
@ -287,6 +288,14 @@ void Rim2dIntersectionView::update3dInfo()
|
||||
m_viewer->update();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
cvf::ref<caf::DisplayCoordTransform> Rim2dIntersectionView::displayCoordTransform() const
|
||||
{
|
||||
return new caf::DisplayCoordTransform();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -60,6 +60,9 @@ public:
|
||||
|
||||
cvf::ref<RivIntersectionPartMgr> flatIntersectionPartMgr() const { return m_flatIntersectionPartMgr; }
|
||||
|
||||
|
||||
virtual cvf::ref<caf::DisplayCoordTransform> displayCoordTransform() const override;
|
||||
|
||||
protected:
|
||||
void updateLegends();
|
||||
|
||||
|
@ -392,11 +392,12 @@ void RimIntersection::updateAzimuthLine()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector< std::vector <cvf::Vec3d> > RimIntersection::polyLines(double * horizontalLengthAlongWellToPolylineStart) const
|
||||
{
|
||||
CVF_ASSERT(horizontalLengthAlongWellToPolylineStart != nullptr);
|
||||
if (horizontalLengthAlongWellToPolylineStart) *horizontalLengthAlongWellToPolylineStart = 0.0;
|
||||
|
||||
std::vector< std::vector <cvf::Vec3d> > lines;
|
||||
|
||||
double horizontalProjectedLengthAlongWellPathToClipPoint = 0.0;
|
||||
if (horizontalLengthAlongWellToPolylineStart) *horizontalLengthAlongWellToPolylineStart = 0.0;
|
||||
|
||||
if (type == CS_WELL_PATH)
|
||||
{
|
||||
if (wellPath() && wellPath->wellPathGeometry() )
|
||||
|
@ -191,7 +191,7 @@ QString RiuResultTextBuilder::geometrySelectionText(QString itemSeparator)
|
||||
QString formattedText;
|
||||
if (m_2dIntersectionView)
|
||||
{
|
||||
formattedText.sprintf("Horizontal length from well start: %.2f", domainCoord.x());
|
||||
formattedText.sprintf("Horizontal length from well start: %.2f", m_intersectionPoint.x());
|
||||
text += formattedText + itemSeparator;
|
||||
|
||||
cvf::Mat4d t = m_2dIntersectionView->flatIntersectionPartMgr()->unflattenTransformMatrix(m_intersectionPoint);
|
||||
|
Loading…
Reference in New Issue
Block a user