Skip to content

Commit 28ad0f3

Browse files
committed
Fix colormapping to tensors.
1 parent 73cc907 commit 28ad0f3

File tree

1 file changed

+28
-8
lines changed

1 file changed

+28
-8
lines changed

src/Modules/Visualization/ShowFieldGlyphs.cc

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -634,14 +634,24 @@ void ShowFieldGlyphs::renderTensors(
634634
for (const auto& node : facade->nodes())
635635
{
636636
checkForInterruption();
637-
Vector v;
638-
fld->get_value(v, node.index());
637+
Tensor t;
638+
fld->get_value(t, node.index());
639639
Point p = node.point();
640+
double eigen1, eigen2, eigen3;
641+
t.get_eigenvalues(eigen1, eigen2, eigen3);
640642

641643
if (colorScheme != GeometryObject::COLOR_UNIFORM)
642644
{
643-
ColorMapHandle map = colorMap.get();
644-
node_color = map->valueToColor(v);
645+
if (colorScheme == GeometryObject::COLOR_MAP)
646+
{
647+
ColorMapHandle map = colorMap.get();
648+
node_color = map->valueToColor(t);
649+
}
650+
if (colorScheme == GeometryObject::COLOR_IN_SITU)
651+
{
652+
Vector colorVector = t.get_eigenvector1().normal();
653+
node_color = ColorRGB(colorVector.x(), colorVector.y(), colorVector.z());
654+
}
645655
}
646656
switch (state.mGlyphType)
647657
{
@@ -663,14 +673,24 @@ void ShowFieldGlyphs::renderTensors(
663673
for (const auto& cell : facade->cells())
664674
{
665675
checkForInterruption();
666-
Vector v;
667-
fld->get_value(v, cell.index());
676+
Tensor t;
677+
fld->get_value(t, cell.index());
668678
Point p = cell.center();
679+
double eigen1, eigen2, eigen3;
680+
t.get_eigenvalues(eigen1, eigen2, eigen3);
669681

670682
if (colorScheme != GeometryObject::COLOR_UNIFORM)
671683
{
672-
ColorMapHandle map = colorMap.get();
673-
node_color = map->valueToColor(v);
684+
if (colorScheme == GeometryObject::COLOR_MAP)
685+
{
686+
ColorMapHandle map = colorMap.get();
687+
node_color = map->valueToColor(t);
688+
}
689+
if (colorScheme == GeometryObject::COLOR_IN_SITU)
690+
{
691+
Vector colorVector = t.get_eigenvector1().normal();
692+
node_color = ColorRGB(colorVector.x(), colorVector.y(), colorVector.z());
693+
}
674694
}
675695
switch (state.mGlyphType)
676696
{

0 commit comments

Comments
 (0)