mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3379 Holo Lens : Add source pdmObject to RivSouceInfo
This commit is contained in:
parent
dbf0747036
commit
56c91c39fd
@ -232,7 +232,7 @@ void RivFaultPartMgr::generatePartGeometry()
|
||||
part->setDrawable(geo.p());
|
||||
|
||||
// Set mapping from triangle face index to cell index
|
||||
cvf::ref<RivSourceInfo> si = new RivSourceInfo(m_grid->gridIndex());
|
||||
cvf::ref<RivSourceInfo> si = new RivSourceInfo(const_cast<RimFaultInView*>(m_rimFault), m_grid->gridIndex());
|
||||
si->m_cellFaceFromTriangleMapper = m_nativeFaultGenerator->triangleToCellFaceMapper();
|
||||
part->setSourceInfo(si.p());
|
||||
|
||||
@ -284,7 +284,7 @@ void RivFaultPartMgr::generatePartGeometry()
|
||||
part->setDrawable(geo.p());
|
||||
|
||||
// Set mapping from triangle face index to cell index
|
||||
cvf::ref<RivSourceInfo> si = new RivSourceInfo(m_grid->gridIndex());
|
||||
cvf::ref<RivSourceInfo> si = new RivSourceInfo(const_cast<RimFaultInView*>(m_rimFault), m_grid->gridIndex());
|
||||
si->m_cellFaceFromTriangleMapper = m_oppositeFaultGenerator->triangleToCellFaceMapper();
|
||||
part->setSourceInfo(si.p());
|
||||
|
||||
@ -334,7 +334,7 @@ void RivFaultPartMgr::generatePartGeometry()
|
||||
part->setDrawable(geo.p());
|
||||
|
||||
// Set mapping from triangle face index to cell index
|
||||
cvf::ref<RivSourceInfo> si = new RivSourceInfo(m_grid->gridIndex());;
|
||||
cvf::ref<RivSourceInfo> si = new RivSourceInfo(const_cast<RimFaultInView*>(m_rimFault), m_grid->gridIndex());
|
||||
si->m_NNCIndices = m_NNCGenerator->triangleToNNCIndex().p();
|
||||
part->setSourceInfo(si.p());
|
||||
|
||||
|
@ -69,13 +69,14 @@
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RivGridPartMgr::RivGridPartMgr(const RigGridBase* grid, size_t gridIdx)
|
||||
RivGridPartMgr::RivGridPartMgr(RimEclipseCase* eclipseCase, const RigGridBase* grid, size_t gridIdx)
|
||||
: m_surfaceGenerator(grid)
|
||||
, m_gridIdx(gridIdx)
|
||||
, m_grid(grid)
|
||||
, m_surfaceFaceFilter(grid)
|
||||
, m_opacityLevel(1.0f)
|
||||
, m_defaultColor(cvf::Color3::WHITE)
|
||||
, m_eclipseCase(eclipseCase)
|
||||
{
|
||||
CVF_ASSERT(grid);
|
||||
m_cellVisibility = new cvf::UByteArray;
|
||||
@ -131,7 +132,7 @@ 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_gridIdx);
|
||||
cvf::ref<RivSourceInfo> si = new RivSourceInfo(m_eclipseCase, m_gridIdx);
|
||||
si->m_cellFaceFromTriangleMapper = geoBuilder.triangleToCellFaceMapper();
|
||||
|
||||
part->setSourceInfo(si.p());
|
||||
|
@ -22,6 +22,8 @@
|
||||
|
||||
#include "RigGridBase.h"
|
||||
|
||||
#include "cafPdmPointer.h"
|
||||
|
||||
#include "cvfBase.h"
|
||||
#include "cvfObject.h"
|
||||
|
||||
@ -38,6 +40,7 @@ namespace cvf
|
||||
|
||||
class RimEclipseCellColors;
|
||||
class RimCellEdgeColors;
|
||||
class RimEclipseCase;
|
||||
|
||||
|
||||
|
||||
@ -52,7 +55,7 @@ class RimCellEdgeColors;
|
||||
class RivGridPartMgr: public cvf::Object
|
||||
{
|
||||
public:
|
||||
RivGridPartMgr(const RigGridBase* grid, size_t gridIdx);
|
||||
RivGridPartMgr(RimEclipseCase* eclipseCase, const RigGridBase* grid, size_t gridIdx);
|
||||
~RivGridPartMgr();
|
||||
void setTransform(cvf::Transform* scaleTransform);
|
||||
void setCellVisibility(cvf::UByteArray* cellVisibilities );
|
||||
@ -87,4 +90,6 @@ private:
|
||||
cvf::ref<cvf::Part> m_surfaceGridLines;
|
||||
|
||||
cvf::ref<cvf::UByteArray> m_cellVisibility;
|
||||
|
||||
caf::PdmPointer<RimEclipseCase> m_eclipseCase;
|
||||
};
|
||||
|
@ -26,7 +26,6 @@
|
||||
RivObjectSourceInfo::RivObjectSourceInfo(caf::PdmObject* object)
|
||||
: m_object(object)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -23,8 +23,9 @@
|
||||
#include "cvfBase.h"
|
||||
#include "cvfObject.h"
|
||||
|
||||
namespace caf {
|
||||
class PdmObject;
|
||||
namespace caf
|
||||
{
|
||||
class PdmObject;
|
||||
}
|
||||
|
||||
//==================================================================================================
|
||||
|
@ -22,6 +22,8 @@
|
||||
|
||||
#include "RigEclipseCaseData.h"
|
||||
|
||||
#include "RimEclipseCase.h"
|
||||
|
||||
#include "RivGridPartMgr.h"
|
||||
#include "RivReservoirFaultsPartMgr.h"
|
||||
|
||||
@ -30,17 +32,20 @@
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RivReservoirPartMgr::clearAndSetReservoir(const RigEclipseCaseData* eclipseCase, RimEclipseView* reservoirView)
|
||||
void RivReservoirPartMgr::clearAndSetReservoir(RimEclipseCase* eclipseCase, RimEclipseView* reservoirView)
|
||||
{
|
||||
m_allGrids.clear();
|
||||
|
||||
if (eclipseCase)
|
||||
|
||||
if (eclipseCase && eclipseCase->eclipseCaseData())
|
||||
{
|
||||
RigEclipseCaseData* eclipseCaseData = eclipseCase->eclipseCaseData();
|
||||
|
||||
std::vector<const RigGridBase*> grids;
|
||||
eclipseCase->allGrids(&grids);
|
||||
eclipseCaseData->allGrids(&grids);
|
||||
for (size_t i = 0; i < grids.size() ; ++i)
|
||||
{
|
||||
m_allGrids.push_back(new RivGridPartMgr(grids[i], i));
|
||||
m_allGrids.push_back(new RivGridPartMgr(eclipseCase, grids[i], i));
|
||||
}
|
||||
|
||||
if (eclipseCase->mainGrid())
|
||||
|
@ -32,6 +32,7 @@ namespace cvf
|
||||
|
||||
class RimEclipseCellColors;
|
||||
class RimCellEdgeColors;
|
||||
class RimEclipseCase;
|
||||
class RigEclipseCaseData;
|
||||
class RimEclipseView;
|
||||
class RivReservoirFaultsPartMgr;
|
||||
@ -47,7 +48,7 @@ class RivGridPartMgr;
|
||||
class RivReservoirPartMgr: public cvf::Object
|
||||
{
|
||||
public:
|
||||
void clearAndSetReservoir(const RigEclipseCaseData* eclipseCase, RimEclipseView* reservoirView);
|
||||
void clearAndSetReservoir(RimEclipseCase* eclipseCase, RimEclipseView* reservoirView);
|
||||
void setTransform(cvf::Transform* scaleTransform);
|
||||
void setCellVisibility(size_t gridIndex, cvf::UByteArray* cellVisibilities );
|
||||
|
||||
|
@ -151,6 +151,13 @@ void RivReservoirViewPartMgr::scheduleGeometryRegen(RivCellSetEnum geometryType)
|
||||
void RivReservoirViewPartMgr::clearGeometryCache(RivCellSetEnum geomType)
|
||||
{
|
||||
RigEclipseCaseData* eclipseCase = nullptr;
|
||||
RimEclipseCase* rimEclipseCase = nullptr;
|
||||
|
||||
if (m_reservoirView)
|
||||
{
|
||||
m_reservoirView->firstAncestorOrThisOfType(rimEclipseCase);
|
||||
}
|
||||
|
||||
if (m_reservoirView != nullptr && m_reservoirView->eclipseCase())
|
||||
{
|
||||
eclipseCase = m_reservoirView->eclipseCase()->eclipseCaseData();
|
||||
@ -163,7 +170,7 @@ void RivReservoirViewPartMgr::clearGeometryCache(RivCellSetEnum geomType)
|
||||
m_propFilteredGeometryFramesNeedsRegen[i] = true;
|
||||
if (m_propFilteredGeometryFrames[i].notNull())
|
||||
{
|
||||
m_propFilteredGeometryFrames[i]->clearAndSetReservoir(eclipseCase, m_reservoirView);
|
||||
m_propFilteredGeometryFrames[i]->clearAndSetReservoir(rimEclipseCase, m_reservoirView);
|
||||
m_propFilteredGeometryFrames[i]->setTransform(m_scaleTransform.p());
|
||||
}
|
||||
}
|
||||
@ -175,7 +182,7 @@ void RivReservoirViewPartMgr::clearGeometryCache(RivCellSetEnum geomType)
|
||||
m_propFilteredWellGeometryFramesNeedsRegen[i] = true;
|
||||
if (m_propFilteredWellGeometryFrames[i].notNull())
|
||||
{
|
||||
m_propFilteredWellGeometryFrames[i]->clearAndSetReservoir(eclipseCase, m_reservoirView);
|
||||
m_propFilteredWellGeometryFrames[i]->clearAndSetReservoir(rimEclipseCase, m_reservoirView);
|
||||
m_propFilteredWellGeometryFrames[i]->setTransform(m_scaleTransform.p());
|
||||
}
|
||||
}
|
||||
@ -183,7 +190,7 @@ void RivReservoirViewPartMgr::clearGeometryCache(RivCellSetEnum geomType)
|
||||
else
|
||||
{
|
||||
m_geometriesNeedsRegen[geomType] = true;
|
||||
m_geometries[geomType].clearAndSetReservoir(eclipseCase, m_reservoirView);
|
||||
m_geometries[geomType].clearAndSetReservoir(rimEclipseCase, m_reservoirView);
|
||||
m_geometries[geomType].setTransform(m_scaleTransform.p());
|
||||
}
|
||||
}
|
||||
@ -275,7 +282,8 @@ void RivReservoirViewPartMgr::ensureDynamicGeometryPartsCreated(RivCellSetEnum g
|
||||
void RivReservoirViewPartMgr::createGeometry(RivCellSetEnum geometryType)
|
||||
{
|
||||
RigEclipseCaseData* res = m_reservoirView->eclipseCase()->eclipseCaseData();
|
||||
m_geometries[geometryType].clearAndSetReservoir(res, m_reservoirView);
|
||||
|
||||
m_geometries[geometryType].clearAndSetReservoir(m_reservoirView->eclipseCase(), m_reservoirView);
|
||||
m_geometries[geometryType].setTransform(m_scaleTransform.p());
|
||||
|
||||
std::vector<RigGridBase*> grids;
|
||||
@ -434,7 +442,7 @@ void RivReservoirViewPartMgr::createPropertyFilteredNoneWellCellGeometry(size_t
|
||||
|
||||
if ( m_propFilteredGeometryFrames[frameIndex].isNull()) m_propFilteredGeometryFrames[frameIndex] = new RivReservoirPartMgr;
|
||||
|
||||
m_propFilteredGeometryFrames[frameIndex]->clearAndSetReservoir(res, m_reservoirView);
|
||||
m_propFilteredGeometryFrames[frameIndex]->clearAndSetReservoir(m_reservoirView->eclipseCase(), m_reservoirView);
|
||||
m_propFilteredGeometryFrames[frameIndex]->setTransform(m_scaleTransform.p());
|
||||
|
||||
std::vector<RigGridBase*> grids;
|
||||
@ -510,7 +518,7 @@ void RivReservoirViewPartMgr::createPropertyFilteredWellGeometry(size_t frameInd
|
||||
|
||||
if ( m_propFilteredWellGeometryFrames[frameIndex].isNull()) m_propFilteredWellGeometryFrames[frameIndex] = new RivReservoirPartMgr;
|
||||
|
||||
m_propFilteredWellGeometryFrames[frameIndex]->clearAndSetReservoir(res, m_reservoirView);
|
||||
m_propFilteredWellGeometryFrames[frameIndex]->clearAndSetReservoir(m_reservoirView->eclipseCase(), m_reservoirView);
|
||||
m_propFilteredWellGeometryFrames[frameIndex]->setTransform(m_scaleTransform.p());
|
||||
|
||||
std::vector<RigGridBase*> grids;
|
||||
|
@ -18,8 +18,25 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "RivSourceInfo.h"
|
||||
|
||||
#include "cvfStructGridGeometryGenerator.h"
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RivSourceInfo::RivSourceInfo(caf::PdmObject* pdmObject, size_t gridIndex)
|
||||
: RivObjectSourceInfo(pdmObject)
|
||||
, m_gridIndex(gridIndex)
|
||||
{
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
size_t RivSourceInfo::gridIndex() const
|
||||
{
|
||||
return m_gridIndex;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
|
@ -19,23 +19,31 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "RivObjectSourceInfo.h"
|
||||
|
||||
#include "cvfArray.h"
|
||||
#include "cvfBase.h"
|
||||
#include "cvfObject.h"
|
||||
#include "cvfArray.h"
|
||||
|
||||
#include "cvfStructGridGeometryGenerator.h"
|
||||
|
||||
class RivSourceInfo : public cvf::Object
|
||||
//==================================================================================================
|
||||
///
|
||||
///
|
||||
//==================================================================================================
|
||||
class RivSourceInfo : public RivObjectSourceInfo
|
||||
{
|
||||
public:
|
||||
explicit RivSourceInfo(size_t gridIndex) : m_gridIndex(gridIndex) {}
|
||||
explicit RivSourceInfo(caf::PdmObject* pdmObject, size_t gridIndex);
|
||||
|
||||
size_t gridIndex() const { return m_gridIndex; }
|
||||
size_t gridIndex() const;
|
||||
bool hasCellFaceMapping() const;
|
||||
bool hasNNCIndices() const;
|
||||
|
||||
public:
|
||||
cvf::cref<cvf::StuctGridTriangleToCellFaceMapper> m_cellFaceFromTriangleMapper;
|
||||
cvf::ref<cvf::Array<size_t> > m_NNCIndices;
|
||||
cvf::ref<cvf::Array<size_t>> m_NNCIndices;
|
||||
|
||||
private:
|
||||
size_t m_gridIndex;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user