Add characteristicCellSize to RimView

This commit is contained in:
Magne Sjaastad 2017-06-19 20:55:58 +02:00
parent b5b13789b4
commit 994198d388
6 changed files with 50 additions and 18 deletions

View File

@ -399,6 +399,8 @@ void RivWellPathPartMgr::appendStaticGeometryPartsToModel(cvf::ModelBasicList* m
//--------------------------------------------------------------------------------------------------
void RivWellPathPartMgr::appendDynamicGeometryPartsToModel(RimView* view, cvf::ModelBasicList* model)
{
CVF_ASSERT(view && model);
RimWellPathCollection* wellPathCollection = this->wellPathCollection();
if (!wellPathCollection) return;
@ -410,32 +412,25 @@ void RivWellPathPartMgr::appendDynamicGeometryPartsToModel(RimView* view, cvf::M
if (wellPathCollection->wellPathVisibility() != RimWellPathCollection::FORCE_ALL_ON && m_rimWellPath->showWellPath() == false)
return;
cvf::ref<caf::DisplayCoordTransform> displayCoordTransform = view->displayCoordTransform();
double characteristicCellSize = 10.0;
QDateTime currentDateTime;
double characteristicCellSize = 10.0;
RimEclipseView* eclipseView = dynamic_cast<RimEclipseView*>(view);
if (eclipseView)
RimCase* rimCase = nullptr;
view->firstAncestorOrThisOfType(rimCase);
if (rimCase)
{
RigMainGrid* mainGrid = eclipseView->mainGrid();
if (mainGrid)
{
characteristicCellSize = mainGrid->characteristicIJCellSize();
}
std::vector<QDateTime> timeStepDates = rimCase->timeStepDates();
RimEclipseCase* eclipseCase = nullptr;
view->firstAncestorOrThisOfType(eclipseCase);
if (eclipseCase)
if (view->currentTimeStep() < timeStepDates.size())
{
std::vector<QDateTime> timeStepDates = eclipseCase->timeStepDates();
if (view->currentTimeStep() < timeStepDates.size())
{
currentDateTime = timeStepDates[view->currentTimeStep()];
}
currentDateTime = timeStepDates[view->currentTimeStep()];
}
characteristicCellSize = rimCase->characteristicCellSize();
}
cvf::ref<caf::DisplayCoordTransform> displayCoordTransform = view->displayCoordTransform();
appendPerforationsToModel(currentDateTime, model, displayCoordTransform.p(), characteristicCellSize);
}

View File

@ -62,6 +62,8 @@ public:
virtual void updateFormationNamesData() = 0;
virtual double characteristicCellSize() const = 0;
protected:
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) override;
private:

View File

@ -679,6 +679,20 @@ void RimEclipseCase::reloadDataAndUpdate()
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
double RimEclipseCase::characteristicCellSize() const
{
const RigEclipseCaseData* rigEclipseCase = eclipseCaseData();
if (rigEclipseCase)
{
return rigEclipseCase->mainGrid()->characteristicIJCellSize();
}
return 10.0;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -100,6 +100,9 @@ public:
void reloadDataAndUpdate();
virtual void reloadEclipseGridFile() = 0;
virtual double characteristicCellSize() const override;
protected:
virtual void initAfterRead();
virtual void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue );

View File

@ -289,6 +289,21 @@ cvf::BoundingBox RimGeoMechCase::allCellsBoundingBox() const
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
double RimGeoMechCase::characteristicCellSize() const
{
if (geoMechData() && geoMechData()->femParts())
{
double cellSize = geoMechData()->femParts()->characteristicElementSize();
return cellSize;
}
return 10.0;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -65,9 +65,12 @@ public:
virtual cvf::BoundingBox activeCellsBoundingBox() const;
virtual cvf::BoundingBox allCellsBoundingBox() const;
virtual double characteristicCellSize() const override;
// Fields:
caf::PdmChildArrayField<RimGeoMechView*> geoMechViews;
private:
static std::vector<QDateTime> dateTimeVectorFromTimeStepStrings(const QStringList& timeStepStrings);