mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2543 Tensor vectors: Use tensor value, not length, for color mapping
This commit is contained in:
parent
2ac9aba485
commit
82a394d588
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -56,18 +56,20 @@ public:
|
||||
private:
|
||||
struct TensorVisualization
|
||||
{
|
||||
TensorVisualization(cvf::Vec3f vertex, cvf::Vec3f result, cvf::Vec3f faceNormal, bool isPressure, size_t princial)
|
||||
TensorVisualization(cvf::Vec3f vertex, cvf::Vec3f result, cvf::Vec3f faceNormal, bool isPressure, size_t princial, float principalValue)
|
||||
: vertex(vertex)
|
||||
, result(result)
|
||||
, faceNormal(faceNormal)
|
||||
, isPressure(isPressure)
|
||||
, princial(princial){};
|
||||
, princial(princial)
|
||||
, principalValue(principalValue) {};
|
||||
|
||||
cvf::Vec3f vertex;
|
||||
cvf::Vec3f result;
|
||||
cvf::Vec3f faceNormal;
|
||||
bool isPressure;
|
||||
size_t princial;
|
||||
float principalValue;
|
||||
};
|
||||
|
||||
private:
|
||||
|
@ -301,7 +301,10 @@ void RimGeoMechView::updateCurrentTimeStep()
|
||||
m_tensorPartMgr->appendDynamicGeometryPartsToModel(frameParts.p(), m_currentTimeStep);
|
||||
frameParts->updateBoundingBoxesRecursive();
|
||||
|
||||
frameScene->addModel(frameParts.p());
|
||||
if (frameParts->partCount() != 0)
|
||||
{
|
||||
frameScene->addModel(frameParts.p());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user