Index: /trunk/packages/vizservers/nanovis/Grid.cpp
===================================================================
--- /trunk/packages/vizservers/nanovis/Grid.cpp	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/Grid.cpp	(revision 3470)
@@ -250,8 +250,4 @@
 void Grid::setFont(Fonts *font)
 {
-//    if (font == _font) return;
-//    if (font) font->addRef();
-//    if (_font) _font->unrefDelete();
-
     _font = font;
 }
Index: /trunk/packages/vizservers/nanovis/graphics/Makefile.in
===================================================================
--- /trunk/packages/vizservers/nanovis/graphics/Makefile.in	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/graphics/Makefile.in	(revision 3470)
@@ -48,5 +48,5 @@
 all: $(NVGRAPHICSLIB)
 
-install: 
+install: all
 
 $(NVGRAPHICSLIB): $(OBJS)
@@ -63,2 +63,7 @@
 distclean: clean
 	$(RM) Makefile *~
+
+Geometry.o: Geometry.h IndexBuffer.h VertexBuffer.h
+IndexBuffer.o: IndexBuffer.h
+RenderContext.o: RenderContext.h
+VertexBuffer.o: VertexBuffer.h
Index: /trunk/packages/vizservers/nanovis/imgLoaders/ImageLoader.h
===================================================================
--- /trunk/packages/vizservers/nanovis/imgLoaders/ImageLoader.h	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/imgLoaders/ImageLoader.h	(revision 3470)
@@ -8,5 +8,4 @@
 
 class ImageLoaderImpl;
-class Image;
 
 class ImageLoader
Index: /trunk/packages/vizservers/nanovis/imgLoaders/Makefile.in
===================================================================
--- /trunk/packages/vizservers/nanovis/imgLoaders/Makefile.in	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/imgLoaders/Makefile.in	(revision 3470)
@@ -48,5 +48,5 @@
 all: $(IMGLIB)
 
-install: 
+install: all
 
 $(IMGLIB): $(OBJS)
@@ -64,2 +64,7 @@
 	$(RM) Makefile *~
 
+BMPImageLoaderImpl.o: BMPImageLoaderImpl.h Image.h $(srcdir)/../Trace.h
+Image.o: Image.h
+ImageLoader.o: ImageLoader.h ImageLoaderImpl.h Image.h
+ImageLoaderFactory.o: ImageLoaderFactory.h ImageLoader.h ImageLoaderImpl.h Image.h $(srcdir)/../Trace.h
+ImageLoaderImpl.o: ImageLoaderImpl.h Image.h
Index: /trunk/packages/vizservers/nanovis/nanovis.cpp
===================================================================
--- /trunk/packages/vizservers/nanovis/nanovis.cpp	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/nanovis.cpp	(revision 3470)
@@ -271,4 +271,8 @@
     }
 #endif
+    if (fonts != NULL) {
+        TRACE("Deleting fonts");
+        delete fonts;
+    }
     TRACE("Leave");
 }
Index: /trunk/packages/vizservers/nanovis/newmat11/Makefile.in
===================================================================
--- /trunk/packages/vizservers/nanovis/newmat11/Makefile.in	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/newmat11/Makefile.in	(revision 3470)
@@ -62,5 +62,5 @@
 all: $(MATLIB)
 
-install: 
+install: all
 
 $(MATLIB): $(OBJS)
Index: /trunk/packages/vizservers/nanovis/util/Fonts.h
===================================================================
--- /trunk/packages/vizservers/nanovis/util/Fonts.h	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/util/Fonts.h	(revision 3470)
@@ -9,11 +9,10 @@
 #include <string>
 
