From 320596ac8a2b94fa3367379475eadf0e45053216 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Mon, 19 Jan 2009 18:34:17 +0000
Subject: [PATCH] fix colors + color bar for "Numeric" range type

---
 Graphics/drawPost.cpp   | 4 ++--
 Graphics/drawScales.cpp | 5 ++++-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/Graphics/drawPost.cpp b/Graphics/drawPost.cpp
index d9342403d1..7b018e3d53 100644
--- a/Graphics/drawPost.cpp
+++ b/Graphics/drawPost.cpp
@@ -1139,7 +1139,7 @@ static void drawNumberGlyphs(drawContext *ctx, PView *p, int numNodes, int numCo
     for(int j = 0; j < numComp; j++) d[j] /= (double)numNodes;
     double v = ComputeScalarRep(numComp, d);
     if(v >= vmin && v <= vmax){
-      unsigned int col = opt->getColor(v, vmin, vmax);
+      unsigned int col = opt->getColor(v, vmin, vmax, false, opt->NbIso);
       glColor4ubv((GLubyte *) & col);
       glRasterPos3d(pc.x(), pc.y(), pc.z());
       if(opt->CenterGlyphs)
@@ -1152,7 +1152,7 @@ static void drawNumberGlyphs(drawContext *ctx, PView *p, int numNodes, int numCo
     for(int i = 0; i < numNodes; i++){
       double v = ComputeScalarRep(numComp, val[i]);
       if(v >= vmin && v <= vmax){
-        unsigned int col = opt->getColor(v, vmin, vmax);
+        unsigned int col = opt->getColor(v, vmin, vmax, false, opt->NbIso);
         glColor4ubv((GLubyte *) & col);
         glRasterPos3d(xyz[i][0], xyz[i][1], xyz[i][2]);
         if(opt->CenterGlyphs)
diff --git a/Graphics/drawScales.cpp b/Graphics/drawScales.cpp
index b580e9ca88..9dd4eecbc6 100644
--- a/Graphics/drawScales.cpp
+++ b/Graphics/drawScales.cpp
@@ -21,7 +21,8 @@ static void drawScaleBar(PView *p, double xmin, double ymin, double width,
   double box = (horizontal ? width : height) / (opt->NbIso ? opt->NbIso : 1);
 
   for(int i = 0; i < opt->NbIso; i++) {
-    if(opt->IntervalsType == PViewOptions::Discrete){
+    if(opt->IntervalsType == PViewOptions::Discrete ||
+       opt->IntervalsType == PViewOptions::Numeric){
       unsigned int col = opt->getColor(i, opt->NbIso);
       glColor4ubv((GLubyte *) &col);
       glBegin(GL_QUADS);
@@ -100,6 +101,7 @@ static void drawScaleValues(drawContext *ctx, PView *p, double xmin, double ymin
 
   int nbv = opt->NbIso;
   double f = (opt->IntervalsType == PViewOptions::Discrete ||
+              opt->IntervalsType == PViewOptions::Numeric ||
               opt->IntervalsType == PViewOptions::Continuous) ? 2 : 2.5;
 
   if(horizontal && width < nbv * maxw){
@@ -117,6 +119,7 @@ static void drawScaleValues(drawContext *ctx, PView *p, double xmin, double ymin
   glColor4ubv((GLubyte *) & CTX.color.text);
 
   if(opt->IntervalsType == PViewOptions::Discrete ||
+     opt->IntervalsType == PViewOptions::Numeric ||
      opt->IntervalsType == PViewOptions::Continuous){
     for(int i = 0; i < nbv + 1; i++) {
       double v = opt->getScaleValue(i, nbv + 1, opt->TmpMin, opt->TmpMax);
-- 
GitLab