mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3379 Holo Lens : Add RivCellSetEnum to RivSouceInfo
This commit is contained in:
@@ -69,7 +69,7 @@
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RivGridPartMgr::RivGridPartMgr(RimEclipseCase* eclipseCase, const RigGridBase* grid, size_t gridIdx)
|
||||
RivGridPartMgr::RivGridPartMgr(RivCellSetEnum cellSetType, RimEclipseCase* eclipseCase, const RigGridBase* grid, size_t gridIdx)
|
||||
: m_surfaceGenerator(grid)
|
||||
, m_gridIdx(gridIdx)
|
||||
, m_grid(grid)
|
||||
@@ -77,6 +77,7 @@ RivGridPartMgr::RivGridPartMgr(RimEclipseCase* eclipseCase, const RigGridBase* g
|
||||
, m_opacityLevel(1.0f)
|
||||
, m_defaultColor(cvf::Color3::WHITE)
|
||||
, m_eclipseCase(eclipseCase)
|
||||
, m_cellSetType(cellSetType)
|
||||
{
|
||||
CVF_ASSERT(grid);
|
||||
m_cellVisibility = new cvf::UByteArray;
|
||||
@@ -132,7 +133,9 @@ void RivGridPartMgr::generatePartGeometry(cvf::StructGridGeometryGenerator& geoB
|
||||
part->setTransform(m_scaleTransform.p());
|
||||
|
||||
// Set mapping from triangle face index to cell index
|
||||
cvf::ref<RivSourceInfo> si = new RivSourceInfo(m_eclipseCase, m_gridIdx);
|
||||
cvf::ref<RivSourceInfo> si = new RivSourceInfo(m_eclipseCase, m_gridIdx);
|
||||
si->setCellSetType(m_cellSetType);
|
||||
|
||||
si->m_cellFaceFromTriangleMapper = geoBuilder.triangleToCellFaceMapper();
|
||||
|
||||
part->setSourceInfo(si.p());
|
||||
@@ -186,6 +189,17 @@ void RivGridPartMgr::generatePartGeometry(cvf::StructGridGeometryGenerator& geoB
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RivSourceInfo* RivGridPartMgr::createSourceInfo()
|
||||
{
|
||||
auto si = new RivSourceInfo(m_eclipseCase, m_gridIdx);
|
||||
si->setCellSetType(m_cellSetType);
|
||||
|
||||
return si;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@@ -22,6 +22,8 @@
|
||||
|
||||
#include "RigGridBase.h"
|
||||
|
||||
#include "RivCellSetEnum.h"
|
||||
|
||||
#include "cafPdmPointer.h"
|
||||
|
||||
#include "cvfBase.h"
|
||||
@@ -41,6 +43,7 @@ namespace cvf
|
||||
class RimEclipseCellColors;
|
||||
class RimCellEdgeColors;
|
||||
class RimEclipseCase;
|
||||
class RivSourceInfo;
|
||||
|
||||
|
||||
|
||||
@@ -55,8 +58,9 @@ class RimEclipseCase;
|
||||
class RivGridPartMgr: public cvf::Object
|
||||
{
|
||||
public:
|
||||
RivGridPartMgr(RimEclipseCase* eclipseCase, const RigGridBase* grid, size_t gridIdx);
|
||||
RivGridPartMgr(RivCellSetEnum cellSetType, RimEclipseCase* eclipseCase, const RigGridBase* grid, size_t gridIdx);
|
||||
~RivGridPartMgr();
|
||||
|
||||
void setTransform(cvf::Transform* scaleTransform);
|
||||
void setCellVisibility(cvf::UByteArray* cellVisibilities );
|
||||
cvf::ref<cvf::UByteArray> cellVisibility() { return m_cellVisibility;}
|
||||
@@ -72,6 +76,8 @@ public:
|
||||
|
||||
private:
|
||||
void generatePartGeometry(cvf::StructGridGeometryGenerator& geoBuilder);
|
||||
|
||||
RivSourceInfo* createSourceInfo();
|
||||
|
||||
private:
|
||||
size_t m_gridIdx;
|
||||
@@ -92,4 +98,5 @@ private:
|
||||
cvf::ref<cvf::UByteArray> m_cellVisibility;
|
||||
|
||||
caf::PdmPointer<RimEclipseCase> m_eclipseCase;
|
||||
RivCellSetEnum m_cellSetType;
|
||||
};
|
||||
|
@@ -32,11 +32,10 @@
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RivReservoirPartMgr::clearAndSetReservoir(RimEclipseCase* eclipseCase, RimEclipseView* reservoirView)
|
||||
void RivReservoirPartMgr::clearAndSetReservoir(RivCellSetEnum cellSetType, RimEclipseCase* eclipseCase, RimEclipseView* reservoirView)
|
||||
{
|
||||
m_allGrids.clear();
|
||||
|
||||
|
||||
if (eclipseCase && eclipseCase->eclipseCaseData())
|
||||
{
|
||||
RigEclipseCaseData* eclipseCaseData = eclipseCase->eclipseCaseData();
|
||||
@@ -45,7 +44,7 @@ void RivReservoirPartMgr::clearAndSetReservoir(RimEclipseCase* eclipseCase, RimE
|
||||
eclipseCaseData->allGrids(&grids);
|
||||
for (size_t i = 0; i < grids.size() ; ++i)
|
||||
{
|
||||
m_allGrids.push_back(new RivGridPartMgr(eclipseCase, grids[i], i));
|
||||
m_allGrids.push_back(new RivGridPartMgr(cellSetType, eclipseCase, grids[i], i));
|
||||
}
|
||||
|
||||
if (eclipseCase->mainGrid())
|
||||
|
@@ -20,6 +20,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "RivCellSetEnum.h"
|
||||
|
||||
#include "cvfBase.h"
|
||||
#include "cvfArray.h"
|
||||
#include "cvfCollection.h"
|
||||
@@ -48,7 +50,7 @@ class RivGridPartMgr;
|
||||
class RivReservoirPartMgr: public cvf::Object
|
||||
{
|
||||
public:
|
||||
void clearAndSetReservoir(RimEclipseCase* eclipseCase, RimEclipseView* reservoirView);
|
||||
void clearAndSetReservoir(RivCellSetEnum cellSetType, RimEclipseCase* eclipseCase, RimEclipseView* reservoirView);
|
||||
void setTransform(cvf::Transform* scaleTransform);
|
||||
void setCellVisibility(size_t gridIndex, cvf::UByteArray* cellVisibilities );
|
||||
|
||||
@@ -73,8 +75,10 @@ public:
|
||||
RimCellEdgeColors* cellEdgeResultColors);
|
||||
void appendFaultPartsToModel(cvf::ModelBasicList* model);
|
||||
void appendFaultLabelPartsToModel(cvf::ModelBasicList* model);
|
||||
private:
|
||||
|
||||
private:
|
||||
cvf::Collection<RivGridPartMgr> m_allGrids; // Main grid and all LGR's
|
||||
cvf::ref<RivReservoirFaultsPartMgr> m_faultsPartMgr;
|
||||
|
||||
RivCellSetEnum m_cellSetType;
|
||||
};
|
||||
|
@@ -170,7 +170,7 @@ void RivReservoirViewPartMgr::clearGeometryCache(RivCellSetEnum geomType)
|
||||
m_propFilteredGeometryFramesNeedsRegen[i] = true;
|
||||
if (m_propFilteredGeometryFrames[i].notNull())
|
||||
{
|
||||
m_propFilteredGeometryFrames[i]->clearAndSetReservoir(rimEclipseCase, m_reservoirView);
|
||||
m_propFilteredGeometryFrames[i]->clearAndSetReservoir(geomType, rimEclipseCase, m_reservoirView);
|
||||
m_propFilteredGeometryFrames[i]->setTransform(m_scaleTransform.p());
|
||||
}
|
||||
}
|
||||
@@ -182,7 +182,7 @@ void RivReservoirViewPartMgr::clearGeometryCache(RivCellSetEnum geomType)
|
||||
m_propFilteredWellGeometryFramesNeedsRegen[i] = true;
|
||||
if (m_propFilteredWellGeometryFrames[i].notNull())
|
||||
{
|
||||
m_propFilteredWellGeometryFrames[i]->clearAndSetReservoir(rimEclipseCase, m_reservoirView);
|
||||
m_propFilteredWellGeometryFrames[i]->clearAndSetReservoir(geomType, rimEclipseCase, m_reservoirView);
|
||||
m_propFilteredWellGeometryFrames[i]->setTransform(m_scaleTransform.p());
|
||||
}
|
||||
}
|
||||
@@ -190,7 +190,7 @@ void RivReservoirViewPartMgr::clearGeometryCache(RivCellSetEnum geomType)
|
||||
else
|
||||
{
|
||||
m_geometriesNeedsRegen[geomType] = true;
|
||||
m_geometries[geomType].clearAndSetReservoir(rimEclipseCase, m_reservoirView);
|
||||
m_geometries[geomType].clearAndSetReservoir(geomType, rimEclipseCase, m_reservoirView);
|
||||
m_geometries[geomType].setTransform(m_scaleTransform.p());
|
||||
}
|
||||
}
|
||||
@@ -283,7 +283,7 @@ void RivReservoirViewPartMgr::createGeometry(RivCellSetEnum geometryType)
|
||||
{
|
||||
RigEclipseCaseData* res = m_reservoirView->eclipseCase()->eclipseCaseData();
|
||||
|
||||
m_geometries[geometryType].clearAndSetReservoir(m_reservoirView->eclipseCase(), m_reservoirView);
|
||||
m_geometries[geometryType].clearAndSetReservoir(geometryType, m_reservoirView->eclipseCase(), m_reservoirView);
|
||||
m_geometries[geometryType].setTransform(m_scaleTransform.p());
|
||||
|
||||
std::vector<RigGridBase*> grids;
|
||||
@@ -442,7 +442,7 @@ void RivReservoirViewPartMgr::createPropertyFilteredNoneWellCellGeometry(size_t
|
||||
|
||||
if ( m_propFilteredGeometryFrames[frameIndex].isNull()) m_propFilteredGeometryFrames[frameIndex] = new RivReservoirPartMgr;
|
||||
|
||||
m_propFilteredGeometryFrames[frameIndex]->clearAndSetReservoir(m_reservoirView->eclipseCase(), m_reservoirView);
|
||||
m_propFilteredGeometryFrames[frameIndex]->clearAndSetReservoir(PROPERTY_FILTERED, m_reservoirView->eclipseCase(), m_reservoirView);
|
||||
m_propFilteredGeometryFrames[frameIndex]->setTransform(m_scaleTransform.p());
|
||||
|
||||
std::vector<RigGridBase*> grids;
|
||||
@@ -518,7 +518,7 @@ void RivReservoirViewPartMgr::createPropertyFilteredWellGeometry(size_t frameInd
|
||||
|
||||
if ( m_propFilteredWellGeometryFrames[frameIndex].isNull()) m_propFilteredWellGeometryFrames[frameIndex] = new RivReservoirPartMgr;
|
||||
|
||||
m_propFilteredWellGeometryFrames[frameIndex]->clearAndSetReservoir(m_reservoirView->eclipseCase(), m_reservoirView);
|
||||
m_propFilteredWellGeometryFrames[frameIndex]->clearAndSetReservoir(PROPERTY_FILTERED_WELL_CELLS, m_reservoirView->eclipseCase(), m_reservoirView);
|
||||
m_propFilteredWellGeometryFrames[frameIndex]->setTransform(m_scaleTransform.p());
|
||||
|
||||
std::vector<RigGridBase*> grids;
|
||||
|
@@ -27,6 +27,7 @@
|
||||
RivSourceInfo::RivSourceInfo(caf::PdmObject* pdmObject, size_t gridIndex)
|
||||
: RivObjectSourceInfo(pdmObject)
|
||||
, m_gridIndex(gridIndex)
|
||||
, m_cellSetType(ALL_CELLS)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -53,3 +54,19 @@ bool RivSourceInfo::hasNNCIndices() const
|
||||
{
|
||||
return m_NNCIndices.notNull();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RivCellSetEnum RivSourceInfo::cellSetType() const
|
||||
{
|
||||
return m_cellSetType;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RivSourceInfo::setCellSetType(RivCellSetEnum cellSetEnum)
|
||||
{
|
||||
m_cellSetType = cellSetEnum;
|
||||
}
|
||||
|
@@ -19,6 +19,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "RivCellSetEnum.h"
|
||||
#include "RivObjectSourceInfo.h"
|
||||
|
||||
#include "cvfArray.h"
|
||||
@@ -40,10 +41,14 @@ public:
|
||||
bool hasCellFaceMapping() const;
|
||||
bool hasNNCIndices() const;
|
||||
|
||||
RivCellSetEnum cellSetType() const;
|
||||
void setCellSetType(RivCellSetEnum cellSetType);
|
||||
|
||||
public:
|
||||
cvf::cref<cvf::StuctGridTriangleToCellFaceMapper> m_cellFaceFromTriangleMapper;
|
||||
cvf::ref<cvf::Array<size_t>> m_NNCIndices;
|
||||
|
||||
private:
|
||||
size_t m_gridIndex;
|
||||
size_t m_gridIndex;
|
||||
RivCellSetEnum m_cellSetType;
|
||||
};
|
||||
|
Reference in New Issue
Block a user