mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
(#331) Fix for undefined nodal results when coloring the elements
The entire element is drawn with undefined color if one or more nodal value is undefined.
This commit is contained in:
parent
14d66f2d06
commit
0af13d4e13
@ -261,17 +261,29 @@ void RivFemPartPartMgr::updateCellResultColor(size_t timeStepIndex, RimGeoMechCe
|
|||||||
int vxCount = static_cast<int>(vxToResultMapping->size());
|
int vxCount = static_cast<int>(vxToResultMapping->size());
|
||||||
|
|
||||||
#pragma omp parallel for schedule(dynamic)
|
#pragma omp parallel for schedule(dynamic)
|
||||||
for (int vxIdx = 0; vxIdx < vxCount; ++vxIdx)
|
for (int quadStartIdx = 0; quadStartIdx < vxCount; quadStartIdx += 4)
|
||||||
{
|
{
|
||||||
float resultValue = resultValues[(*vxToResultMapping)[vxIdx]];
|
float resultValue1 = resultValues[(*vxToResultMapping)[quadStartIdx]];
|
||||||
if (resultValue == HUGE_VAL || resultValue != resultValue) // a != a is true for NAN's
|
float resultValue2 = resultValues[(*vxToResultMapping)[quadStartIdx + 1]];
|
||||||
{
|
float resultValue3 = resultValues[(*vxToResultMapping)[quadStartIdx + 2]];
|
||||||
rawPtr[vxIdx][1] = 1.0f;
|
float resultValue4 = resultValues[(*vxToResultMapping)[quadStartIdx + 3]];
|
||||||
|
|
||||||
|
if ( resultValue1 == HUGE_VAL || resultValue1 != resultValue1 // a != a is true for NAN's
|
||||||
|
|| resultValue2 == HUGE_VAL || resultValue2 != resultValue2
|
||||||
|
|| resultValue3 == HUGE_VAL || resultValue3 != resultValue3
|
||||||
|
|| resultValue4 == HUGE_VAL || resultValue4 != resultValue4)
|
||||||
|
{
|
||||||
|
rawPtr[quadStartIdx][1] = 1.0f;
|
||||||
|
rawPtr[quadStartIdx + 1][1] = 1.0f;
|
||||||
|
rawPtr[quadStartIdx + 2][1] = 1.0f;
|
||||||
|
rawPtr[quadStartIdx + 3][1] = 1.0f;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
rawPtr[vxIdx] = mapper->mapToTextureCoord(resultValue);
|
rawPtr[quadStartIdx] = mapper->mapToTextureCoord(resultValue1);
|
||||||
|
rawPtr[quadStartIdx + 1] = mapper->mapToTextureCoord(resultValue2);
|
||||||
|
rawPtr[quadStartIdx + 2] = mapper->mapToTextureCoord(resultValue3);
|
||||||
|
rawPtr[quadStartIdx + 3] = mapper->mapToTextureCoord(resultValue4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user