Fixed some missing update guards on intersections/intersection box

This commit is contained in:
Jacob Støren
2016-09-28 09:04:21 +02:00
parent db57bc5b28
commit 3ca53b6103
5 changed files with 20 additions and 20 deletions

View File

@@ -63,7 +63,8 @@ RivIntersectionBoxPartMgr::RivIntersectionBoxPartMgr(const RimIntersectionBox* i
m_intersectionBoxFacesTextureCoords = new cvf::Vec2fArray; m_intersectionBoxFacesTextureCoords = new cvf::Vec2fArray;
computeData(); cvf::ref<RivIntersectionHexGridInterface> hexGrid = createHexGridInterface();
m_intersectionBoxGenerator = new RivIntersectionBoxGeometryGenerator(m_rimIntersectionBox, hexGrid.p());
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -71,8 +72,6 @@ RivIntersectionBoxPartMgr::RivIntersectionBoxPartMgr(const RimIntersectionBox* i
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RivIntersectionBoxPartMgr::applySingleColorEffect() void RivIntersectionBoxPartMgr::applySingleColorEffect()
{ {
if (m_intersectionBoxGenerator.isNull()) return;
m_defaultColor = cvf::Color3f::OLIVE;//m_rimCrossSection->CrossSectionColor(); m_defaultColor = cvf::Color3f::OLIVE;//m_rimCrossSection->CrossSectionColor();
this->updatePartEffect(); this->updatePartEffect();
} }
@@ -82,7 +81,6 @@ void RivIntersectionBoxPartMgr::applySingleColorEffect()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RivIntersectionBoxPartMgr::updateCellResultColor(size_t timeStepIndex) void RivIntersectionBoxPartMgr::updateCellResultColor(size_t timeStepIndex)
{ {
if (m_intersectionBoxGenerator.isNull()) return;
if (!m_intersectionBoxGenerator->isAnyGeometryPresent()) return; if (!m_intersectionBoxGenerator->isAnyGeometryPresent()) return;
@@ -280,7 +278,6 @@ const int priMesh = 3;
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RivIntersectionBoxPartMgr::generatePartGeometry() void RivIntersectionBoxPartMgr::generatePartGeometry()
{ {
if (m_intersectionBoxGenerator.isNull()) return;
bool useBufferObjects = true; bool useBufferObjects = true;
// Surface geometry // Surface geometry
@@ -296,7 +293,7 @@ void RivIntersectionBoxPartMgr::generatePartGeometry()
} }
cvf::ref<cvf::Part> part = new cvf::Part; cvf::ref<cvf::Part> part = new cvf::Part;
part->setName("Cross Section"); part->setName("Intersection Box");
part->setDrawable(geo.p()); part->setDrawable(geo.p());
// Set mapping from triangle face index to cell index // Set mapping from triangle face index to cell index
@@ -322,7 +319,7 @@ void RivIntersectionBoxPartMgr::generatePartGeometry()
} }
cvf::ref<cvf::Part> part = new cvf::Part; cvf::ref<cvf::Part> part = new cvf::Part;
part->setName("Cross Section mesh"); part->setName("Intersection box mesh");
part->setDrawable(geoMesh.p()); part->setDrawable(geoMesh.p());
part->updateBoundingBox(); part->updateBoundingBox();
@@ -342,8 +339,6 @@ void RivIntersectionBoxPartMgr::generatePartGeometry()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RivIntersectionBoxPartMgr::updatePartEffect() void RivIntersectionBoxPartMgr::updatePartEffect()
{ {
if (m_intersectionBoxGenerator.isNull()) return;
// Set deCrossSection effect // Set deCrossSection effect
caf::SurfaceEffectGenerator geometryEffgen(m_defaultColor, caf::PO_1); caf::SurfaceEffectGenerator geometryEffgen(m_defaultColor, caf::PO_1);
@@ -402,14 +397,6 @@ void RivIntersectionBoxPartMgr::appendMeshLinePartsToModel(cvf::ModelBasicList*
} }
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RivIntersectionBoxPartMgr::computeData()
{
cvf::ref<RivIntersectionHexGridInterface> hexGrid = createHexGridInterface();
m_intersectionBoxGenerator = new RivIntersectionBoxGeometryGenerator(m_rimIntersectionBox, hexGrid.p());
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///

View File

@@ -57,7 +57,6 @@ public:
private: private:
void updatePartEffect(); void updatePartEffect();
void generatePartGeometry(); void generatePartGeometry();
void computeData();
static void calculateEclipseTextureCoordinates(cvf::Vec2fArray* textureCoords, static void calculateEclipseTextureCoordinates(cvf::Vec2fArray* textureCoords,
const std::vector<size_t>& triangleToCellIdxMap, const std::vector<size_t>& triangleToCellIdxMap,

View File

@@ -268,6 +268,9 @@ void RimGeoMechView::createDisplayModel()
{ {
updateLegends(); updateLegends();
m_vizLogic->updateStaticCellColors(-1); m_vizLogic->updateStaticCellColors(-1);
crossSectionCollection->applySingleColorEffect();
intersectionBoxCollection->applySingleColorEffect();
m_overlayInfoConfig()->update3DInfo(); m_overlayInfoConfig()->update3DInfo();
} }
} }
@@ -316,6 +319,9 @@ void RimGeoMechView::updateCurrentTimeStep()
else else
{ {
m_vizLogic->updateStaticCellColors(-1); m_vizLogic->updateStaticCellColors(-1);
crossSectionCollection->applySingleColorEffect();
intersectionBoxCollection->applySingleColorEffect();
m_viewer->animationControl()->slotPause(); // To avoid animation timer spinning in the background m_viewer->animationControl()->slotPause(); // To avoid animation timer spinning in the background
} }

View File

@@ -66,6 +66,8 @@ caf::PdmFieldHandle* RimIntersectionBoxCollection::objectToggleField()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimIntersectionBoxCollection::applySingleColorEffect() void RimIntersectionBoxCollection::applySingleColorEffect()
{ {
if (!isActive) return;
for (size_t csIdx = 0; csIdx < m_intersectionBoxes.size(); ++csIdx) for (size_t csIdx = 0; csIdx < m_intersectionBoxes.size(); ++csIdx)
{ {
RimIntersectionBox* cs = m_intersectionBoxes[csIdx]; RimIntersectionBox* cs = m_intersectionBoxes[csIdx];
@@ -81,6 +83,8 @@ void RimIntersectionBoxCollection::applySingleColorEffect()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimIntersectionBoxCollection::updateCellResultColor(size_t timeStepIndex) void RimIntersectionBoxCollection::updateCellResultColor(size_t timeStepIndex)
{ {
if (!isActive) return;
for (size_t csIdx = 0; csIdx < m_intersectionBoxes.size(); ++csIdx) for (size_t csIdx = 0; csIdx < m_intersectionBoxes.size(); ++csIdx)
{ {
RimIntersectionBox* cs = m_intersectionBoxes[csIdx]; RimIntersectionBox* cs = m_intersectionBoxes[csIdx];

View File

@@ -65,6 +65,8 @@ caf::PdmFieldHandle* RimIntersectionCollection::objectToggleField()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimIntersectionCollection::applySingleColorEffect() void RimIntersectionCollection::applySingleColorEffect()
{ {
if(!this->isActive()) return;
for (size_t csIdx = 0; csIdx < m_crossSections.size(); ++csIdx) for (size_t csIdx = 0; csIdx < m_crossSections.size(); ++csIdx)
{ {
RimIntersection* cs = m_crossSections[csIdx]; RimIntersection* cs = m_crossSections[csIdx];
@@ -80,10 +82,12 @@ void RimIntersectionCollection::applySingleColorEffect()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimIntersectionCollection::updateCellResultColor(size_t timeStepIndex) void RimIntersectionCollection::updateCellResultColor(size_t timeStepIndex)
{ {
for (size_t csIdx = 0; csIdx < m_crossSections.size(); ++csIdx) if(!this->isActive()) return;
for(size_t csIdx = 0; csIdx < m_crossSections.size(); ++csIdx)
{ {
RimIntersection* cs = m_crossSections[csIdx]; RimIntersection* cs = m_crossSections[csIdx];
if (cs->isActive) if(cs->isActive)
{ {
cs->crossSectionPartMgr()->updateCellResultColor(timeStepIndex); cs->crossSectionPartMgr()->updateCellResultColor(timeStepIndex);
} }