This commit is contained in:
Magne Sjaastad 2016-11-17 14:37:10 +01:00
parent 8b95f1c06d
commit 3ba7ade88e
8 changed files with 36 additions and 31 deletions

View File

@ -37,6 +37,7 @@
#include "cafPdmFieldCvfColor.h"
#include <QDebug>
//--------------------------------------------------------------------------------------------------
///
@ -58,7 +59,7 @@ RivReservoirFaultsPartMgr::RivReservoirFaultsPartMgr(const RigMainGrid* grid, R
}
}
m_forceVisibility = false;
m_forceWatertightGeometry = false;
}
//--------------------------------------------------------------------------------------------------
@ -106,6 +107,20 @@ void RivReservoirFaultsPartMgr::appendPartsToModel(cvf::ModelBasicList* model)
// Check match between model fault count and fault parts
CVF_ASSERT(faultCollection->faults.size() == m_faultParts.size());
// Parts that is overridden by the grid settings
bool forceDisplayOfFault = false;
if (!faultCollection->showFaultsOutsideFilters())
{
forceDisplayOfFault = isShowingGrid;
}
if (m_forceWatertightGeometry && isShowingGrid)
{
forceDisplayOfFault = true;
}
//qDebug() << forceDisplayOfFault;
cvf::ModelBasicList parts;
for (size_t i = 0; i < faultCollection->faults.size(); i++)
@ -115,18 +130,6 @@ void RivReservoirFaultsPartMgr::appendPartsToModel(cvf::ModelBasicList* model)
cvf::ref<RivFaultPartMgr> rivFaultPart = m_faultParts[i];
CVF_ASSERT(rivFaultPart.notNull());
// Parts that is overridden by the grid settings
bool forceDisplayOfFault = false;
if (!faultCollection->showFaultsOutsideFilters())
{
forceDisplayOfFault = isShowingGrid;
}
if (m_forceVisibility && isShowingGrid)
{
forceDisplayOfFault = true;
}
if ( (faultCollection->showFaultCollection() && rimFault->showFault()) || forceDisplayOfFault)
{
if (faultCollection->showFaultFaces() || forceDisplayOfFault)
@ -280,9 +283,9 @@ void RivReservoirFaultsPartMgr::appendLabelPartsToModel(cvf::ModelBasicList* mod
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RivReservoirFaultsPartMgr::setFaultForceVisibility(bool forceVisibility)
void RivReservoirFaultsPartMgr::forceWatertightGeometryOn(bool forceWatertightGeometry)
{
m_forceVisibility = forceVisibility;
m_forceWatertightGeometry = forceWatertightGeometry;
}
//--------------------------------------------------------------------------------------------------

View File

@ -49,7 +49,7 @@ public:
void setTransform(cvf::Transform* scaleTransform);
void setCellVisibility(cvf::UByteArray* cellVisibilities);
void setFaultForceVisibility(bool isFilterGenerated);
void forceWatertightGeometryOn(bool forceWatertightGeometry);
void setOpacityLevel(float opacity);
void applySingleColorEffect();
@ -66,5 +66,5 @@ private:
cvf::ref<cvf::Transform> m_scaleTransform;
caf::PdmPointer<RimEclipseView> m_reservoirView;
cvf::Collection<RivFaultPartMgr> m_faultParts;
bool m_forceVisibility;
bool m_forceWatertightGeometry;
};

View File

@ -191,11 +191,11 @@ void RivReservoirPartMgr::appendFaultLabelPartsToModel(cvf::ModelBasicList* mode
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RivReservoirPartMgr::setFaultForceVisibility(bool isGeneratedByFilter)
void RivReservoirPartMgr::forceWatertightGeometryOn(bool forceWatertightGeometry)
{
if (m_faultsPartMgr.notNull())
{
m_faultsPartMgr->setFaultForceVisibility(isGeneratedByFilter);
m_faultsPartMgr->forceWatertightGeometryOn(forceWatertightGeometry);
}
}

View File

@ -50,7 +50,7 @@ public:
void clearAndSetReservoir(const RigCaseData* eclipseCase, RimEclipseView* reservoirView);
void setTransform(cvf::Transform* scaleTransform);
void setCellVisibility(size_t gridIndex, cvf::UByteArray* cellVisibilities );
void setFaultForceVisibility(bool isGeneratedByFilter);
void forceWatertightGeometryOn(bool forceWatertightGeometry);
//size_t gridCount() { return m_allGrids.size(); }
cvf::ref<cvf::UByteArray>

View File

@ -43,6 +43,8 @@
#include "RivGridPartMgr.h"
#include "RivReservoirFaultsPartMgr.h"
#include <QDebug>
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -1044,11 +1046,11 @@ void RivReservoirViewPartMgr::appendFaultLabelsDynamicGeometryPartsToModel(cvf::
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RivReservoirViewPartMgr::setFaultForceVisibilityForGeometryType(RivCellSetEnum geometryType, bool forceVisibility)
void RivReservoirViewPartMgr::forceWatertightGeometryOnForType(RivCellSetEnum geometryType, bool forceWatertightGeometry)
{
if (m_geometriesNeedsRegen[geometryType])
{
createGeometry(geometryType);
}
m_geometries[geometryType].setFaultForceVisibility(forceVisibility);
m_geometries[geometryType].forceWatertightGeometryOn(forceWatertightGeometry);
}

View File

@ -79,7 +79,7 @@ public:
void appendFaultLabelsStaticGeometryPartsToModel(cvf::ModelBasicList* model, RivCellSetEnum geometryType);
void appendFaultLabelsDynamicGeometryPartsToModel(cvf::ModelBasicList* model, RivCellSetEnum geometryType, size_t frameIndex);
void setFaultForceVisibilityForGeometryType(RivCellSetEnum geometryType, bool forceVisibility);
void forceWatertightGeometryOnForType(RivCellSetEnum geometryType, bool forceVisibility);
private:
void createGeometry(RivCellSetEnum geometryType);

View File

@ -405,7 +405,7 @@ void RimEclipseView::createDisplayModel()
if (faultCollection()->showFaultsOutsideFilters() || !this->eclipsePropertyFilterCollection()->hasActiveFilters() )
{
forceFaultVisibilityOn();
forceWatertightGeometryOn();
std::vector<RivCellSetEnum> faultGeometryTypesToAppend = visibleFaultGeometryTypes();
@ -1349,11 +1349,11 @@ void RimEclipseView::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimEclipseView::forceFaultVisibilityOn()
void RimEclipseView::forceWatertightGeometryOn()
{
if (this->viewController() && this->viewController()->isVisibleCellsOveridden())
{
m_reservoirGridPartManager->setFaultForceVisibilityForGeometryType(OVERRIDDEN_CELL_VISIBILITY, true);
m_reservoirGridPartManager->forceWatertightGeometryOnForType(OVERRIDDEN_CELL_VISIBILITY, true);
return;
}
@ -1363,12 +1363,12 @@ void RimEclipseView::forceFaultVisibilityOn()
if (!faultCollection->showFaultCollection)
{
m_reservoirGridPartManager->setFaultForceVisibilityForGeometryType(ALL_WELL_CELLS, true);
m_reservoirGridPartManager->forceWatertightGeometryOnForType(ALL_WELL_CELLS, true);
}
m_reservoirGridPartManager->setFaultForceVisibilityForGeometryType(RANGE_FILTERED, true);
m_reservoirGridPartManager->setFaultForceVisibilityForGeometryType(VISIBLE_WELL_FENCE_CELLS, true);
m_reservoirGridPartManager->setFaultForceVisibilityForGeometryType(VISIBLE_WELL_FENCE_CELLS_OUTSIDE_RANGE_FILTER, true);
m_reservoirGridPartManager->forceWatertightGeometryOnForType(RANGE_FILTERED, true);
m_reservoirGridPartManager->forceWatertightGeometryOnForType(VISIBLE_WELL_FENCE_CELLS, true);
m_reservoirGridPartManager->forceWatertightGeometryOnForType(VISIBLE_WELL_FENCE_CELLS_OUTSIDE_RANGE_FILTER, true);
}
//--------------------------------------------------------------------------------------------------

View File

@ -163,7 +163,7 @@ private:
virtual void updateViewerWidgetWindowTitle();
std::vector<RivCellSetEnum> visibleFaultGeometryTypes() const;
void forceFaultVisibilityOn();
void forceWatertightGeometryOn();
void updateFaultColors();
void syncronizeWellsWithResults();