mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Refactored visualization : One part manager for each fracture
This commit is contained in:
@@ -45,6 +45,7 @@
|
||||
#include "RimEclipseWellCollection.h"
|
||||
#include "RimFaultCollection.h"
|
||||
#include "RimFlowDiagSolution.h"
|
||||
#include "RimFracture.h"
|
||||
#include "RimGridCollection.h"
|
||||
#include "RimIntersection.h"
|
||||
#include "RimIntersectionCollection.h"
|
||||
@@ -60,15 +61,16 @@
|
||||
#include "RiuSelectionManager.h"
|
||||
#include "RiuViewer.h"
|
||||
|
||||
#include "RivReservoirFracturesPartMgr.h"
|
||||
#include "RivReservoirPipesPartMgr.h"
|
||||
#include "RivReservoirWellSpheresPartMgr.h"
|
||||
#include "RivSingleCellPartGenerator.h"
|
||||
#include "RivTernarySaturationOverlayItem.h"
|
||||
#include "RivWellPathCollectionPartMgr.h"
|
||||
#include "RivWellFracturePartMgr.h"
|
||||
|
||||
#include "cafCadNavigation.h"
|
||||
#include "cafCeetronPlusNavigation.h"
|
||||
#include "cafDisplayCoordTransform.h"
|
||||
#include "cafFrameAnimationControl.h"
|
||||
#include "cafPdmUiTreeOrdering.h"
|
||||
|
||||
@@ -138,7 +140,6 @@ RimEclipseView::RimEclipseView()
|
||||
m_reservoirGridPartManager = new RivReservoirViewPartMgr(this);
|
||||
m_pipesPartManager = new RivReservoirPipesPartMgr(this);
|
||||
m_wellSpheresPartManager = new RivReservoirWellSpheresPartMgr(this);
|
||||
m_simWellFracturesPartManager = new RivReservoirFracturesPartMgr(this);
|
||||
|
||||
m_reservoir = NULL;
|
||||
}
|
||||
@@ -671,7 +672,15 @@ void RimEclipseView::updateCurrentTimeStep()
|
||||
|
||||
m_pipesPartManager->appendDynamicGeometryPartsToModel(wellPipeModelBasicList.p(), m_currentTimeStep);
|
||||
m_wellSpheresPartManager->appendDynamicGeometryPartsToModel(wellPipeModelBasicList.p(), m_currentTimeStep);
|
||||
m_simWellFracturesPartManager->appendDynamicGeometryPartsToModel(wellPipeModelBasicList.p(), m_currentTimeStep);
|
||||
|
||||
cvf::ref<caf::DisplayCoordTransform> transForm = this->displayCoordTransform();
|
||||
|
||||
std::vector<RimFracture*> fractures;
|
||||
this->descendantsIncludingThisOfType(fractures);
|
||||
for (RimFracture* f : fractures)
|
||||
{
|
||||
f->fracturePartManager()->appendGeometryPartsToModel(wellPipeModelBasicList.p(), transForm.p());
|
||||
}
|
||||
|
||||
wellPipeModelBasicList->updateBoundingBoxesRecursive();
|
||||
|
||||
@@ -906,7 +915,6 @@ void RimEclipseView::schedulePipeGeometryRegen()
|
||||
{
|
||||
m_pipesPartManager->scheduleGeometryRegen();
|
||||
m_wellSpheresPartManager->clearGeometryCache();
|
||||
m_simWellFracturesPartManager->clearGeometryCache();
|
||||
}
|
||||
|
||||
|
||||
@@ -1281,7 +1289,6 @@ void RimEclipseView::updateDisplayModelForWellResults()
|
||||
m_reservoirGridPartManager->clearGeometryCache();
|
||||
m_pipesPartManager->clearGeometryCache();
|
||||
m_wellSpheresPartManager->clearGeometryCache();
|
||||
m_simWellFracturesPartManager->clearGeometryCache();
|
||||
|
||||
syncronizeWellsWithResults();
|
||||
|
||||
|
||||
@@ -59,7 +59,6 @@ class RiuViewer;
|
||||
class RivReservoirPipesPartMgr;
|
||||
class RivReservoirWellSpheresPartMgr;
|
||||
class RivIntersectionPartMgr;
|
||||
class RivReservoirFracturesPartMgr;
|
||||
|
||||
namespace cvf
|
||||
{
|
||||
@@ -187,7 +186,6 @@ private:
|
||||
cvf::ref<RivReservoirViewPartMgr> m_reservoirGridPartManager;
|
||||
cvf::ref<RivReservoirPipesPartMgr> m_pipesPartManager;
|
||||
cvf::ref<RivReservoirWellSpheresPartMgr> m_wellSpheresPartManager;
|
||||
cvf::ref<RivReservoirFracturesPartMgr> m_simWellFracturesPartManager;
|
||||
|
||||
std::vector<RivCellSetEnum> m_visibleGridParts;
|
||||
};
|
||||
|
||||
@@ -38,6 +38,8 @@
|
||||
#include "cafHexGridIntersectionTools/cafHexGridIntersectionTools.h"
|
||||
#include "custom-clipper/clipper/clipper.hpp"
|
||||
|
||||
#include "RivWellFracturePartMgr.h"
|
||||
|
||||
|
||||
CAF_PDM_XML_ABSTRACT_SOURCE_INIT(RimFracture, "Fracture");
|
||||
|
||||
@@ -53,6 +55,8 @@ RimFracture::RimFracture(void)
|
||||
|
||||
m_rigFracture = new RigFracture;
|
||||
m_recomputeGeometry = true;
|
||||
|
||||
m_rivFracture = new RivWellFracturePartMgr(this);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -434,6 +438,8 @@ void RimFracture::calculateFracturePlaneCellPolygonOverlap(std::vector<std::vect
|
||||
void RimFracture::setRecomputeGeometryFlag()
|
||||
{
|
||||
m_recomputeGeometry = true;
|
||||
|
||||
m_rivFracture->clearGeometryCache();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -477,6 +483,16 @@ cvf::ref<RigFracture> RimFracture::attachedRigFracture() const
|
||||
return m_rigFracture;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RivWellFracturePartMgr* RimFracture::fracturePartManager()
|
||||
{
|
||||
CVF_ASSERT(m_rivFracture.notNull());
|
||||
|
||||
return m_rivFracture.p();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
|
||||
class RimEllipseFractureTemplate;
|
||||
class RigFracture;
|
||||
class RivWellFracturePartMgr;
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
@@ -51,6 +52,8 @@ public:
|
||||
virtual RimEllipseFractureTemplate* attachedFractureDefinition() = 0;
|
||||
cvf::ref<RigFracture> attachedRigFracture() const;
|
||||
|
||||
RivWellFracturePartMgr* fracturePartManager();
|
||||
|
||||
bool hasValidGeometry() const;
|
||||
void computeGeometry();
|
||||
void setRecomputeGeometryFlag();
|
||||
@@ -78,8 +81,8 @@ private:
|
||||
|
||||
|
||||
private:
|
||||
|
||||
cvf::ref<RigFracture> m_rigFracture;
|
||||
bool m_recomputeGeometry;
|
||||
|
||||
cvf::ref<RivWellFracturePartMgr> m_rivFracture;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user