Index: /trunk/packages/vizservers/nanovis/AxisRange.h
===================================================================
--- /trunk/packages/vizservers/nanovis/AxisRange.h	(revision 2931)
+++ /trunk/packages/vizservers/nanovis/AxisRange.h	(revision 2932)
@@ -22,5 +22,5 @@
     }
 
-    void SetRange(double min, double max)
+    void setRange(double min, double max)
     {
         _min = min;
@@ -46,4 +46,9 @@
     {
         _max = max;
+    }
+
+    double range() const
+    {
+        return (_max - _min);
     }
 
Index: /trunk/packages/vizservers/nanovis/FlowCmd.cpp
===================================================================
--- /trunk/packages/vizservers/nanovis/FlowCmd.cpp	(revision 2931)
+++ /trunk/packages/vizservers/nanovis/FlowCmd.cpp	(revision 2932)
@@ -660,8 +660,8 @@
                                  _dataPtr->zNum(), 4, data, 
                                  NanoVis::magMin, NanoVis::magMax, 0);
-    volPtr->xAxis.SetRange(_dataPtr->xMin(), _dataPtr->xMax());
-    volPtr->yAxis.SetRange(_dataPtr->yMin(), _dataPtr->yMax());
-    volPtr->zAxis.SetRange(_dataPtr->zMin(), _dataPtr->zMax());
-    volPtr->wAxis.SetRange(NanoVis::magMin, NanoVis::magMax);
+    volPtr->xAxis.setRange(_dataPtr->xMin(), _dataPtr->xMax());
+    volPtr->yAxis.setRange(_dataPtr->yMin(), _dataPtr->yMax());
+    volPtr->zAxis.setRange(_dataPtr->zMin(), _dataPtr->zMax());
+    volPtr->wAxis.setRange(NanoVis::magMin, NanoVis::magMax);
 
     Vector3 physicalMin(NanoVis::xMin, NanoVis::yMin, NanoVis::zMin);
Index: /trunk/packages/vizservers/nanovis/Grid.cpp
===================================================================
--- /trunk/packages/vizservers/nanovis/Grid.cpp	(revision 2931)
+++ /trunk/packages/vizservers/nanovis/Grid.cpp	(revision 2932)
@@ -25,12 +25,14 @@
 void Grid::render()
 {
-    glPushMatrix();
+    glPushAttrib(GL_ENABLE_BIT);
+
     glEnable(GL_DEPTH_TEST);
     glDisable(GL_TEXTURE_2D);
     glEnable(GL_BLEND);
-
 #ifdef notdef
     glEnable(GL_LINE_SMOOTH);
 #endif
+
+    glPushMatrix();
 #ifdef notdef
     glScalef(xAxis.scale(), 
@@ -38,5 +40,4 @@
              zAxis.range() / xAxis.range());
 #endif
-    glScalef(1.0, 1.0, 1.0);
 
     glTranslatef(-0.5f, -0.5f, -0.5f);
@@ -207,10 +208,7 @@
         _font->end();
     };
+
     glPopMatrix();
-    glDisable(GL_DEPTH_TEST);
-    glDisable(GL_BLEND);
-#ifdef notdef
-    glDisable(GL_LINE_SMOOTH);
-#endif
+    glPopAttrib();
 }
 
Index: /trunk/packages/vizservers/nanovis/HeightMap.cpp
===================================================================
--- /trunk/packages/vizservers/nanovis/HeightMap.cpp	(revision 2931)
+++ /trunk/packages/vizservers/nanovis/HeightMap.cpp	(revision 2932)
@@ -285,8 +285,8 @@
     _scale.y = 1.0f;
 
-    xAxis.SetRange(0.0, 1.0);
-    yAxis.SetRange(0.0, 1.0);
-    zAxis.SetRange(0.0, 1.0);
-    wAxis.SetRange(min, max);
+    xAxis.setRange(0.0, 1.0);
+    yAxis.setRange(0.0, 1.0);
+    zAxis.setRange(0.0, 1.0);
+    wAxis.setRange(min, max);
     updatePending = true;
 
