#3881 Smooth outer contour line and clip geometry

This commit is contained in:
Gaute Lindkvist
2019-01-02 15:53:13 +01:00
parent ec0419a945
commit 71cacc550f
5 changed files with 322 additions and 149 deletions

View File

@@ -49,7 +49,7 @@ public:
struct ContourPolygon
{
std::vector<cvf::Vec3d> vertices;
cvf::String label;
double value;
};
enum ResultAggregationEnum
@@ -72,7 +72,8 @@ public:
RimContourMapProjection();
~RimContourMapProjection() override;
std::vector<cvf::Vec3d> generateVertices();
std::vector<cvf::Vec4d> generateTriangles() const;
std::vector<cvf::Vec3d> generateVertices() const;
void generateContourPolygons();
std::vector<cvf::Vec3d> generatePickPointPolygon();
void generateResults();
@@ -112,9 +113,11 @@ public:
void updatedWeightingResult();
bool checkForMapIntersection(const cvf::Vec3d& localPoint3d, cvf::Vec2d* contourMapPoint, double* valueAtPoint) const;
void setPickPoint(cvf::Vec2d pickedPoint);
void setPickPoint(cvf::Vec2d globalPickPoint);
cvf::Vec3d origin3d() const;
protected:
void smoothPolygonLoops(ContourPolygons* contourPolygons);
double interpolateValue(const cvf::Vec2d& gridPosition2d) const;
void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
@@ -155,7 +158,8 @@ private:
cvf::Vec2ui ijFromVertexIndex(size_t gridIndex) const;
cvf::Vec2ui ijFromCellIndex(size_t mapIndex) const;
cvf::Vec2ui ijFromLocalPos(const cvf::Vec2d& localPos2d) const;
cvf::Vec2d globalCellCenterPosition(uint i, uint j) const;
cvf::Vec2d cellCenterPosition(uint i, uint j) const;
cvf::Vec2d origin2d() const;
std::vector<double> xVertexPositions() const;
std::vector<double> yVertexPositions() const;
@@ -167,6 +171,8 @@ private:
RimEclipseResultCase* eclipseCase() const;
RimContourMapView* view() const;
double gridEdgeOffset() const;
protected:
caf::PdmField<double> m_relativeSampleSpacing;
caf::PdmField<ResultAggregation> m_resultAggregation;