Fix crash in 3d well log curve rendering.

This commit is contained in:
Gaute Lindkvist 2018-09-04 12:57:55 +02:00
parent 5a2ecf25c2
commit ea8721f6ff
5 changed files with 12 additions and 17 deletions

View File

@ -88,9 +88,8 @@ void Riv3dWellLogPlanePartMgr::appendPlaneToModel(cvf::ModelBasicList*
}
for (Rim3dWellLogCurve* rim3dWellLogCurve : m_wellPath->rim3dWellLogCurveCollection()->vectorOf3dWellLogCurves())
{
if (rim3dWellLogCurve->isShowingTimeDependentResultInView(m_gridView) != isStaticResult)
if (rim3dWellLogCurve->showInView(m_gridView) && rim3dWellLogCurve->isShowingTimeDependentResult() != isStaticResult)
{
append3dWellLogCurveToModel(model,
displayCoordTransform,
wellPathClipBoundingBox,

View File

@ -419,7 +419,7 @@ bool Rim3dView::hasVisibleTimeStepDependent3dWellLogCurves() const
wellPathCollection()->descendantsIncludingThisOfType(wellLogCurves);
for (const Rim3dWellLogCurve* curve : wellLogCurves)
{
if (curve->isShowingTimeDependentResultInView(this))
if (curve->showInView(this) && curve->isShowingTimeDependentResult())
{
return true;
}

View File

@ -66,7 +66,7 @@ public:
cvf::Color3f color() const;
bool isShowingCurve() const;
virtual bool isShowingTimeDependentResultInView(const Rim3dView* gridView) const { return showInView(gridView); }
virtual bool isShowingTimeDependentResult() const { return isShowingCurve(); }
virtual bool showInView(const Rim3dView* gridView) const { return isShowingCurve(); }
virtual bool followAnimationTimeStep() const { return false; }
virtual void curveValuesAndMds(std::vector<double>* values, std::vector<double>* measuredDepthValues) const = 0;

View File

@ -378,10 +378,8 @@ double Rim3dWellLogExtractionCurve::rkbDiff() const
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool Rim3dWellLogExtractionCurve::isShowingTimeDependentResultInView(const Rim3dView* gridView) const
bool Rim3dWellLogExtractionCurve::isShowingTimeDependentResult() const
{
if (showInView(gridView))
{
if (dynamic_cast<const RimEclipseCase*>(m_case()))
{
return m_eclipseResultDefinition->hasDynamicResult();
@ -390,8 +388,6 @@ bool Rim3dWellLogExtractionCurve::isShowingTimeDependentResultInView(const Rim3d
{
return m_geomResultDefinition->hasResult();
}
}
return false;
}
//--------------------------------------------------------------------------------------------------

View File

@ -54,7 +54,7 @@ public:
virtual QString createAutoName() const override;
double rkbDiff() const;
virtual bool isShowingTimeDependentResultInView(const Rim3dView* gridView) const override;
virtual bool isShowingTimeDependentResult() const override;
virtual bool showInView(const Rim3dView* gridView) const override;