Intersection depthfilter (#8408)

* Implement a simple depth filter to cut all geometry below a certain level for intersections
* Add option to override all curve intersection cut depths from collection.
* Add support for showing intersection above or below threshold. Update label texts.
This commit is contained in:
jonjenssen
2022-01-05 15:52:04 +01:00
committed by GitHub
parent eeb51bd8f1
commit 55ba4bc802
11 changed files with 462 additions and 20 deletions

View File

@@ -21,12 +21,15 @@
#include "RimIntersection.h"
#include "RimIntersectionEnums.h"
#include "cafPdmChildField.h"
#include "cafPdmProxyValueField.h"
#include "cafPdmPtrArrayField.h"
class RimWellPath;
class RivExtrudedCurveIntersectionPartMgr;
class RimEclipseView;
class RimIntersectionResultDefinition;
class RimSimWellInView;
class RimSimWellInViewCollection;
@@ -75,6 +78,10 @@ public:
QString name() const override;
void setName( const QString& newName );
double topDepth( double sceneRadius ) const;
double bottomDepth( double sceneRadius ) const;
void setDepthOverride( bool collectionOverride, double depthThreshold, RimIntersectionDepthCutEnum displayType );
RimExtrudedCurveIntersection::CrossSectionEnum type() const;
RimExtrudedCurveIntersection::CrossSectionDirEnum direction() const;
@@ -151,9 +158,18 @@ private:
std::vector<cvf::Vec3d> pointsXYD() const;
void setPointsFromXYD( const std::vector<cvf::Vec3d>& pointsXYD );
RimEclipseView* eclipseView() const;
private:
caf::PdmField<QString> m_name;
caf::PdmField<caf::AppEnum<RimIntersectionDepthCutEnum>> m_depthDisplayType;
caf::PdmField<double> m_depthThreshold;
caf::PdmField<bool> m_depthThresholdOverridden;
caf::PdmField<double> m_collectionDepthThreshold;
caf::PdmField<caf::AppEnum<RimIntersectionDepthCutEnum>> m_collectionDepthDisplayType;
caf::PdmField<caf::AppEnum<CrossSectionEnum>> m_type;
caf::PdmField<caf::AppEnum<CrossSectionDirEnum>> m_direction;