mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Prep for Gromech range filters:
* Generalized RangeFilter vs view * Added stub implememntation of a StructGridInterface implementation for Fem parts
This commit is contained in:
@@ -64,3 +64,176 @@ void RigFemPart::appendElement(RigElementType elmType, int id, const int* connec
|
||||
m_allAlementConnectivities.push_back(connectivities[lnIdx]);
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const RigFemPartGrid* RigFemPart::structGrid()
|
||||
{
|
||||
if (m_structGrid.isNull())
|
||||
{
|
||||
m_structGrid = new RigFemPartGrid(this);
|
||||
}
|
||||
|
||||
return m_structGrid.p();
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RigFemPartGrid::RigFemPartGrid(RigFemPart* femPart)
|
||||
{
|
||||
m_femPart = femPart;
|
||||
generateStructGridData();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RigFemPartGrid::~RigFemPartGrid()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigFemPartGrid::generateStructGridData()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
size_t RigFemPartGrid::gridPointCountI() const
|
||||
{
|
||||
CVF_ASSERT(false);
|
||||
return cvf::UNDEFINED_SIZE_T;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
size_t RigFemPartGrid::gridPointCountJ() const
|
||||
{
|
||||
CVF_ASSERT(false);
|
||||
return cvf::UNDEFINED_SIZE_T;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
size_t RigFemPartGrid::gridPointCountK() const
|
||||
{
|
||||
CVF_ASSERT(false);
|
||||
return cvf::UNDEFINED_SIZE_T;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RigFemPartGrid::isCellValid(size_t i, size_t j, size_t k) const
|
||||
{
|
||||
CVF_ASSERT(false);
|
||||
return false;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
cvf::Vec3d RigFemPartGrid::minCoordinate() const
|
||||
{
|
||||
CVF_ASSERT(false);
|
||||
return cvf::Vec3d::ZERO;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
cvf::Vec3d RigFemPartGrid::maxCoordinate() const
|
||||
{
|
||||
CVF_ASSERT(false);
|
||||
return cvf::Vec3d::ZERO;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RigFemPartGrid::cellIJKNeighbor(size_t i, size_t j, size_t k, FaceType face, size_t* neighborCellIndex) const
|
||||
{
|
||||
CVF_ASSERT(false);
|
||||
return false;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
size_t RigFemPartGrid::cellIndexFromIJK(size_t i, size_t j, size_t k) const
|
||||
{
|
||||
CVF_ASSERT(false);
|
||||
return cvf::UNDEFINED_SIZE_T;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RigFemPartGrid::ijkFromCellIndex(size_t cellIndex, size_t* i, size_t* j, size_t* k) const
|
||||
{
|
||||
CVF_ASSERT(false);
|
||||
return false;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RigFemPartGrid::cellIJKFromCoordinate(const cvf::Vec3d& coord, size_t* i, size_t* j, size_t* k) const
|
||||
{
|
||||
CVF_ASSERT(false);
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigFemPartGrid::cellCornerVertices(size_t cellIndex, cvf::Vec3d vertices[8]) const
|
||||
{
|
||||
CVF_ASSERT(false);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
cvf::Vec3d RigFemPartGrid::cellCentroid(size_t cellIndex) const
|
||||
{
|
||||
CVF_ASSERT(false);
|
||||
return cvf::Vec3d::ZERO;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigFemPartGrid::cellMinMaxCordinates(size_t cellIndex, cvf::Vec3d* minCoordinate, cvf::Vec3d* maxCoordinate) const
|
||||
{
|
||||
CVF_ASSERT(false);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
size_t RigFemPartGrid::gridPointIndexFromIJK(size_t i, size_t j, size_t k) const
|
||||
{
|
||||
CVF_ASSERT(false);
|
||||
return cvf::UNDEFINED_SIZE_T;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
cvf::Vec3d RigFemPartGrid::gridPointCoordinate(size_t i, size_t j, size_t k) const
|
||||
{
|
||||
CVF_ASSERT(false);
|
||||
return cvf::Vec3d::ZERO;
|
||||
}
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
#include "cvfVector3.h"
|
||||
#include <vector>
|
||||
|
||||
class RigFemPartGrid;
|
||||
|
||||
class RigFemPartNodes
|
||||
{
|
||||
public:
|
||||
@@ -57,6 +59,8 @@ public:
|
||||
RigFemPartNodes& nodes() {return m_nodes;}
|
||||
const RigFemPartNodes& nodes() const {return m_nodes;}
|
||||
|
||||
const RigFemPartGrid* structGrid();
|
||||
|
||||
private:
|
||||
int m_elementPartId;
|
||||
std::vector<int> m_elementId;
|
||||
@@ -66,4 +70,38 @@ private:
|
||||
|
||||
RigFemPartNodes m_nodes;
|
||||
|
||||
cvf::ref<RigFemPartGrid> m_structGrid;
|
||||
};
|
||||
|
||||
#include "cvfStructGrid.h"
|
||||
|
||||
class RigFemPartGrid : public cvf::StructGridInterface
|
||||
{
|
||||
public:
|
||||
RigFemPartGrid(RigFemPart* femPart);
|
||||
virtual ~RigFemPartGrid();
|
||||
|
||||
virtual size_t gridPointCountI() const;
|
||||
virtual size_t gridPointCountJ() const;
|
||||
virtual size_t gridPointCountK() const;
|
||||
|
||||
virtual bool isCellValid(size_t i, size_t j, size_t k) const;
|
||||
virtual cvf::Vec3d minCoordinate() const;
|
||||
virtual cvf::Vec3d maxCoordinate() const;
|
||||
virtual bool cellIJKNeighbor(size_t i, size_t j, size_t k, FaceType face, size_t* neighborCellIndex) const;
|
||||
virtual size_t cellIndexFromIJK(size_t i, size_t j, size_t k) const;
|
||||
virtual bool ijkFromCellIndex(size_t cellIndex, size_t* i, size_t* j, size_t* k) const;
|
||||
virtual bool cellIJKFromCoordinate(const cvf::Vec3d& coord, size_t* i, size_t* j, size_t* k) const;
|
||||
virtual void cellCornerVertices(size_t cellIndex, cvf::Vec3d vertices[8]) const;
|
||||
virtual cvf::Vec3d cellCentroid(size_t cellIndex) const;
|
||||
virtual void cellMinMaxCordinates(size_t cellIndex, cvf::Vec3d* minCoordinate, cvf::Vec3d* maxCoordinate) const;
|
||||
virtual size_t gridPointIndexFromIJK(size_t i, size_t j, size_t k) const;
|
||||
virtual cvf::Vec3d gridPointCoordinate(size_t i, size_t j, size_t k) const;
|
||||
|
||||
|
||||
private:
|
||||
void generateStructGridData();
|
||||
|
||||
|
||||
RigFemPart* m_femPart;
|
||||
};
|
||||
@@ -102,8 +102,8 @@ void RimCellRangeFilter::computeAndSetValidValues()
|
||||
{
|
||||
CVF_ASSERT(m_parentContainer);
|
||||
|
||||
RigGridBase* grid = selectedGrid();
|
||||
if (grid && grid->cellCount() > 0 )
|
||||
const cvf::StructGridInterface* grid = selectedGrid();
|
||||
if (grid && grid->cellCountI() > 0 && grid->cellCountJ() > 0 && grid->cellCountK() > 0)
|
||||
{
|
||||
cellCountI = cvf::Math::clamp(cellCountI.v(), 1, static_cast<int>(grid->cellCountI()));
|
||||
startIndexI = cvf::Math::clamp(startIndexI.v(), 1, static_cast<int>(grid->cellCountI()));
|
||||
@@ -124,10 +124,10 @@ void RimCellRangeFilter::setDefaultValues()
|
||||
{
|
||||
CVF_ASSERT(m_parentContainer);
|
||||
|
||||
RigGridBase* grid = selectedGrid();
|
||||
const cvf::StructGridInterface* grid = selectedGrid();
|
||||
|
||||
RigActiveCellInfo* actCellInfo = m_parentContainer->activeCellInfo();
|
||||
if (grid == m_parentContainer->mainGrid() && actCellInfo)
|
||||
if (grid == m_parentContainer->gridByIndex(0) && actCellInfo)
|
||||
{
|
||||
cvf::Vec3st min, max;
|
||||
actCellInfo->IJKBoundingBox(min, max);
|
||||
@@ -178,7 +178,7 @@ void RimCellRangeFilter::defineEditorAttribute(const caf::PdmFieldHandle* field,
|
||||
return;
|
||||
}
|
||||
|
||||
RigGridBase* grid = selectedGrid();
|
||||
const cvf::StructGridInterface* grid = selectedGrid();
|
||||
|
||||
if (field == &startIndexI || field == &cellCountI)
|
||||
{
|
||||
@@ -197,7 +197,7 @@ void RimCellRangeFilter::defineEditorAttribute(const caf::PdmFieldHandle* field,
|
||||
}
|
||||
|
||||
RigActiveCellInfo* actCellInfo = m_parentContainer->activeCellInfo();
|
||||
if (grid == m_parentContainer->mainGrid() && actCellInfo)
|
||||
if (grid == m_parentContainer->gridByIndex(0) && actCellInfo)
|
||||
{
|
||||
cvf::Vec3st min, max;
|
||||
actCellInfo->IJKBoundingBox(min, max);
|
||||
@@ -240,17 +240,11 @@ QList<caf::PdmOptionItemInfo> RimCellRangeFilter::calculateValueOptions(const ca
|
||||
|
||||
if (&gridIndex == fieldNeedingOptions)
|
||||
{
|
||||
RigMainGrid * mainGrid = NULL;
|
||||
|
||||
if (parentContainer() && parentContainer()->reservoirView() && parentContainer()->reservoirView()->eclipseCase() && parentContainer()->reservoirView()->eclipseCase()->reservoirData())
|
||||
mainGrid = parentContainer()->reservoirView()->eclipseCase()->reservoirData()->mainGrid();
|
||||
|
||||
for (size_t gIdx = 0; gIdx < mainGrid->gridCount(); ++gIdx)
|
||||
for (int gIdx = 0; gIdx < parentContainer()->gridCount(); ++gIdx)
|
||||
{
|
||||
RigGridBase* grid = mainGrid->gridByIndex(gIdx);
|
||||
QString gridName;
|
||||
|
||||
gridName += grid->gridName().c_str();
|
||||
gridName += parentContainer()->gridName(gIdx);
|
||||
if (gIdx == 0)
|
||||
{
|
||||
if (gridName.isEmpty())
|
||||
@@ -269,19 +263,17 @@ QList<caf::PdmOptionItemInfo> RimCellRangeFilter::calculateValueOptions(const ca
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RigGridBase* RimCellRangeFilter::selectedGrid()
|
||||
const cvf::StructGridInterface* RimCellRangeFilter::selectedGrid()
|
||||
{
|
||||
RigMainGrid* mainGrid = m_parentContainer->mainGrid();
|
||||
CVF_ASSERT(mainGrid);
|
||||
|
||||
RigGridBase* grid = NULL;
|
||||
if (static_cast<size_t>(gridIndex()) >= mainGrid->gridCount())
|
||||
if (gridIndex() >= m_parentContainer->gridCount())
|
||||
{
|
||||
gridIndex = 0;
|
||||
}
|
||||
|
||||
grid = mainGrid->gridByIndex(gridIndex());
|
||||
const cvf::StructGridInterface* grid = m_parentContainer->gridByIndex(gridIndex());
|
||||
|
||||
CVF_ASSERT(grid);
|
||||
|
||||
return grid;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ class RimEclipseView;
|
||||
namespace cvf
|
||||
{
|
||||
class CellRangeFilter;
|
||||
class StructGridInterface;
|
||||
}
|
||||
|
||||
//==================================================================================================
|
||||
@@ -67,7 +68,7 @@ protected:
|
||||
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly );
|
||||
|
||||
private:
|
||||
RigGridBase* selectedGrid();
|
||||
const cvf::StructGridInterface* selectedGrid();
|
||||
|
||||
RimCellRangeFilterCollection* m_parentContainer;
|
||||
};
|
||||
|
||||
@@ -24,6 +24,10 @@
|
||||
#include "RigGridBase.h"
|
||||
#include "RimEclipseView.h"
|
||||
#include "RigCaseData.h"
|
||||
#include "RigFemPartCollection.h"
|
||||
#include "RimGeoMechView.h"
|
||||
#include "RimGeoMechCase.h"
|
||||
#include "RigGeomechCaseData.h"
|
||||
|
||||
|
||||
CAF_PDM_SOURCE_INIT(RimCellRangeFilterCollection, "CellRangeFilterCollection");
|
||||
@@ -55,7 +59,7 @@ RimCellRangeFilterCollection::~RimCellRangeFilterCollection()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimCellRangeFilterCollection::setReservoirView(RimEclipseView* reservoirView)
|
||||
void RimCellRangeFilterCollection::setReservoirView(RimView* reservoirView)
|
||||
{
|
||||
m_reservoirView = reservoirView;
|
||||
}
|
||||
@@ -108,13 +112,14 @@ void RimCellRangeFilterCollection::compoundCellRangeFilter(cvf::CellRangeFilter*
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RigMainGrid* RimCellRangeFilterCollection::mainGrid() const
|
||||
{
|
||||
if (m_reservoirView &&
|
||||
m_reservoirView->eclipseCase() &&
|
||||
m_reservoirView->eclipseCase()->reservoirData() &&
|
||||
m_reservoirView->eclipseCase()->reservoirData()->mainGrid())
|
||||
RimEclipseView* eclipseView = this->eclipseView();
|
||||
if (eclipseView &&
|
||||
eclipseView->eclipseCase() &&
|
||||
eclipseView->eclipseCase()->reservoirData() &&
|
||||
eclipseView->eclipseCase()->reservoirData()->mainGrid())
|
||||
{
|
||||
|
||||
return m_reservoirView->eclipseCase()->reservoirData()->mainGrid();
|
||||
return eclipseView->eclipseCase()->reservoirData()->mainGrid();
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@@ -126,9 +131,10 @@ RigMainGrid* RimCellRangeFilterCollection::mainGrid() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RigActiveCellInfo* RimCellRangeFilterCollection::activeCellInfo() const
|
||||
{
|
||||
if (m_reservoirView )
|
||||
RimEclipseView* eclipseView = this->eclipseView();
|
||||
if (eclipseView )
|
||||
{
|
||||
return m_reservoirView->currentActiveCellInfo();
|
||||
return eclipseView->currentActiveCellInfo();
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@@ -140,6 +146,7 @@ RigActiveCellInfo* RimCellRangeFilterCollection::activeCellInfo() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimCellRangeFilterCollection::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
|
||||
{
|
||||
|
||||
this->updateUiIconFromToggleField();
|
||||
|
||||
CVF_ASSERT(m_reservoirView);
|
||||
@@ -166,13 +173,20 @@ RimCellRangeFilter* RimCellRangeFilterCollection::createAndAppendRangeFilter()
|
||||
|
||||
return rangeFilter;
|
||||
}
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimView* RimCellRangeFilterCollection::reservoirView()
|
||||
{
|
||||
return m_reservoirView;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimEclipseView* RimCellRangeFilterCollection::reservoirView()
|
||||
RimEclipseView* RimCellRangeFilterCollection::eclipseView() const
|
||||
{
|
||||
return m_reservoirView;
|
||||
return dynamic_cast<RimEclipseView*>(m_reservoirView);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -240,3 +254,90 @@ bool RimCellRangeFilterCollection::hasActiveIncludeFilters() const
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const cvf::StructGridInterface* RimCellRangeFilterCollection::gridByIndex(int gridIndex) const
|
||||
{
|
||||
RigMainGrid* mnGrid = mainGrid();
|
||||
RigFemPartCollection* femPartColl = this->femPartColl();
|
||||
|
||||
if (mnGrid)
|
||||
{
|
||||
RigGridBase* grid = NULL;
|
||||
|
||||
grid = mnGrid->gridByIndex(gridIndex);
|
||||
|
||||
CVF_ASSERT(grid);
|
||||
|
||||
return grid;
|
||||
}
|
||||
else if (femPartColl)
|
||||
{
|
||||
if (gridIndex < femPartColl->partCount())
|
||||
return femPartColl->part(gridIndex)->structGrid();
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RimCellRangeFilterCollection::gridCount() const
|
||||
{
|
||||
RigMainGrid* mnGrid = mainGrid();
|
||||
RigFemPartCollection* femPartColl = this->femPartColl();
|
||||
|
||||
if (mnGrid)
|
||||
{
|
||||
return (int)mnGrid->gridCount();
|
||||
}
|
||||
else if (femPartColl)
|
||||
{
|
||||
return femPartColl->partCount();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimCellRangeFilterCollection::gridName(int gridIndex) const
|
||||
{
|
||||
RigMainGrid* mnGrid = mainGrid();
|
||||
RigFemPartCollection* femPartColl = this->femPartColl();
|
||||
|
||||
if (mnGrid)
|
||||
{
|
||||
return mnGrid->gridByIndex(gridIndex)->gridName().c_str();
|
||||
}
|
||||
else if (femPartColl)
|
||||
{
|
||||
return QString::number(gridIndex);
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RigFemPartCollection* RimCellRangeFilterCollection::femPartColl() const
|
||||
{
|
||||
RimGeoMechView* eclipseView = dynamic_cast<RimGeoMechView*>(m_reservoirView);
|
||||
|
||||
if (eclipseView &&
|
||||
eclipseView->geoMechCase() &&
|
||||
eclipseView->geoMechCase()->geoMechData() )
|
||||
{
|
||||
|
||||
return eclipseView->geoMechCase()->geoMechData()->femParts();
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
|
||||
class RigActiveCellInfo;
|
||||
class RigGridBase;
|
||||
class RimView;
|
||||
class RigFemPartCollection;
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
@@ -46,9 +48,13 @@ public:
|
||||
bool hasActiveFilters() const;
|
||||
bool hasActiveIncludeFilters() const;
|
||||
|
||||
void setReservoirView(RimEclipseView* reservoirView);
|
||||
RimEclipseView* reservoirView();
|
||||
RigMainGrid* mainGrid() const;
|
||||
void setReservoirView(RimView* reservoirView);
|
||||
|
||||
RimView* reservoirView();
|
||||
const cvf::StructGridInterface* gridByIndex(int gridIndex) const;
|
||||
int gridCount() const;
|
||||
QString gridName(int gridIndex) const;
|
||||
|
||||
RigActiveCellInfo* activeCellInfo() const;
|
||||
|
||||
// Overridden methods
|
||||
@@ -61,5 +67,9 @@ protected:
|
||||
|
||||
|
||||
private:
|
||||
RimEclipseView* m_reservoirView;
|
||||
RimEclipseView* eclipseView() const;
|
||||
RigMainGrid* mainGrid() const;
|
||||
RigFemPartCollection* femPartColl() const;
|
||||
|
||||
RimView* m_reservoirView;
|
||||
};
|
||||
|
||||
@@ -121,7 +121,7 @@ public:
|
||||
virtual void loadDataAndUpdate();
|
||||
bool isTimeStepDependentDataVisible() const;
|
||||
|
||||
void scheduleGeometryRegen(unsigned short geometryType);
|
||||
virtual void scheduleGeometryRegen(unsigned short geometryType);
|
||||
void scheduleReservoirGridGeometryRegen();
|
||||
void schedulePipeGeometryRegen();
|
||||
void updateDisplayModelForWellResults();
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
#include "cafFrameAnimationControl.h"
|
||||
#include <QMessageBox>
|
||||
#include "cafProgressInfo.h"
|
||||
#include "RimCellRangeFilterCollection.h"
|
||||
|
||||
|
||||
|
||||
@@ -63,6 +64,11 @@ RimGeoMechView::RimGeoMechView(void)
|
||||
CAF_PDM_InitFieldNoDefault(&cellResult, "GridCellResult", "Color Result", ":/CellResult.png", "", "");
|
||||
cellResult = new RimGeoMechResultSlot();
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&rangeFilterCollection, "RangeFilters", "Range Filters", "", "", "");
|
||||
rangeFilterCollection = new RimCellRangeFilterCollection();
|
||||
rangeFilterCollection->setReservoirView(this);
|
||||
|
||||
|
||||
this->cellResult()->setReservoirView(this);
|
||||
this->cellResult()->legendConfig()->setPosition(cvf::Vec2ui(10, 120));
|
||||
this->cellResult()->legendConfig()->setReservoirView(this);
|
||||
|
||||
@@ -34,8 +34,10 @@ class Rim3dOverlayInfoConfig;
|
||||
class RiuViewer;
|
||||
class RimGeoMechCase;
|
||||
class RivGeoMechPartMgr;
|
||||
class RimCellRangeFilterCollection;
|
||||
|
||||
class RigFemPart;
|
||||
|
||||
namespace cvf {
|
||||
class Transform;
|
||||
}
|
||||
@@ -60,11 +62,13 @@ public:
|
||||
virtual void endAnimation() {}
|
||||
|
||||
caf::PdmField<RimGeoMechResultSlot*> cellResult;
|
||||
caf::PdmField<RimCellRangeFilterCollection*> rangeFilterCollection;
|
||||
|
||||
|
||||
bool isTimeStepDependentDataVisible();
|
||||
|
||||
private:
|
||||
virtual void scheduleGeometryRegen(unsigned short geometryType){}
|
||||
virtual void createDisplayModel();
|
||||
virtual void updateDisplayModelVisibility();
|
||||
virtual void updateScaleTransform();
|
||||
|
||||
@@ -92,6 +92,7 @@ public:
|
||||
void updateCurrentTimeStepAndRedraw();
|
||||
void endAnimation();
|
||||
|
||||
virtual void scheduleGeometryRegen(unsigned short geometryType) = 0;
|
||||
void scheduleCreateDisplayModelAndRedraw();
|
||||
void createDisplayModelAndRedraw();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user