@@ -366,10 +366,9 @@
 #endif
 
-    wAxis.SetRange(min, max);
-    yAxis.SetRange(min, max);
-    xAxis.SetRange(xMin, xMax);
-    zAxis.SetRange(yMin, yMax);
-    
-    
+    wAxis.setRange(min, max);
+    yAxis.setRange(min, max);
+    xAxis.setRange(xMin, xMax);
+    zAxis.setRange(yMin, yMax);
+
     min = 0.0, max = 1.0;
     xMin = yMin = min = 0.0; 
Index: /trunk/packages/vizservers/nanovis/Makefile.in
===================================================================
--- /trunk/packages/vizservers/nanovis/Makefile.in	(revision 2931)
+++ /trunk/packages/vizservers/nanovis/Makefile.in	(revision 2932)
@@ -30,5 +30,5 @@
 FF_INC_SPEC     = @FF_INC_SPEC@
 
-GL_INC_SPEC     = -I/usr/include/GL
+GL_INC_SPEC     =
 GL_LIB_SPEC     = -lGL -lglut -lGLEW -lGLU
 IMG_DIR		= ./imgLoaders
Index: /trunk/packages/vizservers/nanovis/NvParticleAdvectionShader.h
===================================================================
--- /trunk/packages/vizservers/nanovis/NvParticleAdvectionShader.h	(revision 2931)
+++ /trunk/packages/vizservers/nanovis/NvParticleAdvectionShader.h	(revision 2932)
@@ -8,5 +8,5 @@
 class NvParticleAdvectionShader : public NvShader
 {
-public : 
+public: 
     NvParticleAdvectionShader();
 
@@ -41,5 +41,5 @@
     }
 
-private :
+private:
     void init();
 
Index: /trunk/packages/vizservers/nanovis/Volume.cpp
===================================================================
--- /trunk/packages/vizservers/nanovis/Volume.cpp	(revision 2931)
+++ /trunk/packages/vizservers/nanovis/Volume.cpp	(revision 2932)
@@ -71,5 +71,5 @@
     id = _tex->id();
 
-    wAxis.SetRange(v0, v1);
+    wAxis.setRange(v0, v1);
 
     // VOLUME
Index: /trunk/packages/vizservers/nanovis/Volume.h
===================================================================
--- /trunk/packages/vizservers/nanovis/Volume.h	(revision 2931)
+++ /trunk/packages/vizservers/nanovis/Volume.h	(revision 2932)
@@ -53,4 +53,23 @@
     };
 
+    /**
+     * \brief Volume data constructor
+     *
+     * Represents a 3D regular grid with uniform spacing along
+     * each axis.  Sample spacing may differ between X, Y and Z
+     *
+     * \param x X location
+     * \param y Y location
+     * \param z Z location
+     * \param width Number of samples in X
+     * \param height Number of samples in Y
+     * \param depth Number of samples in Z
+     * \param size Scale factor
+     * \param numComponents Number of components per sample
+     * \param data width * height * depth * numComponent sample array
+     * \param vmin Scalar value minimum
+     * \param vmax Scalar value maximum
+     * \param nonZeroMin Scalar minimum which is greater than zero
+     */
     Volume(float x, float y, float z,
            int width, int height, int depth, 
Index: /trunk/packages/vizservers/nanovis/VolumeRenderer.cpp
===================================================================
--- /trunk/packages/vizservers/nanovis/VolumeRenderer.cpp	(revision 2931)
+++ /trunk/packages/vizservers/nanovis/VolumeRenderer.cpp	(revision 2932)
@@ -135,8 +135,10 @@
     }
 
+    glPushAttrib(GL_ENABLE_BIT);
+
     //two dimension pointer array
     ConvexPolygon ***polys = new ConvexPolygon**[volumes.size()];
     //number of actual slices for each volume
