#3501 Support property filters for 2d Maps

This commit is contained in:
Gaute Lindkvist 2018-10-29 12:52:57 +01:00
parent d2249e4d17
commit eb46fad1ec
3 changed files with 20 additions and 5 deletions

View File

@ -103,6 +103,12 @@ public:
void forceWatertightGeometryOnForType(RivCellSetEnum geometryType);
void clearWatertightGeometryFlags();
static void computePropertyVisibility(cvf::UByteArray* cellVisibilities,
const RigGridBase* grid,
size_t timeStepIndex,
const cvf::UByteArray* rangeFilterVisibility,
RimEclipsePropertyFilterCollection* propFilterColl);
private:
void createGeometry(RivCellSetEnum geometryType);
void computeVisibility(cvf::UByteArray* cellVisibility,
@ -129,11 +135,6 @@ private:
const RigGridBase* grid,
const cvf::UByteArray* nativeVisibility,
const RimCellRangeFilterCollection* rangeFilterColl);
static void computePropertyVisibility(cvf::UByteArray* cellVisibilities,
const RigGridBase* grid,
size_t timeStepIndex,
const cvf::UByteArray* rangeFilterVisibility,
RimEclipsePropertyFilterCollection* propFilterColl);
void computeOverriddenCellVisibility(cvf::UByteArray* cellVisibility,
const RigGridBase* grid);

View File

@ -76,6 +76,7 @@ void Rim2dGridProjection::generateGridMapping()
updateDefaultSampleSpacingFromGrid();
calculateCellRangeVisibility();
calculatePropertyFilterVisibility();
cvf::BoundingBox boundingBox = eclipseCase()->activeCellsBoundingBox();
cvf::Vec3d gridExtent = boundingBox.extent();
@ -360,6 +361,18 @@ void Rim2dGridProjection::calculateCellRangeVisibility()
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void Rim2dGridProjection::calculatePropertyFilterVisibility()
{
RimEclipseView* view = nullptr;
firstAncestorOrThisOfTypeAsserted(view);
int timeStep = view->currentTimeStep();
RivReservoirViewPartMgr::computePropertyVisibility(m_cellVisibility.p(), mainGrid(), timeStep, m_cellVisibility.p(), view->eclipsePropertyFilterCollection());
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -74,6 +74,7 @@ public:
protected:
void generateGridMapping();
void calculateCellRangeVisibility();
void calculatePropertyFilterVisibility();
cvf::Vec2d globalPos2d(uint i, uint j) const;
const std::vector<std::pair<size_t, float>>& cellsAtPos2d(uint i, uint j) const;
std::vector<std::pair<size_t, float>> visibleCellsAndWeightMatching2dPoint(const cvf::Vec2d& globalPos2d) const;