Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[MANTA] r1209 - trunk/Core/Color


Chronological Thread 
  • From: abe@sci.utah.edu
  • To: manta@sci.utah.edu
  • Subject: [MANTA] r1209 - trunk/Core/Color
  • Date: Fri, 6 Oct 2006 14:59:49 -0600 (MDT)

Author: abe
Date: Fri Oct  6 14:59:49 2006
New Revision: 1209

Modified:
   trunk/Core/Color/RegularColorMap.cc
   trunk/Core/Color/RegularColorMap.h
Log:

Added function to perform colormap lookup.

M    RegularColorMap.h
M    RegularColorMap.cc


Modified: trunk/Core/Color/RegularColorMap.cc
==============================================================================
--- trunk/Core/Color/RegularColorMap.cc (original)
+++ trunk/Core/Color/RegularColorMap.cc Fri Oct  6 14:59:49 2006
@@ -1,6 +1,7 @@
 
 #include <Core/Color/Color.h>
 #include <Core/Color/RegularColorMap.h>
+#include <SCIRun/Core/Math/MinMax.h>
 
 #include <fstream>
 using std::ifstream;
@@ -19,7 +20,7 @@
   if (!fillColor(filename, colors)) {
     cerr<<"RegularColorMap::RegularColorMap("<<filename
          <<"):  Unable to load colormap from file, using default\n";
-    fillColor(GrayScale, colors);
+    fillColor(GreyScale, colors);
   }
 
   fillBlendedColors(blended);
@@ -106,11 +107,11 @@
     colors.add(Color(RGB(1, 1, 0.70588237)));
     colors.add(Color(RGB(1, 1, 1)));
     break;
-  case GrayScale:
+  case GreyScale:
     colors.add(Color(RGB(0,0,0)));
     colors.add(Color(RGB(1,1,1)));
     break;
-  case InvGrayScale:
+  case InvGreyScale:
     colors.add(Color(RGB(1,1,1)));
     colors.add(Color(RGB(0,0,0)));
     break;
@@ -206,12 +207,12 @@
   else if (type_string == "BlackBody" || type_string == "blackbody" ||
            type_string == "b")
     return BlackBody;
-  else if (type_string == "InvGrayScale" || type_string == "invgrayscale" ||
+  else if (type_string == "InvGreyScale" || type_string == "invgrayscale" ||
            type_string == "ig")
-    return InvGrayScale;
-  else if (type_string == "GrayScale" || type_string == "grayscale" ||
+    return InvGreyScale;
+  else if (type_string == "GreyScale" || type_string == "grayscale" ||
            type_string == "g")
-    return GrayScale;
+    return GreyScale;
 
   return Unknown;
 }

Modified: trunk/Core/Color/RegularColorMap.h
==============================================================================
--- trunk/Core/Color/RegularColorMap.h  (original)
+++ trunk/Core/Color/RegularColorMap.h  Fri Oct  6 14:59:49 2006
@@ -18,20 +18,32 @@
     virtual ~RegularColorMap(void) { }
 
     static unsigned int parseType(const char* type);
-
+    
     enum {
       InvRainbowIso=0,
       InvRainbow,
       Rainbow,
-      InvGrayScale,
-      GrayScale,
+      InvGreyScale,
       InvBlackBody,
       BlackBody,
+      GreyScale,      
       Unknown
     };
 
+#ifndef SWIG
     ScalarTransform1D<float, Color> lookup;
     Array1<Color> blended;
+#endif
+
+
+    
+    // Normalized lookup.
+    const Color &normalized( const Real &normalized ) const {
+
+      const int ncolors = blended.size() - 1;
+      const int idx = SCIRun::Clamp(static_cast<int>(normalized*ncolors), 0, 
ncolors);
+      return blended[idx];
+    }
 
   protected:
     bool fillColor(const char* filename, Array1<Color>& colors);




  • [MANTA] r1209 - trunk/Core/Color, abe, 10/06/2006

Archive powered by MHonArc 2.6.16.

Top of page