Skip to content

Commit 5e9b3d1

Browse files
committed
Fix - support plain TRI option for TGraph2D
Draw faces and lines with fixed colors
1 parent 292730c commit 5e9b3d1

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

modules/hist/TGraph2DPainter.mjs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -850,8 +850,10 @@ class TGraph2DPainter extends ObjectPainter {
850850
res.Triangles = 11; // wireframe and colors
851851
else if (d.check('TRI2'))
852852
res.Triangles = 10; // only color triangles
853-
else if (d.check('TRIW') || d.check('TRI'))
853+
else if (d.check('TRIW'))
854854
res.Triangles = 1;
855+
else if (d.check('TRI'))
856+
res.Triangles = 2;
855857
else
856858
res.Triangles = 0;
857859
res.Line = d.check('LINE');
@@ -991,8 +993,9 @@ class TGraph2DPainter extends ObjectPainter {
991993
if (!dulaunay.fNdt) return;
992994

993995
const main_grz = !fp.logz ? fp.grz : value => (value < fp.scale_zmin) ? -0.1 : fp.grz(value),
994-
do_faces = this.options.Triangles >= 10,
995-
do_lines = this.options.Triangles % 10 === 1,
996+
plain_mode = this.options.Triangles === 2,
997+
do_faces = (this.options.Triangles >= 10) || plain_mode,
998+
do_lines = (this.options.Triangles % 10 === 1) || (plain_mode && (graph.fLineColor !== graph.fFillColor)),
996999
triangles = new Triangles3DHandler(levels, main_grz, 0, 2*fp.size_z3d, do_lines);
9971000

9981001
for (triangles.loop = 0; triangles.loop < 2; ++triangles.loop) {
@@ -1026,8 +1029,8 @@ class TGraph2DPainter extends ObjectPainter {
10261029

10271030
triangles.callFuncs((lvl, pos) => {
10281031
const geometry = createLegoGeom(this.getMainPainter(), pos, null, 100, 100),
1029-
color = palette.calcColor(lvl, levels.length),
1030-
material = new MeshBasicMaterial(getMaterialArgs(color, { side: DoubleSide, vertexColors: false })),
1032+
color = plain_mode ? this.getColor(graph.fFillColor) : palette.calcColor(lvl, levels.length),
1033+
material = new MeshBasicMaterial(getMaterialArgs(color, { side: DoubleSide, vertexColors: false })),
10311034

10321035
mesh = new Mesh(geometry, material);
10331036

@@ -1087,7 +1090,7 @@ class TGraph2DPainter extends ObjectPainter {
10871090

10881091
if (fp.usesvg) scale *= 0.3;
10891092

1090-
if (this.options.Color || this.options.Triangles) {
1093+
if (this.options.Color || (this.options.Triangles >= 10)) {
10911094
levels = main.getContourLevels(true);
10921095
palette = main.getHistPalette();
10931096
}

0 commit comments

Comments
 (0)