#2965 Implement option (on by default) to follow time step in 3D view.

This commit is contained in:
Gaute Lindkvist
2018-06-20 10:31:03 +02:00
parent 5fc795a24a
commit a0f5db5d7e
8 changed files with 125 additions and 33 deletions

View File

@@ -49,7 +49,8 @@ void Riv3dWellLogCurveGeometryGenerator::createCurveDrawables(const caf::Display
const Rim3dWellLogCurve* rim3dWellLogCurve,
double planeOffsetFromWellPathCenter,
double planeWidth,
const std::vector<cvf::Vec3d>& drawSurfaceVertices)
const std::vector<cvf::Vec3d>& drawSurfaceVertices,
int currentTimeStep)
{
CVF_ASSERT(rim3dWellLogCurve);
@@ -66,7 +67,14 @@ void Riv3dWellLogCurveGeometryGenerator::createCurveDrawables(const caf::Display
std::vector<double> resultValues;
std::vector<double> resultMds;
rim3dWellLogCurve->curveValuesAndMds(&resultValues, &resultMds);
if (rim3dWellLogCurve->followAnimationTimeStep())
{
rim3dWellLogCurve->curveValuesAndMdsAtTimeStep(&resultValues, &resultMds, currentTimeStep);
}
else
{
rim3dWellLogCurve->curveValuesAndMds(&resultValues, &resultMds);
}
m_planeWidth = planeWidth;

View File

@@ -52,7 +52,8 @@ public:
const Rim3dWellLogCurve* rim3dWellLogCurve,
double planeOffsetFromWellPathCenter,
double planeWidth,
const std::vector<cvf::Vec3d>& drawSurfaceVertices);
const std::vector<cvf::Vec3d>& drawSurfaceVertices,
int currentTimeStep);
void clearCurvePointsAndGeometry();

View File

@@ -107,7 +107,8 @@ void Riv3dWellLogPlanePartMgr::append3dWellLogCurveToModel(cvf::ModelBasicList*
rim3dWellLogCurve,
wellPathCenterToPlotStartOffset(rim3dWellLogCurve),
planeWidth(),
drawSurfaceVertices);
drawSurfaceVertices,
m_gridView->currentTimeStep());
cvf::ref<cvf::DrawableGeo> curveDrawable = generator->curveDrawable();

View File

@@ -502,12 +502,6 @@ void RivWellPathPartMgr::appendStaticGeometryPartsToModel(cvf::ModelBasicList*
appendFishboneSubsPartsToModel(model, displayCoordTransform, characteristicCellSize);
appendImportedFishbonesToModel(model, displayCoordTransform, characteristicCellSize);
RimGridView* gridView = dynamic_cast<RimGridView*>(m_rimView.p());
if (!gridView) return;
m_3dWellLogPlanePartMgr = new Riv3dWellLogPlanePartMgr(m_rimWellPath, gridView);
m_3dWellLogPlanePartMgr->appendPlaneToModel(model, displayCoordTransform, wellPathClipBoundingBox);
}
//--------------------------------------------------------------------------------------------------
@@ -566,6 +560,13 @@ void RivWellPathPartMgr::appendDynamicGeometryPartsToModel(cvf::ModelBasicList*
appendPerforationsToModel(model, timeStepIndex, displayCoordTransform, characteristicCellSize, false);
appendVirtualTransmissibilitiesToModel(model, timeStepIndex, displayCoordTransform, characteristicCellSize);
RimGridView* gridView = dynamic_cast<RimGridView*>(m_rimView.p());
if (!gridView) return;
m_3dWellLogPlanePartMgr = new Riv3dWellLogPlanePartMgr(m_rimWellPath, gridView);
m_3dWellLogPlanePartMgr->appendPlaneToModel(model, displayCoordTransform, wellPathClipBoundingBox);
}
//--------------------------------------------------------------------------------------------------