mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-10 15:36:09 -06:00
Faults: Always show faults when showing Grid
Always show the faults parts when showing the grid in the "normal" way. If we do not, there will be holes in the model.
This commit is contained in:
parent
8b52a43360
commit
473a49f83d
@ -26,16 +26,14 @@
|
||||
#include "cafPdmFieldCvfColor.h"
|
||||
|
||||
#include "RimFaultCollection.h"
|
||||
|
||||
#include "RigMainGrid.h"
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RivReservoirFaultsPartMgr::RivReservoirFaultsPartMgr(const RigGridBase* grid, size_t gridIdx, const RimFaultCollection* faultCollection)
|
||||
: m_gridIdx(gridIdx),
|
||||
m_grid(grid),
|
||||
m_faultCollection(faultCollection)
|
||||
RivReservoirFaultsPartMgr::RivReservoirFaultsPartMgr(const RigMainGrid* grid, const RimFaultCollection* faultCollection)
|
||||
: m_faultCollection(faultCollection)
|
||||
{
|
||||
CVF_ASSERT(grid);
|
||||
|
||||
@ -85,10 +83,8 @@ void RivReservoirFaultsPartMgr::appendPartsToModel(cvf::ModelBasicList* model)
|
||||
|
||||
if (!m_faultCollection) return;
|
||||
|
||||
// Faults are only present for main grid
|
||||
if (!m_grid->isMainGrid()) return;
|
||||
|
||||
if (!m_faultCollection->showFaultCollection()) return;
|
||||
bool isShowingGrid = m_faultCollection->isGridVisualizationMode();
|
||||
if (!m_faultCollection->showFaultCollection() && !isShowingGrid) return;
|
||||
|
||||
// Check match between model fault count and fault parts
|
||||
CVF_ASSERT(m_faultCollection->faults.size() == m_faultParts.size());
|
||||
@ -99,30 +95,38 @@ void RivReservoirFaultsPartMgr::appendPartsToModel(cvf::ModelBasicList* model)
|
||||
{
|
||||
const RimFault* rimFault = m_faultCollection->faults[i];
|
||||
|
||||
if (rimFault->showFault())
|
||||
{
|
||||
cvf::ref<RivFaultPartMgr> rivFaultPart = m_faultParts[i];
|
||||
CVF_ASSERT(rivFaultPart.notNull());
|
||||
cvf::ref<RivFaultPartMgr> rivFaultPart = m_faultParts[i];
|
||||
CVF_ASSERT(rivFaultPart.notNull());
|
||||
|
||||
if (m_faultCollection->showFaultFaces())
|
||||
// Parts that is overridden by the grid settings
|
||||
|
||||
if (rimFault->showFault() || isShowingGrid)
|
||||
{
|
||||
if (m_faultCollection->showFaultFaces() || isShowingGrid)
|
||||
{
|
||||
rivFaultPart->appendNativeFaultFacesToModel(&parts);
|
||||
}
|
||||
|
||||
if (m_faultCollection->showOppositeFaultFaces())
|
||||
if (m_faultCollection->showOppositeFaultFaces() || isShowingGrid)
|
||||
{
|
||||
rivFaultPart->appendOppositeFaultFacesToModel(&parts);
|
||||
}
|
||||
|
||||
if (m_faultCollection->showFaultLabel())
|
||||
if (m_faultCollection->showFaultFaces() || m_faultCollection->showOppositeFaultFaces() || m_faultCollection->showNNCs() || isShowingGrid)
|
||||
{
|
||||
rivFaultPart->appendMeshLinePartsToModel(&parts);
|
||||
}
|
||||
}
|
||||
|
||||
// Parts that is not overridden by the grid settings
|
||||
|
||||
if (rimFault->showFault() && m_faultCollection->showFaultCollection())
|
||||
{
|
||||
if (m_faultCollection->showFaultLabel() )
|
||||
{
|
||||
rivFaultPart->appendLabelPartsToModel(&parts);
|
||||
}
|
||||
|
||||
if (m_faultCollection->showFaultFaces() || m_faultCollection->showOppositeFaultFaces() || m_faultCollection->showNNCs() )
|
||||
{
|
||||
rivFaultPart->appendMeshLinePartsToModel(&parts);
|
||||
}
|
||||
|
||||
if (m_faultCollection->showNNCs())
|
||||
{
|
||||
|
@ -39,7 +39,7 @@ class RimFaultCollection;
|
||||
class RivReservoirFaultsPartMgr : public cvf::Object
|
||||
{
|
||||
public:
|
||||
RivReservoirFaultsPartMgr(const RigGridBase* grid, size_t gridIdx, const RimFaultCollection* faultCollection);
|
||||
RivReservoirFaultsPartMgr(const RigMainGrid* grid, const RimFaultCollection* faultCollection);
|
||||
~RivReservoirFaultsPartMgr();
|
||||
|
||||
void setTransform(cvf::Transform* scaleTransform);
|
||||
@ -54,8 +54,6 @@ public:
|
||||
|
||||
|
||||
private:
|
||||
size_t m_gridIdx;
|
||||
cvf::cref<RigGridBase> m_grid;
|
||||
cvf::ref<cvf::Transform> m_scaleTransform;
|
||||
const RimFaultCollection* m_faultCollection;
|
||||
cvf::Collection<RivFaultPartMgr> m_faultParts;
|
||||
|
@ -42,7 +42,7 @@ void RivReservoirPartMgr::clearAndSetReservoir(const RigCaseData* eclipseCase, c
|
||||
}
|
||||
|
||||
// Faults read from file are present only on main grid
|
||||
m_faultsPartMgr = new RivReservoirFaultsPartMgr(eclipseCase->mainGrid(), 0, faultCollection);
|
||||
m_faultsPartMgr = new RivReservoirFaultsPartMgr(eclipseCase->mainGrid(), faultCollection);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -192,3 +192,14 @@ void RimFaultCollection::syncronizeFaults()
|
||||
this->faults().insert(0, newFaults);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimFaultCollection::isGridVisualizationMode() const
|
||||
{
|
||||
CVF_ASSERT(m_reservoirView);
|
||||
|
||||
return ( m_reservoirView->surfaceMode() == RimReservoirView::SURFACE
|
||||
|| m_reservoirView->meshMode() == RimReservoirView::FULL_MESH);
|
||||
}
|
||||
|
||||
|
@ -47,6 +47,8 @@ public:
|
||||
void setReservoirView(RimReservoirView* ownerReservoirView);
|
||||
void syncronizeFaults();
|
||||
|
||||
bool isGridVisualizationMode() const;
|
||||
|
||||
caf::PdmField<bool> showGeometryDetectedFaults; // Obsolete, to be removed
|
||||
|
||||
caf::PdmField<bool> showFaultFaces;
|
||||
|
Loading…
Reference in New Issue
Block a user