#314 Connected the Property filter code together.

Now working !
This commit is contained in:
Jacob Støren 2015-06-22 21:57:52 +02:00
parent 6191422103
commit 515fb8b8d7
3 changed files with 19 additions and 21 deletions

View File

@ -23,6 +23,15 @@
#include "RigFemPartGrid.h"
#include "cvfStructGrid.h"
#include "cvfStructGridGeometryGenerator.h"
#include "RimGeoMechPropertyFilterCollection.h"
#include "RimCellPropertyFilter.h"
#include "RimGeoMechPropertyFilter.h"
#include "RimGeoMechResultDefinition.h"
#include "RimGeoMechView.h"
#include "RimGeoMechCase.h"
#include "RigGeomechCaseData.h"
#include "RigFemPartResultsCollection.h"
//--------------------------------------------------------------------------------------------------
///
@ -80,7 +89,7 @@ void RivFemElmVisibilityCalculator::computePropertyVisibility(cvf::UByteArray* c
const cvf::UByteArray* rangeFilterVisibility,
RimGeoMechPropertyFilterCollection* propFilterColl)
{
#if 0
#if 1
CVF_ASSERT(cellVisibility != NULL);
CVF_ASSERT(rangeFilterVisibility != NULL);
CVF_ASSERT(propFilterColl != NULL);
@ -96,28 +105,24 @@ void RivFemElmVisibilityCalculator::computePropertyVisibility(cvf::UByteArray* c
{
for (size_t i = 0; i < propFilterColl->propertyFilters().size(); i++)
{
RimCellPropertyFilter* propertyFilter = propFilterColl->propertyFilters()[i];
RimGeoMechPropertyFilter* propertyFilter = propFilterColl->propertyFilters()[i];
if (propertyFilter->isActive() && propertyFilter->resultDefinition->hasResult())
{
const double lowerBound = propertyFilter->lowerBound();
const double upperBound = propertyFilter->upperBound();
RigFemResultAddress resVarAddress = propertyFilter->resultDefinition->resulAddress();
RigFemResultAddress resVarAddress = propertyFilter->resultDefinition->resultAddress();
size_t adjustedTimeStepIndex = timeStepIndex;
// Set time step to zero for static results
if (propertyFilter->resultDefinition()->hasStaticResult())
{
adjustedTimeStepIndex = 0;
}
const RimCellFilter::FilterModeType filterType = propertyFilter->filterMode();
RigGeoMechCaseData* caseData = propFilterColl->reservoirView()->geoMechCase()->geoMechCaseData();
RigGeoMechCaseData* caseData = propFilterColl->reservoirView()->geoMechCase()->geoMechData();
const std::vector<float>& resVals = caseData->femPartResults()->resultValues(resVarAddress, grid->elementPartId(), timeStepIndex);
const std::vector<float>& resVals = caseData->femPartResults()->resultValues(resVarAddress,
grid->elementPartId(),
timeStepIndex);
//#pragma omp parallel for schedule(dynamic)
for (int cellIndex = 0; cellIndex < elementCount; cellIndex++)
{

View File

@ -33,6 +33,7 @@
#include "RivCellSetEnum.h"
#include "RivFemElmVisibilityCalculator.h"
#include "RigFemPartResultsCollection.h"
#include "RimGeoMechPropertyFilterCollection.h"
//--------------------------------------------------------------------------------------------------
///
@ -124,7 +125,7 @@ std::vector<RivGeoMechPartMgrCache::Key> RivGeoMechVizLogic::keysToVisiblePartMg
{
std::vector<RivGeoMechPartMgrCache::Key> visiblePartMgrs;
if (false)//m_geomechView->propertyFilterCollection()->hasActiveFilters())
if (timeStepIndex >= 0 && m_geomechView->propertyFilterCollection()->hasActiveFilters())
{
visiblePartMgrs.push_back(RivGeoMechPartMgrCache::Key(PROPERTY_FILTERED, timeStepIndex));
}
@ -181,8 +182,7 @@ RivGeoMechPartMgr* RivGeoMechVizLogic::getUpdatedPartMgr(RivGeoMechPartMgrCache:
caseData->femParts()->part(femPartIdx),
pMgrKey.frameIndex(),
rangeFiltVisibility.p(),
NULL
//m_geomechView->propertyFilterCollection()
m_geomechView->propertyFilterCollection()
);
}
else

View File

@ -21,13 +21,6 @@
#include "RimCellFilter.h"
/*class RimEclipseView;
class RimCellPropertyFilterCollection;
class RimResultDefinition;
class RigGridBase;
class RigCaseCellResultsData;
*/
class RimGeoMechResultDefinition;
class RimGeoMechPropertyFilterCollection;