mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
(#646) Show selected cells in geo mech view
This commit is contained in:
@@ -20,6 +20,12 @@
|
||||
#include "RivSingleCellPartGenerator.h"
|
||||
|
||||
#include "RigCaseData.h"
|
||||
#include "RigFemPartCollection.h"
|
||||
#include "RigGeoMechCaseData.h"
|
||||
|
||||
#include "RimGeoMechCase.h"
|
||||
|
||||
#include "RivFemPartGeometryGenerator.h"
|
||||
|
||||
#include "cafEffectGenerator.h"
|
||||
#include "cvfPart.h"
|
||||
@@ -33,7 +39,19 @@
|
||||
RivSingleCellPartGenerator::RivSingleCellPartGenerator(RigCaseData* rigCaseData, size_t gridIndex, size_t cellIndex)
|
||||
: m_rigCaseData(rigCaseData),
|
||||
m_gridIndex(gridIndex),
|
||||
m_cellIndex(cellIndex)
|
||||
m_cellIndex(cellIndex),
|
||||
m_geoMechCase(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RivSingleCellPartGenerator::RivSingleCellPartGenerator(RimGeoMechCase* rimGeoMechCase, size_t gridIndex, size_t cellIndex)
|
||||
: m_geoMechCase(rimGeoMechCase),
|
||||
m_gridIndex(gridIndex),
|
||||
m_cellIndex(cellIndex),
|
||||
m_rigCaseData(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -56,6 +74,8 @@ cvf::ref<cvf::Part> RivSingleCellPartGenerator::createPart(const cvf::Color3f co
|
||||
|
||||
part->setEffect(eff.p());
|
||||
|
||||
part->setPriority(10000);
|
||||
|
||||
return part;
|
||||
}
|
||||
|
||||
@@ -64,11 +84,20 @@ cvf::ref<cvf::Part> RivSingleCellPartGenerator::createPart(const cvf::Color3f co
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
cvf::ref<cvf::DrawableGeo> RivSingleCellPartGenerator::createMeshDrawable()
|
||||
{
|
||||
if (m_rigCaseData &&
|
||||
m_cellIndex != cvf::UNDEFINED_SIZE_T)
|
||||
if (m_rigCaseData && m_cellIndex != cvf::UNDEFINED_SIZE_T)
|
||||
{
|
||||
return cvf::StructGridGeometryGenerator::createMeshDrawableFromSingleCell(m_rigCaseData->grid(m_gridIndex), m_cellIndex);
|
||||
}
|
||||
else if (m_geoMechCase && m_cellIndex != cvf::UNDEFINED_SIZE_T)
|
||||
{
|
||||
CVF_ASSERT(m_geoMechCase->geoMechData());
|
||||
CVF_ASSERT(m_geoMechCase->geoMechData()->femParts()->partCount() > m_gridIndex);
|
||||
|
||||
RigFemPart* femPart = m_geoMechCase->geoMechData()->femParts()->part(m_gridIndex);
|
||||
CVF_ASSERT(femPart);
|
||||
|
||||
return RivFemPartGeometryGenerator::createMeshDrawableFromSingleElement(femPart, m_cellIndex);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ namespace cvf
|
||||
}
|
||||
|
||||
class RigCaseData;
|
||||
class RimGeoMechCase;
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
@@ -37,6 +38,7 @@ class RivSingleCellPartGenerator
|
||||
{
|
||||
public:
|
||||
RivSingleCellPartGenerator(RigCaseData* rigCaseData, size_t gridIndex, size_t cellIndex);
|
||||
RivSingleCellPartGenerator(RimGeoMechCase* rimGeoMechCase, size_t gridIndex, size_t cellIndex);
|
||||
|
||||
cvf::ref<cvf::Part> createPart(const cvf::Color3f color);
|
||||
|
||||
@@ -44,7 +46,8 @@ private:
|
||||
cvf::ref<cvf::DrawableGeo> createMeshDrawable();
|
||||
|
||||
private:
|
||||
RigCaseData* m_rigCaseData;
|
||||
size_t m_gridIndex;
|
||||
size_t m_cellIndex;
|
||||
RigCaseData* m_rigCaseData;
|
||||
RimGeoMechCase* m_geoMechCase;
|
||||
size_t m_gridIndex;
|
||||
size_t m_cellIndex;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user