-    size_t *actual_slices = new size_t[volumes.size()]; 
+    size_t *actual_slices = new size_t[volumes.size()];
 
     TRACE("start loop %d\n", volumes.size());
@@ -216,6 +218,6 @@
         glPushMatrix();
         glTranslatef(shift_4d.x, shift_4d.y, shift_4d.z);
-        if(volPtr->outline()) {
-            //draw_label(i);
+        if (volPtr->outline()) {
+            //drawLabel(i);
         }
         glPopMatrix();
@@ -383,4 +385,6 @@
     //Now we are ready to render all the slices from back to front
     glEnable(GL_DEPTH_TEST);
+    // Non pre-multiplied alpha
+    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
     glEnable(GL_BLEND);
 
@@ -413,6 +417,5 @@
     }
 
-    glDisable(GL_DEPTH_TEST);
-    glDisable(GL_BLEND);
+    glPopAttrib();
 
     //Deallocate all the memory used
@@ -436,8 +439,12 @@
                                 float line_width)
 {
-    glPushMatrix();
+    glPushAttrib(GL_ENABLE_BIT);
+
     glEnable(GL_DEPTH_TEST);
     glDisable(GL_TEXTURE_2D);
     glEnable(GL_BLEND);
+
+    glMatrixMode(GL_MODELVIEW);
+    glPushMatrix();
 
     glColor4d(r, g, b, 1.0);
@@ -544,7 +551,5 @@
 #endif
     glPopMatrix();
-    glDisable(GL_DEPTH_TEST);
-    glDisable(GL_BLEND);
-    glEnable(GL_TEXTURE_2D);
+    glPopAttrib();
 }
 
Index: /trunk/packages/vizservers/nanovis/dxReader.cpp
===================================================================
--- /trunk/packages/vizservers/nanovis/dxReader.cpp	(revision 2931)
+++ /trunk/packages/vizservers/nanovis/dxReader.cpp	(revision 2932)
@@ -386,8 +386,8 @@
         volPtr = NanoVis::loadVolume(tag, nx, ny, nz, 4, data,
                                      vmin, vmax, nzero_min);
-        volPtr->xAxis.SetRange(x0, x0 + lx);
-        volPtr->yAxis.SetRange(y0, y0 + ly);
-        volPtr->zAxis.SetRange(z0, z0 + lz); 
-        volPtr->wAxis.SetRange(vmin, vmax);
+        volPtr->xAxis.setRange(x0, x0 + lx);
+        volPtr->yAxis.setRange(y0, y0 + ly);
+        volPtr->zAxis.setRange(z0, z0 + lz); 
+        volPtr->wAxis.setRange(vmin, vmax);
         volPtr->updatePending = true;
         // TBD..
@@ -495,11 +495,11 @@
         volPtr = NanoVis::loadVolume(tag, nx, ny, nz, 4, data,
                                      vmin, vmax, nzero_min);
-        volPtr->xAxis.SetRange(field.rangeMin(Rappture::xaxis),
+        volPtr->xAxis.setRange(field.rangeMin(Rappture::xaxis),
                                field.rangeMax(Rappture::xaxis));
-        volPtr->yAxis.SetRange(field.rangeMin(Rappture::yaxis),
+        volPtr->yAxis.setRange(field.rangeMin(Rappture::yaxis),
                                field.rangeMax(Rappture::yaxis));
-        volPtr->zAxis.SetRange(field.rangeMin(Rappture::zaxis),
+        volPtr->zAxis.setRange(field.rangeMin(Rappture::zaxis),
                                field.rangeMax(Rappture::zaxis));
-        volPtr->wAxis.SetRange(field.valueMin(), field.valueMax());
+        volPtr->wAxis.setRange(field.valueMin(), field.valueMax());
         volPtr->updatePending = true;
         // TBD..
