mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Add const and remove dependency to RimView
This commit is contained in:
parent
210bdab4c3
commit
b9ee3d6d4a
@ -54,7 +54,7 @@ RivFishbonesSubsPartMgr::~RivFishbonesSubsPartMgr()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RivFishbonesSubsPartMgr::appendGeometryPartsToModel(cvf::ModelBasicList* model, caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize)
|
||||
void RivFishbonesSubsPartMgr::appendGeometryPartsToModel(cvf::ModelBasicList* model, const caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize)
|
||||
{
|
||||
clearGeometryCache();
|
||||
|
||||
@ -82,7 +82,7 @@ void RivFishbonesSubsPartMgr::clearGeometryCache()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RivFishbonesSubsPartMgr::buildParts(caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize)
|
||||
void RivFishbonesSubsPartMgr::buildParts(const caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize)
|
||||
{
|
||||
RimWellPath* wellPath = nullptr;
|
||||
m_rimFishbonesSubs->firstAncestorOrThisOfTypeAsserted(wellPath);
|
||||
|
@ -53,11 +53,11 @@ public:
|
||||
RivFishbonesSubsPartMgr(RimFishbonesMultipleSubs* subs);
|
||||
~RivFishbonesSubsPartMgr();
|
||||
|
||||
void appendGeometryPartsToModel(cvf::ModelBasicList* model, caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize);
|
||||
void appendGeometryPartsToModel(cvf::ModelBasicList* model, const caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize);
|
||||
void clearGeometryCache();
|
||||
|
||||
private:
|
||||
void buildParts(caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize);
|
||||
void buildParts(const caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize);
|
||||
|
||||
|
||||
private:
|
||||
|
@ -59,8 +59,8 @@ void RivWellPathCollectionPartMgr::scheduleGeometryRegen()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RivWellPathCollectionPartMgr::appendStaticGeometryPartsToModel(cvf::ModelBasicList* model,
|
||||
double characteristicCellSize,
|
||||
cvf::BoundingBox wellPathClipBoundingBox,
|
||||
caf::DisplayCoordTransform* displayCoordTransform)
|
||||
const cvf::BoundingBox& wellPathClipBoundingBox,
|
||||
const caf::DisplayCoordTransform* displayCoordTransform)
|
||||
{
|
||||
if (!m_wellPathCollection->isActive()) return;
|
||||
if (m_wellPathCollection->wellPathVisibility() == RimWellPathCollection::FORCE_ALL_OFF) return;
|
||||
@ -75,7 +75,12 @@ void RivWellPathCollectionPartMgr::appendStaticGeometryPartsToModel(cvf::ModelBa
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RivWellPathCollectionPartMgr::appendDynamicGeometryPartsToModel(RimView* view, cvf::ModelBasicList* model)
|
||||
void RivWellPathCollectionPartMgr::appendDynamicGeometryPartsToModel(cvf::ModelBasicList* model,
|
||||
const QDateTime& timeStamp,
|
||||
double characteristicCellSize,
|
||||
const cvf::BoundingBox& wellPathClipBoundingBox,
|
||||
const caf::DisplayCoordTransform* displayCoordTransform)
|
||||
|
||||
{
|
||||
if (!m_wellPathCollection->isActive()) return;
|
||||
if (m_wellPathCollection->wellPathVisibility() == RimWellPathCollection::FORCE_ALL_OFF) return;
|
||||
@ -83,7 +88,7 @@ void RivWellPathCollectionPartMgr::appendDynamicGeometryPartsToModel(RimView* vi
|
||||
for (size_t wIdx = 0; wIdx < m_wellPathCollection->wellPaths.size(); wIdx++)
|
||||
{
|
||||
RivWellPathPartMgr* partMgr = m_wellPathCollection->wellPaths[wIdx]->partMgr();
|
||||
partMgr->appendDynamicGeometryPartsToModel(view, model);
|
||||
partMgr->appendDynamicGeometryPartsToModel(model, timeStamp, characteristicCellSize, wellPathClipBoundingBox, displayCoordTransform);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,6 +34,8 @@ class RimProject;
|
||||
class RivWellPathPartMgr;
|
||||
class RimView;
|
||||
|
||||
class QDateTime;
|
||||
|
||||
namespace cvf
|
||||
{
|
||||
class ModelBasicList;
|
||||
@ -53,14 +55,17 @@ public:
|
||||
|
||||
void scheduleGeometryRegen();
|
||||
|
||||
void appendStaticGeometryPartsToModel(
|
||||
cvf::ModelBasicList* model,
|
||||
double characteristicCellSize,
|
||||
cvf::BoundingBox wellPathClipBoundingBox,
|
||||
caf::DisplayCoordTransform* displayCoordTransform);
|
||||
void appendStaticGeometryPartsToModel(cvf::ModelBasicList* model,
|
||||
double characteristicCellSize,
|
||||
const cvf::BoundingBox& wellPathClipBoundingBox,
|
||||
const caf::DisplayCoordTransform* displayCoordTransform);
|
||||
|
||||
void appendDynamicGeometryPartsToModel(RimView* view, cvf::ModelBasicList* model);
|
||||
void appendDynamicGeometryPartsToModel(cvf::ModelBasicList* model,
|
||||
const QDateTime& timeStamp,
|
||||
double characteristicCellSize,
|
||||
const cvf::BoundingBox& wellPathClipBoundingBox,
|
||||
const caf::DisplayCoordTransform* displayCoordTransform);
|
||||
|
||||
private:
|
||||
caf::PdmPointer<RimWellPathCollection> m_wellPathCollection;
|
||||
caf::PdmPointer<RimWellPathCollection> m_wellPathCollection;
|
||||
};
|
||||
|
@ -34,7 +34,6 @@
|
||||
#include "RimFishbonesMultipleSubs.h"
|
||||
#include "RimPerforationCollection.h"
|
||||
#include "RimPerforationInterval.h"
|
||||
#include "RimView.h"
|
||||
#include "RimWellPath.h"
|
||||
#include "RimWellPathCollection.h"
|
||||
|
||||
@ -97,7 +96,7 @@ RivWellPathPartMgr::~RivWellPathPartMgr()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RivWellPathPartMgr::appendFishbonesPartsToModel(cvf::ModelBasicList* model, caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize)
|
||||
void RivWellPathPartMgr::appendFishbonesPartsToModel(cvf::ModelBasicList* model, const caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize)
|
||||
{
|
||||
if (!m_rimWellPath || !m_rimWellPath->fishbonesCollection()->isChecked()) return;
|
||||
|
||||
@ -122,7 +121,7 @@ void RivWellPathPartMgr::appendFishbonesPartsToModel(cvf::ModelBasicList* model,
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RivWellPathPartMgr::appendCompletionsToModel(cvf::ModelBasicList* model, caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize)
|
||||
void RivWellPathPartMgr::appendCompletionsToModel(cvf::ModelBasicList* model, const caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize)
|
||||
{
|
||||
if (!m_rimWellPath || !m_rimWellPath->fishbonesCollection()->wellPathCollection()->isChecked()) return;
|
||||
|
||||
@ -154,7 +153,7 @@ void RivWellPathPartMgr::appendCompletionsToModel(cvf::ModelBasicList* model, ca
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RivWellPathPartMgr::appendPerforationsToModel(const QDateTime& currentViewDate, cvf::ModelBasicList* model, caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize)
|
||||
void RivWellPathPartMgr::appendPerforationsToModel(const QDateTime& currentViewDate, cvf::ModelBasicList* model, const caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize)
|
||||
{
|
||||
if (!m_rimWellPath || !m_rimWellPath->perforationIntervalCollection()->isChecked()) return;
|
||||
|
||||
@ -209,8 +208,9 @@ void RivWellPathPartMgr::appendPerforationsToModel(const QDateTime& currentViewD
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
/// The pipe geometry needs to be rebuilt on scale change to keep the pipes round
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RivWellPathPartMgr::buildWellPathParts(caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize,
|
||||
cvf::BoundingBox wellPathClipBoundingBox)
|
||||
void RivWellPathPartMgr::buildWellPathParts(const caf::DisplayCoordTransform* displayCoordTransform,
|
||||
double characteristicCellSize,
|
||||
const cvf::BoundingBox& wellPathClipBoundingBox)
|
||||
{
|
||||
RimWellPathCollection* wellPathCollection = this->wellPathCollection();
|
||||
if (!wellPathCollection) return;
|
||||
@ -349,8 +349,10 @@ void RivWellPathPartMgr::buildWellPathParts(caf::DisplayCoordTransform* displayC
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RivWellPathPartMgr::appendStaticGeometryPartsToModel(cvf::ModelBasicList* model, double characteristicCellSize, cvf::BoundingBox wellPathClipBoundingBox,
|
||||
caf::DisplayCoordTransform* displayCoordTransform)
|
||||
void RivWellPathPartMgr::appendStaticGeometryPartsToModel(cvf::ModelBasicList* model,
|
||||
double characteristicCellSize,
|
||||
const cvf::BoundingBox& wellPathClipBoundingBox,
|
||||
const caf::DisplayCoordTransform* displayCoordTransform)
|
||||
{
|
||||
RimWellPathCollection* wellPathCollection = this->wellPathCollection();
|
||||
if (!wellPathCollection) return;
|
||||
@ -391,9 +393,13 @@ void RivWellPathPartMgr::appendStaticGeometryPartsToModel(cvf::ModelBasicList* m
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RivWellPathPartMgr::appendDynamicGeometryPartsToModel(RimView* view, cvf::ModelBasicList* model)
|
||||
void RivWellPathPartMgr::appendDynamicGeometryPartsToModel(cvf::ModelBasicList* model,
|
||||
const QDateTime& timeStamp,
|
||||
double characteristicCellSize,
|
||||
const cvf::BoundingBox& wellPathClipBoundingBox,
|
||||
const caf::DisplayCoordTransform* displayCoordTransform)
|
||||
{
|
||||
CVF_ASSERT(view && model);
|
||||
CVF_ASSERT(model);
|
||||
|
||||
RimWellPathCollection* wellPathCollection = this->wellPathCollection();
|
||||
if (!wellPathCollection) return;
|
||||
@ -406,26 +412,7 @@ void RivWellPathPartMgr::appendDynamicGeometryPartsToModel(RimView* view, cvf::M
|
||||
if (wellPathCollection->wellPathVisibility() != RimWellPathCollection::FORCE_ALL_ON && m_rimWellPath->showWellPath() == false)
|
||||
return;
|
||||
|
||||
QDateTime currentDateTime;
|
||||
double characteristicCellSize = 10.0;
|
||||
|
||||
RimCase* rimCase = nullptr;
|
||||
view->firstAncestorOrThisOfType(rimCase);
|
||||
if (rimCase)
|
||||
{
|
||||
std::vector<QDateTime> timeStepDates = rimCase->timeStepDates();
|
||||
|
||||
if (view->currentTimeStep() < timeStepDates.size())
|
||||
{
|
||||
currentDateTime = timeStepDates[view->currentTimeStep()];
|
||||
}
|
||||
|
||||
characteristicCellSize = rimCase->characteristicCellSize();
|
||||
}
|
||||
|
||||
cvf::ref<caf::DisplayCoordTransform> displayCoordTransform = view->displayCoordTransform();
|
||||
|
||||
appendPerforationsToModel(currentDateTime, model, displayCoordTransform.p(), characteristicCellSize);
|
||||
appendPerforationsToModel(timeStamp, model, displayCoordTransform, characteristicCellSize);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -43,7 +43,6 @@ class RimProject;
|
||||
class RimWellPath;
|
||||
class RivFishbonesSubsPartMgr;
|
||||
class RimWellPathCollection;
|
||||
class RimView;
|
||||
|
||||
class QDateTime;
|
||||
|
||||
@ -56,19 +55,24 @@ public:
|
||||
void scheduleGeometryRegen();
|
||||
|
||||
void appendStaticGeometryPartsToModel(cvf::ModelBasicList* model,
|
||||
double characteristicCellSize, cvf::BoundingBox wellPathClipBoundingBox,
|
||||
caf::DisplayCoordTransform* displayCoordTransform);
|
||||
double characteristicCellSize,
|
||||
const cvf::BoundingBox& wellPathClipBoundingBox,
|
||||
const caf::DisplayCoordTransform* displayCoordTransform);
|
||||
|
||||
void appendDynamicGeometryPartsToModel(RimView* view, cvf::ModelBasicList* model);
|
||||
void appendDynamicGeometryPartsToModel(cvf::ModelBasicList* model,
|
||||
const QDateTime& timeStamp,
|
||||
double characteristicCellSize,
|
||||
const cvf::BoundingBox& wellPathClipBoundingBox,
|
||||
const caf::DisplayCoordTransform* displayCoordTransform);
|
||||
|
||||
size_t segmentIndexFromTriangleIndex(size_t triangleIndex);
|
||||
|
||||
private:
|
||||
void appendFishbonesPartsToModel(cvf::ModelBasicList* model, caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize);
|
||||
void appendCompletionsToModel(cvf::ModelBasicList* model, caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize);
|
||||
void appendPerforationsToModel(const QDateTime& currentViewDate, cvf::ModelBasicList* model, caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize);
|
||||
void appendFishbonesPartsToModel(cvf::ModelBasicList* model, const caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize);
|
||||
void appendCompletionsToModel(cvf::ModelBasicList* model, const caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize);
|
||||
void appendPerforationsToModel(const QDateTime& currentViewDate, cvf::ModelBasicList* model, const caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize);
|
||||
|
||||
void buildWellPathParts(caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize, cvf::BoundingBox wellPathClipBoundingBox);
|
||||
void buildWellPathParts(const caf::DisplayCoordTransform* displayCoordTransform, double characteristicCellSize, const cvf::BoundingBox& wellPathClipBoundingBox);
|
||||
void clearAllBranchData();
|
||||
inline RimWellPathCollection* wellPathCollection();
|
||||
inline double wellPathRadius(double characteristicCellSize, RimWellPathCollection* wellPathCollection);
|
||||
|
@ -639,15 +639,9 @@ void RimEclipseView::updateCurrentTimeStep()
|
||||
cvf::ref<cvf::ModelBasicList> wellPathModelBasicList = new cvf::ModelBasicList;
|
||||
wellPathModelBasicList->setName(name);
|
||||
|
||||
RigMainGrid* mainGrid = this->mainGrid();
|
||||
if (mainGrid)
|
||||
{
|
||||
wellPathsPartManager()->appendDynamicGeometryPartsToModel(this, wellPathModelBasicList.p());
|
||||
addDynamicWellPathsToModel(wellPathModelBasicList.p(), currentActiveCellInfo()->geometryBoundingBox());
|
||||
|
||||
wellPathModelBasicList->updateBoundingBoxesRecursive();
|
||||
|
||||
frameScene->addModel(wellPathModelBasicList.p());
|
||||
}
|
||||
frameScene->addModel(wellPathModelBasicList.p());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -254,14 +254,32 @@ void RimGeoMechView::updateCurrentTimeStep()
|
||||
cvf::Scene* frameScene = m_viewer->frame(m_currentTimeStep);
|
||||
if (frameScene)
|
||||
{
|
||||
// Grid model
|
||||
cvf::ref<cvf::ModelBasicList> frameParts = new cvf::ModelBasicList;
|
||||
frameParts->setName("GridModel");
|
||||
m_vizLogic->appendPartsToModel(m_currentTimeStep, frameParts.p());
|
||||
frameParts->updateBoundingBoxesRecursive();
|
||||
{
|
||||
// Grid model
|
||||
cvf::String name = "GridModel";
|
||||
this->removeModelByName(frameScene, name);
|
||||
|
||||
this->removeModelByName(frameScene, frameParts->name());
|
||||
frameScene->addModel(frameParts.p());
|
||||
cvf::ref<cvf::ModelBasicList> frameParts = new cvf::ModelBasicList;
|
||||
frameParts->setName(name);
|
||||
m_vizLogic->appendPartsToModel(m_currentTimeStep, frameParts.p());
|
||||
frameParts->updateBoundingBoxesRecursive();
|
||||
|
||||
frameScene->addModel(frameParts.p());
|
||||
}
|
||||
|
||||
// Well Paths
|
||||
{
|
||||
cvf::String name = "WellPathMod";
|
||||
this->removeModelByName(frameScene, name);
|
||||
|
||||
cvf::ref<cvf::ModelBasicList> wellPathModelBasicList = new cvf::ModelBasicList;
|
||||
wellPathModelBasicList->setName(name);
|
||||
|
||||
cvf::BoundingBox femBBox = geoMechCase()->geoMechData()->femParts()->boundingBox();
|
||||
addDynamicWellPathsToModel(wellPathModelBasicList.p(), femBBox);
|
||||
|
||||
frameScene->addModel(wellPathModelBasicList.p());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -278,6 +296,7 @@ void RimGeoMechView::updateCurrentTimeStep()
|
||||
{
|
||||
crossSectionCollection->applySingleColorEffect();
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -746,6 +746,31 @@ void RimView::addWellPathsToModel(cvf::ModelBasicList* wellPathModelBasicList,
|
||||
wellPathModelBasicList->updateBoundingBoxesRecursive();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimView::addDynamicWellPathsToModel(cvf::ModelBasicList* wellPathModelBasicList, const cvf::BoundingBox& wellPathClipBoundingBox)
|
||||
{
|
||||
if (!this->ownerCase()) return;
|
||||
|
||||
cvf::ref<caf::DisplayCoordTransform> transForm = displayCoordTransform();
|
||||
|
||||
QDateTime currentTimeStamp;
|
||||
std::vector<QDateTime> timeStamps = ownerCase()->timeStepDates();
|
||||
if (currentTimeStep() < timeStamps.size())
|
||||
{
|
||||
currentTimeStamp = timeStamps[currentTimeStep()];
|
||||
}
|
||||
|
||||
wellPathsPartManager()->appendDynamicGeometryPartsToModel(wellPathModelBasicList,
|
||||
currentTimeStamp,
|
||||
this->ownerCase()->characteristicCellSize(),
|
||||
wellPathClipBoundingBox,
|
||||
transForm.p());
|
||||
|
||||
wellPathModelBasicList->updateBoundingBoxesRecursive();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -180,6 +180,9 @@ protected:
|
||||
void addWellPathsToModel(cvf::ModelBasicList* wellPathModelBasicList,
|
||||
const cvf::BoundingBox& wellPathClipBoundingBox);
|
||||
|
||||
void addDynamicWellPathsToModel(cvf::ModelBasicList* wellPathModelBasicList,
|
||||
const cvf::BoundingBox& wellPathClipBoundingBox);
|
||||
|
||||
static void removeModelByName(cvf::Scene* scene, const cvf::String& modelName);
|
||||
|
||||
virtual void createDisplayModel() = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user