#2543 Tensor vectors: Use tensor value, not length, for color mapping

This commit is contained in:
Unknown
2018-03-01 16:01:14 +01:00
committed by Rebecca Cox
parent 2ac9aba485
commit 82a394d588
3 changed files with 15 additions and 12 deletions

View File

@@ -156,24 +156,24 @@ void RivTensorResultPartMgr::appendDynamicGeometryPartsToModel(cvf::ModelBasicLi
if (isDrawable(result1, m_rimReservoirView->tensorResults()->showPrincipal1()))
{
tensorVisualizations.push_back(TensorVisualization(
cvf::Vec3f(displayCoord), result1, faceNormal, isPressure(elmPrincipals[0][elmIdx]), 1));
cvf::Vec3f(displayCoord), result1, faceNormal, isPressure(elmPrincipals[0][elmIdx]), 1, elmPrincipals[0][elmIdx]));
tensorVisualizations.push_back(TensorVisualization(
cvf::Vec3f(displayCoord), -result1, faceNormal, isPressure(elmPrincipals[0][elmIdx]), 1));
cvf::Vec3f(displayCoord), -result1, faceNormal, isPressure(elmPrincipals[0][elmIdx]), 1, elmPrincipals[0][elmIdx]));
}
if (isDrawable(result2, m_rimReservoirView->tensorResults()->showPrincipal2()))
{
tensorVisualizations.push_back(TensorVisualization(
cvf::Vec3f(displayCoord), result2, faceNormal, isPressure(elmPrincipals[1][elmIdx]), 2));
cvf::Vec3f(displayCoord), result2, faceNormal, isPressure(elmPrincipals[1][elmIdx]), 2, elmPrincipals[1][elmIdx]));
tensorVisualizations.push_back(TensorVisualization(
cvf::Vec3f(displayCoord), -result2, faceNormal, isPressure(elmPrincipals[1][elmIdx]), 2));
cvf::Vec3f(displayCoord), -result2, faceNormal, isPressure(elmPrincipals[1][elmIdx]), 2, elmPrincipals[1][elmIdx]));
}
if (isDrawable(result3, m_rimReservoirView->tensorResults()->showPrincipal3()))
{
tensorVisualizations.push_back(TensorVisualization(
cvf::Vec3f(displayCoord), result3, faceNormal, isPressure(elmPrincipals[2][elmIdx]), 3));
cvf::Vec3f(displayCoord), result3, faceNormal, isPressure(elmPrincipals[2][elmIdx]), 3, elmPrincipals[2][elmIdx]));
tensorVisualizations.push_back(TensorVisualization(
cvf::Vec3f(displayCoord), -result3, faceNormal, isPressure(elmPrincipals[2][elmIdx]), 3));
cvf::Vec3f(displayCoord), -result3, faceNormal, isPressure(elmPrincipals[2][elmIdx]), 3, elmPrincipals[2][elmIdx]));
}
}
}
@@ -438,11 +438,9 @@ void RivTensorResultPartMgr::createResultColorTextureCoords(cvf::Vec2fArray*
for (auto tensor : tensorVisualizations)
{
int sign = tensor.isPressure ? 1 : -1;
for (size_t vxIdx = 0; vxIdx < 5; ++vxIdx)
{
cvf::Vec2f texCoord = mapper->mapToTextureCoord(sign * tensor.result.length());
cvf::Vec2f texCoord = mapper->mapToTextureCoord(tensor.principalValue);
textureCoords->add(texCoord);
}
}