-#include <util/Object.h>
-
 namespace nv {
 namespace util {
 
-class Fonts : public Object
+class Fonts
 {
+public:
     struct FontAttributes {
         std::string _fontName;
@@ -35,8 +34,6 @@
     };
 
-    typedef std::vector<FontAttributes>  FontVector;
-
-public:
     Fonts();
+    ~Fonts();
 
     /// set projection to orthographic
@@ -66,5 +63,5 @@
 
 private:
-    ~Fonts();
+    typedef std::vector<FontAttributes> FontVector;
 
     FontVector _fonts;
Index: /trunk/packages/vizservers/nanovis/util/Makefile.in
===================================================================
--- /trunk/packages/vizservers/nanovis/util/Makefile.in	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/util/Makefile.in	(revision 3470)
@@ -42,10 +42,9 @@
 OBJS		= \
 		FilePath.o \
-		Fonts.o \
-		Object.o
+		Fonts.o
 
 all: $(NVUTILLIB)
 
-install: 
+install: all
 
 $(NVUTILLIB): $(OBJS)
@@ -62,2 +61,5 @@
 distclean: clean
 	$(RM) Makefile *~
+
+FilePath.o: FilePath.h $(srcdir)/../Trace.h
+Fonts.o: Fonts.h
Index: unk/packages/vizservers/nanovis/util/Object.cpp
===================================================================
--- /trunk/packages/vizservers/nanovis/util/Object.cpp	(revision 3469)
+++ 	(revision )
@@ -1,17 +1,0 @@
-/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
-/*
- *  Copyright (c) 2004-2013  HUBzero Foundation, LLC
- */
-
-#include "Object.h"
-
-using namespace nv::util;
-
-Object::Object() :
-    _refCount(0)
-{
-}
-
-Object::~Object()
-{
-}
Index: unk/packages/vizservers/nanovis/util/Object.h
===================================================================
--- /trunk/packages/vizservers/nanovis/util/Object.h	(revision 3469)
+++ 	(revision )
@@ -1,50 +1,0 @@
-/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
-/*
- *  Copyright (c) 2004-2013  HUBzero Foundation, LLC
- */
-#ifndef NV_UTIL_OBJECT_H
-#define NV_UTIL_OBJECT_H
-
-namespace nv {
-namespace util {
-
-class Object
-{
-public:
-    Object();
-
-    int getRef();
-    int ref();
-    void unref();
-
-protected:
-    virtual ~Object();
-
-private:
-    /// reference count
-    int _refCount;
-};
-
-inline int Object::getRef()
-{
-    return _refCount;
-}
-
-inline int Object::ref()
-{
-    return ++_refCount;
-}
-
-inline void Object::unref()
-{
-    _refCount--;
-    if (_refCount <= 0) {
-	delete this;
-    }
-}
-
-}
-}
-
-#endif
-
Index: /trunk/packages/vizservers/nanovis/vrmath/BPlane.cpp
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/BPlane.cpp	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/BPlane.cpp	(revision 3470)
@@ -1,4 +1,6 @@
 /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
 #include <vrmath/BPlane.h>
+#include <vrmath/Vector3f.h>
+#include <vrmath/LineSegment.h>
 
 void vrBPlane::makePts(const vrVector3f& p1, const vrVector3f& p2, const vrVector3f& p3)
Index: unk/packages/vizservers/nanovis/vrmath/Linmath.cpp
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/Linmath.cpp	(revision 3469)
+++ 	(revision )
@@ -1,189 +1,0 @@
-/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
-#include <cstdlib>
-#include <cmath>
-#include <memory.h>
-
-#include <vrmath/Linmath.h>
-#include <vrmath/Vector3f.h>
-
-vrVector3f vrCalcuNormal(const vrVector3f& v1, const vrVector3f& v2, const vrVector3f& v3)
-{
-    vrVector3f temp;
-
-    float a[3], b[3];
-
-    a[0] = v2.x - v1.x;
-    a[1] = v2.y - v1.y;
-    a[2] = v2.z - v1.z;
-    b[0] = v3.x - v1.x;
-    b[1] = v3.y - v1.y;
-    b[2] = v3.z - v1.z;
-
-    temp.x = a[1] * b[2] - a[2] * b[1];
-    temp.y = a[2] * b[0] - a[0] * b[2];
-    temp.z = a[0] * b[1] - a[1] * b[0];
-
-    float leng = (float)sqrt(temp.x * temp.x + temp.y * temp.y + temp.z * temp.z);
-
-    if (leng != 0.0f) {
-        temp.x /= leng;
-        temp.y /= leng;
-        temp.z /= leng;
-    }
-    else temp.set(-1.0f, 0.0f, 0.0f);
-
-    return temp;
-}
-
-static void __gluMakeIdentityd(float m[16])
-{
-    m[0+4*0] = 1; m[0+4*1] = 0; m[0+4*2] = 0; m[0+4*3] = 0;
-    m[1+4*0] = 0; m[1+4*1] = 1; m[1+4*2] = 0; m[1+4*3] = 0;
-    m[2+4*0] = 0; m[2+4*1] = 0; m[2+4*2] = 1; m[2+4*3] = 0;
-    m[3+4*0] = 0; m[3+4*1] = 0; m[3+4*2] = 0; m[3+4*3] = 1;
-}
-
-static int __gluInvertMatrixd(const float m[16], float invOut[16])
-{
-    float inv[16], det;
-    int i;
-
-    inv[0] =   m[5]*m[10]*m[15] - m[5]*m[11]*m[14] - m[9]*m[6]*m[15]
-        + m[9]*m[7]*m[14] + m[13]*m[6]*m[11] - m[13]*m[7]*m[10];
-    inv[4] =  -m[4]*m[10]*m[15] + m[4]*m[11]*m[14] + m[8]*m[6]*m[15]
-        - m[8]*m[7]*m[14] - m[12]*m[6]*m[11] + m[12]*m[7]*m[10];
-    inv[8] =   m[4]*m[9]*m[15] - m[4]*m[11]*m[13] - m[8]*m[5]*m[15]
-        + m[8]*m[7]*m[13] + m[12]*m[5]*m[11] - m[12]*m[7]*m[9];
-    inv[12] = -m[4]*m[9]*m[14] + m[4]*m[10]*m[13] + m[8]*m[5]*m[14]
-        - m[8]*m[6]*m[13] - m[12]*m[5]*m[10] + m[12]*m[6]*m[9];
-    inv[1] =  -m[1]*m[10]*m[15] + m[1]*m[11]*m[14] + m[9]*m[2]*m[15]
-        - m[9]*m[3]*m[14] - m[13]*m[2]*m[11] + m[13]*m[3]*m[10];
-    inv[5] =   m[0]*m[10]*m[15] - m[0]*m[11]*m[14] - m[8]*m[2]*m[15]
-        + m[8]*m[3]*m[14] + m[12]*m[2]*m[11] - m[12]*m[3]*m[10];
-    inv[9] =  -m[0]*m[9]*m[15] + m[0]*m[11]*m[13] + m[8]*m[1]*m[15]
-        - m[8]*m[3]*m[13] - m[12]*m[1]*m[11] + m[12]*m[3]*m[9];
-    inv[13] =  m[0]*m[9]*m[14] - m[0]*m[10]*m[13] - m[8]*m[1]*m[14]
-        + m[8]*m[2]*m[13] + m[12]*m[1]*m[10] - m[12]*m[2]*m[9];
-    inv[2] =   m[1]*m[6]*m[15] - m[1]*m[7]*m[14] - m[5]*m[2]*m[15]
-        + m[5]*m[3]*m[14] + m[13]*m[2]*m[7] - m[13]*m[3]*m[6];
-    inv[6] =  -m[0]*m[6]*m[15] + m[0]*m[7]*m[14] + m[4]*m[2]*m[15]
-        - m[4]*m[3]*m[14] - m[12]*m[2]*m[7] + m[12]*m[3]*m[6];
-    inv[10] =  m[0]*m[5]*m[15] - m[0]*m[7]*m[13] - m[4]*m[1]*m[15]
-        + m[4]*m[3]*m[13] + m[12]*m[1]*m[7] - m[12]*m[3]*m[5];
-    inv[14] = -m[0]*m[5]*m[14] + m[0]*m[6]*m[13] + m[4]*m[1]*m[14]
-        - m[4]*m[2]*m[13] - m[12]*m[1]*m[6] + m[12]*m[2]*m[5];
-    inv[3] =  -m[1]*m[6]*m[11] + m[1]*m[7]*m[10] + m[5]*m[2]*m[11]
-        - m[5]*m[3]*m[10] - m[9]*m[2]*m[7] + m[9]*m[3]*m[6];
-    inv[7] =   m[0]*m[6]*m[11] - m[0]*m[7]*m[10] - m[4]*m[2]*m[11]
-        + m[4]*m[3]*m[10] + m[8]*m[2]*m[7] - m[8]*m[3]*m[6];
-    inv[11] = -m[0]*m[5]*m[11] + m[0]*m[7]*m[9] + m[4]*m[1]*m[11]
-        - m[4]*m[3]*m[9] - m[8]*m[1]*m[7] + m[8]*m[3]*m[5];
-    inv[15] =  m[0]*m[5]*m[10] - m[0]*m[6]*m[9] - m[4]*m[1]*m[10]
-        + m[4]*m[2]*m[9] + m[8]*m[1]*m[6] - m[8]*m[2]*m[5];
-
-    det = m[0]*inv[0] + m[1]*inv[4] + m[2]*inv[8] + m[3]*inv[12];
-
-    if (det == 0)
-        return 0;
-
-    det = 1.0f / det;
-
-    for (i = 0; i < 16; i++)
-        invOut[i] = inv[i] * det;
-
-    return 1;
-}
-
-static void __gluMultMatrixVecd(const float matrix[16], const float in[4],
-                                float out[4])
-{
-    int i;
-
-    for (i=0; i<4; i++) {
-        out[i] =
-            in[0] * matrix[0*4+i] +
-            in[1] * matrix[1*4+i] +
-            in[2] * matrix[2*4+i] +
-            in[3] * matrix[3*4+i];
-    }
-}
-
-static void __gluMultMatricesd(const float a[16], const float b[16],
-                               float r[16])
-{
-    int i, j;
-
-    for (i = 0; i < 4; i++) {
-        for (j = 0; j < 4; j++) {
-            r[i*4+j] =
-                a[i*4+0]*b[0*4+j] +
-                a[i*4+1]*b[1*4+j] +
-                a[i*4+2]*b[2*4+j] +
-                a[i*4+3]*b[3*4+j];
-        }
-    }
-}
-
-int vrUnproject(float winx, float winy, float winz,
-                const float modelMatrix[16],
-                const float projMatrix[16],
-                const int viewport[4],
-                float *objx, float *objy, float *objz)
-{
-    float finalMatrix[16];
-    float in[4];
-    float out[4];
-
-    __gluMultMatricesd(modelMatrix, projMatrix, finalMatrix);
-    if (!__gluInvertMatrixd(finalMatrix, finalMatrix)) return(0);
-
-    in[0]=winx;
-    in[1]=winy;
-    in[2]=winz;
-    in[3]=1.0;
-
-    // Map x and y from window coordinates 
-    in[0] = (in[0] - viewport[0]) / viewport[2];
-    in[1] = (in[1] - viewport[1]) / viewport[3];
-
-    // Map to range -1 to 1 
-    in[0] = in[0] * 2 - 1;
-    in[1] = in[1] * 2 - 1;
-    in[2] = in[2] * 2 - 1;
-
-    __gluMultMatrixVecd(finalMatrix, in, out);
-    if (out[3] == 0.0) return(0);
-    out[0] /= out[3];
-    out[1] /= out[3];
-    out[2] /= out[3];
-    *objx = out[0];
-    *objy = out[1];
-    *objz = out[2];
-    return(1);
-}
-
-#define __glPi 3.14159265358979323846
-
-void vrPerspective(float fovy, float aspect, float zNear, float zFar, float* matrix)
-{
-    float m[4][4];
-    float sine, cotangent, deltaZ;
-    float radians = (float) (fovy / 2.0f * __glPi / 180.0f);
-
-    deltaZ = zFar - zNear;
-    sine = sin(radians);
-    if ((deltaZ == 0) || (sine == 0) || (aspect == 0)) {
-        return;
-    }
-    cotangent = cos(radians) / sine;
-
-    __gluMakeIdentityd(&m[0][0]);
-    m[0][0] = cotangent / aspect;
-    m[1][1] = cotangent;
-    m[2][2] = -(zFar + zNear) / deltaZ;
-    m[2][3] = -1;
-    m[3][2] = -2 * zNear * zFar / deltaZ;
-    m[3][3] = 0;
-    //glMultMatrixd(&m[0][0]);
-    memcpy(matrix, &m[0][0], sizeof(float) * 16);
-}
Index: /trunk/packages/vizservers/nanovis/vrmath/Makefile.in
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/Makefile.in	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/Makefile.in	(revision 3470)
@@ -40,4 +40,6 @@
 VRMATHLIB	= vrmath.a
 
+#		Projection.o \
+
 OBJS		= \
 		BBox.o \
@@ -45,9 +47,7 @@
 		Color4f.o \
 		LineSegment.o \
-		Linmath.o \
 		Matrix4x4f.o \
 		Plane.o \
 		Plane2.o \
-		Projection.o \
 		Quaternion.o \
 		Rotation.o \
@@ -56,7 +56,9 @@
 		Vector4f.o \
 
+.PHONY: all install clean distclean
+
 all: $(VRMATHLIB)
 
-install: 
+install: all
 
 $(VRMATHLIB): $(OBJS)
@@ -74,2 +76,14 @@
 	$(RM) Makefile *~
 
+BBox.o: $(srcdir)/include/vrmath/BBox.h $(srcdir)/include/vrmath/Vector3f.h
+BPlane.o: $(srcdir)/include/vrmath/BPlane.h $(srcdir)/include/vrmath/Vector3f.h $(srcdir)/include/vrmath/LineSegment.h
+Color4f.o: $(srcdir)/include/vrmath/Color4f.h
+LineSegment.o: $(srcdir)/include/vrmath/LineSegment.h
+Matrix4x4f.o: $(srcdir)/include/vrmath/Matrix4x4f.h $(srcdir)/include/vrmath/Vector3f.h $(srcdir)/include/vrmath/Rotation.h
+Plane.o: $(srcdir)/include/vrmath/Plane.h $(srcdir)/include/vrmath/Matrix4x4f.h
+Plane2.o: $(srcdir)/include/vrmath/Plane2.h $(srcdir)/include/vrmath/LineSegment.h
+Quaternion.o: $(srcdir)/include/vrmath/Quaternion.h $(srcdir)/include/vrmath/Rotation.h $(srcdir)/include/vrmath/Vector3f.h
+Rotation.o: $(srcdir)/include/vrmath/Quaternion.h $(srcdir)/include/vrmath/Rotation.h $(srcdir)/include/vrmath/Vector3f.h
+Vector2f.o: $(srcdir)/include/vrmath/Vector2f.h
+Vector3f.o: $(srcdir)/include/vrmath/Vector3f.h $(srcdir)/include/vrmath/Matrix4x4f.h
+Vector4f.o: $(srcdir)/include/vrmath/Vector4f.h $(srcdir)/include/vrmath/Matrix4x4f.h
Index: /trunk/packages/vizservers/nanovis/vrmath/Plane.cpp
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/Plane.cpp	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/Plane.cpp	(revision 3470)
@@ -1,4 +1,5 @@
 /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
 #include <vrmath/Plane.h>
+#include <vrmath/Matrix4x4f.h>
 
 void vrPlane::transform(vrMatrix4x4f& mat)
Index: /trunk/packages/vizservers/nanovis/vrmath/Plane2.cpp
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/Plane2.cpp	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/Plane2.cpp	(revision 3470)
@@ -1,4 +1,5 @@
 /* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
 #include <vrmath/Plane2.h>
+#include <vrmath/LineSegment.h>
 
 void vrPlane2::makePts(const vrVector3f& p1, const vrVector3f& p2, const vrVector3f& p3)
Index: /trunk/packages/vizservers/nanovis/vrmath/Projection.cpp
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/Projection.cpp	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/Projection.cpp	(revision 3470)
@@ -3,4 +3,35 @@
 #include <math.h>
 #include <memory.h>
+
+#if 0
+vrVector3f vrCalcNormal(const vrVector3f& v1, const vrVector3f& v2, const vrVector3f& v3)
+{
+    vrVector3f temp;
+
+    float a[3], b[3];
+
+    a[0] = v2.x - v1.x;
+    a[1] = v2.y - v1.y;
+    a[2] = v2.z - v1.z;
+    b[0] = v3.x - v1.x;
+    b[1] = v3.y - v1.y;
+    b[2] = v3.z - v1.z;
+
+    temp.x = a[1] * b[2] - a[2] * b[1];
+    temp.y = a[2] * b[0] - a[0] * b[2];
+    temp.z = a[0] * b[1] - a[1] * b[0];
+
+    float leng = (float)sqrt(temp.x * temp.x + temp.y * temp.y + temp.z * temp.z);
+
+    if (leng != 0.0f) {
+        temp.x /= leng;
+        temp.y /= leng;
+        temp.z /= leng;
+    }
+    else temp.set(-1.0f, 0.0f, 0.0f);
+
+    return temp;
+}
+#endif
 
 static void __gluMakeIdentityd(float m[16])
@@ -11,5 +42,4 @@
     m[3+4*0] = 0; m[3+4*1] = 0; m[3+4*2] = 0; m[3+4*3] = 1;
 }
-
 
 static int __gluInvertMatrixd(const float m[16], float invOut[16])
@@ -53,5 +83,5 @@
     det = m[0]*inv[0] + m[1]*inv[4] + m[2]*inv[8] + m[3]*inv[12];
 
-	    if (det == 0)
+    if (det == 0)
         return 0;
 
@@ -64,7 +94,6 @@
 }
 
-
 static void __gluMultMatrixVecd(const float matrix[16], const float in[4],
-                      float out[4])
+                                float out[4])
 {
     int i;
@@ -80,5 +109,5 @@
 
 static void __gluMultMatricesd(const float a[16], const float b[16],
-                                float r[16])
+                               float r[16])
 {
     int i, j;
@@ -96,8 +125,8 @@
 
 int unproject(float winx, float winy, float winz,
-                const float modelMatrix[16],
-                const float projMatrix[16],
-                const int viewport[4],
-                float *objx, float *objy, float *objz)
+              const float modelMatrix[16],
+              const float projMatrix[16],
+              const int viewport[4],
+              float *objx, float *objy, float *objz)
 {
     float finalMatrix[16];
@@ -158,3 +187,2 @@
     memcpy(matrix, &m[0][0], sizeof(float) * 16);
 }
-
Index: /trunk/packages/vizservers/nanovis/vrmath/Quaternion.cpp
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/Quaternion.cpp	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/Quaternion.cpp	(revision 3470)
@@ -12,5 +12,4 @@
 #include <vrmath/Quaternion.h>
 #include <vrmath/Rotation.h>
-#include <vrmath/Linmath.h>
 #include <vrmath/Vector3f.h>
 
Index: /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/BBox.h
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/BBox.h	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/BBox.h	(revision 3470)
@@ -3,7 +3,7 @@
 #define VRBBOX_H
 
-#include <vrmath/Linmath.h>
 #include <vrmath/Vector3f.h>
-#include <vrmath/Matrix4x4f.h>
+
+class vrMatrix4x4f;
 
 class vrBBox
Index: /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/BPlane.h
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/BPlane.h	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/BPlane.h	(revision 3470)
@@ -9,7 +9,7 @@
 #define VRBPLANE_H
 
-#include <vrmath/Linmath.h>
 #include <vrmath/Vector3f.h>
-#include <vrmath/LineSegment.h>
+
+class vrLineSegment;
 
 class vrBPlane
Index: /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Color4f.h
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Color4f.h	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Color4f.h	(revision 3470)
@@ -2,6 +2,4 @@
 #ifndef VRCOLOR4F_H
 #define VRCOLOR4F_H
-
-#include <vrmath/Linmath.h>
 
 class vrColor4f
Index: /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/LineSegment.h
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/LineSegment.h	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/LineSegment.h	(revision 3470)
@@ -9,7 +9,7 @@
 #define VRLINESEGMENT_H
 
-#include <vrmath/Linmath.h>
 #include <vrmath/Vector3f.h>
-#include <vrmath/Matrix4x4f.h>
+
+class vrMatrix4x4f;
 
 class vrLineSegment
Index: unk/packages/vizservers/nanovis/vrmath/include/vrmath/Linmath.h
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Linmath.h	(revision 3469)
+++ 	(revision )
@@ -1,26 +1,0 @@
-/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
-#ifndef VRLINMATH_H
-#define VRLINMATH_H
-
-class vrVector3f;
-
-extern vrVector3f vrCalcuNormal(const vrVector3f& v1, const vrVector3f& v2, const vrVector3f& v3);
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-int vrUnproject(float winx, float winy, float winz,
-                const float modelMatrix[16],
-                const float projMatrix[16],
-                const int viewport[4],
-                float *objx, float *objy, float *objz);
-
-void vrPerspective(float fovy, float aspect, float zNear, float zFar, float* matrix);
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif
-
Index: /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Matrix4x4f.h
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Matrix4x4f.h	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Matrix4x4f.h	(revision 3470)
@@ -5,7 +5,7 @@
 #include <memory.h>
 
-#include <vrmath/Linmath.h>
 #include <vrmath/Vector3f.h>
-#include <vrmath/Rotation.h>
+
+class vrRotation;
 
 class vrMatrix4x4f
Index: /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Plane.h
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Plane.h	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Plane.h	(revision 3470)
@@ -9,8 +9,8 @@
 #define VRPLANE_H
 
-#include <vrmath/Linmath.h>
-#include <vrmath/Matrix4x4f.h>
 #include <vrmath/Vector4f.h>
 #include <vrmath/Vector3f.h>
+
+class vrMatrix4x4f;
 
 class vrPlane
Index: /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Plane2.h
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Plane2.h	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Plane2.h	(revision 3470)
@@ -8,7 +8,7 @@
 #define VRPLANE2_H
 
-#include <vrmath/Linmath.h>
 #include <vrmath/Vector3f.h>
-#include <vrmath/LineSegment.h>
+
+class vrLineSegment;
 
 class vrPlane2
Index: /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Projection.h
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Projection.h	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Projection.h	(revision 3470)
@@ -3,9 +3,5 @@
 #define VRPROJECTION_H
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-int
+extern int
 unproject(float winx, float winy, float winz,
           const float modelMatrix[16],
@@ -14,10 +10,6 @@
           float *objx, float *objy, float *objz);
 
-void
+extern void
 perspective(float fovy, float aspect, float zNear, float zFar, float *matrix);
-
-#ifdef __cplusplus
-};
-#endif
 
 #endif
Index: /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Quaternion.h
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Quaternion.h	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Quaternion.h	(revision 3470)
@@ -8,6 +8,4 @@
 #ifndef VRQUATERNION_H
 #define VRQUATERNION_H
-
-#include <vrmath/Linmath.h>
 
 class vrRotation;
Index: /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Rotation.h
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Rotation.h	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Rotation.h	(revision 3470)
@@ -2,6 +2,4 @@
 #ifndef VRROTATION_H
 #define VRROTATION_H
-
-#include <vrmath/Linmath.h>
 
 class vrVector3f;
Index: /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Vector2f.h
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Vector2f.h	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Vector2f.h	(revision 3470)
@@ -5,6 +5,4 @@
 #include <cstdlib>
 #include <cmath>
-
-#include <vrmath/Linmath.h>
 
 class vrVector2f
Index: /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Vector3f.h
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Vector3f.h	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Vector3f.h	(revision 3470)
@@ -5,6 +5,4 @@
 #include <cstdlib>
 #include <cmath>
-
-#include <vrmath/Linmath.h>
 
 class vrMatrix4x4f;
Index: /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Vector4f.h
===================================================================
--- /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Vector4f.h	(revision 3469)
+++ /trunk/packages/vizservers/nanovis/vrmath/include/vrmath/Vector4f.h	(revision 3470)
@@ -3,5 +3,4 @@
 #define VRVECTOR4F_H
 
-#include <vrmath/Linmath.h>
 #include <vrmath/Vector3f.h>
 #include <vrmath/Vector4f.h>
