#2703 An initial implementation of filled drawing style with problems remaining.

* New vertices are successfully created in the intersections between the
  curve and draw surface triangles
* New vertices are also inserted along the bottom edge of the filled curve.
* However, new vertices will still need to be inserted in the lines connecting the
  top of the curve and the bottom where they intersect with the triangles.
* The option for filled curves remain hidden in the GUI. See #2860.

# Please enter the commit message for your changes. Lines starting
This commit is contained in:
Gaute Lindkvist
2018-05-04 13:20:49 +02:00
parent fba437f595
commit 78326bb19c
6 changed files with 298 additions and 113 deletions

View File

@@ -50,6 +50,14 @@ public:
HORIZONTAL_RIGHT
};
typedef caf::AppEnum<DrawPlane> DrawPlaneEnum;
enum DrawStyle
{
LINE,
FILLED
};
typedef caf::AppEnum<DrawStyle> DrawStyleEnum;
public:
Rim3dWellLogCurve();
virtual ~Rim3dWellLogCurve();
@@ -60,7 +68,8 @@ public:
virtual QString resultPropertyString() const = 0;
DrawPlane drawPlane() const;
double drawPlaneAngle() const;
DrawStyle drawStyle() const;
double drawPlaneAngle() const;
cvf::Color3f color() const;
bool isShowingCurve() const;
@@ -73,7 +82,7 @@ public:
double maxCurveValue() const;
void resetMinMaxValuesAndUpdateUI();
bool findClosestPointOnCurve(const cvf::Vec3d& globalIntersection,
cvf::Vec3d* closestPoint,
cvf::Vec3d* closestPoint,
double* measuredDepthAtPoint,
double* valueAtPoint) const;
@@ -89,7 +98,8 @@ protected:
private:
void resetMinMaxValues();
protected:
caf::PdmField<caf::AppEnum<DrawPlane>> m_drawPlane;
caf::PdmField<DrawPlaneEnum> m_drawPlane;
caf::PdmField<DrawStyleEnum> m_drawStyle;
caf::PdmField<cvf::Color3f> m_color;
caf::PdmField<double> m_minCurveValue;
caf::PdmField<double> m_maxCurveValue;