axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] 20080613.01.tpd.patch (compress viewman.c to a single


From: daly
Subject: [Axiom-developer] 20080613.01.tpd.patch (compress viewman.c to a single file)
Date: Fri, 13 Jun 2008 23:43:18 -0500

The viewman program is now a single C file.
The index has been improved.
=====================================================================
diff --git a/books/bookvol8.pamphlet b/books/bookvol8.pamphlet
index 8830367..3cf1cd5 100644
--- a/books/bookvol8.pamphlet
+++ b/books/bookvol8.pamphlet
@@ -1031,17 +1031,29 @@ However, the moColor macro IS used but not included.
    */
 #define refPt3D(v,x) ( (x)>(v).numOfPoints?traverse(resMax - 
((x)-((v).numOfPoints-1))):(v).points + (x) )
 
+@
+\index{componentProp struct}
+\index{struct!componentProp}
+<<include/component.h>>=
 typedef struct _componentProp {
   int closed,
     solid;
 } componentProp;
 
+@
+\index{struct!LPoint}
+\index{LPoint struct}
+<<include/component.h>>=
 typedef struct _LPoint { /* meaning list of points */
   componentProp prop;
   int numOfPoints;
   int *indices;
 } LPoint;
 
+@
+\index{struct!LLPoint}
+\index{LLPoint struct}
+<<include/component.h>>=
 typedef struct _LLPoint { /* meaning list of list of points */
   /* for the current 3D stuff:
      functions of 2 variables - closed is false (xmax does not close
@@ -1055,6 +1067,10 @@ typedef struct _LLPoint { /* meaning list of list of 
points */
 } LLPoint;
 
 
+@
+\index{struct!LLLPoint}
+\index{LLLPoint struct}
+<<include/component.h>>=
 typedef struct _LLLPoint { /* meaning list of list of list of points */
   /* for the current 3D stuff -- that is functions of 2 variables and
      parametric surfaces of one variable (tubes) -- there would be
@@ -1113,6 +1129,12 @@ typedef struct _LLLPoint { /* meaning list of list of 
list of points */
  * This is used to keep track of GC name in character and in unsigned long
  */
 
+@
+\index{struct!GCstruct}
+\index{GCstruct struct}
+\index{struct!GCptr}
+\index{GCptr struct}
+<<include/g.h>>=
 typedef struct _GCstruct {
   GC    GCint;
   char          GCchar[10];
@@ -1140,6 +1162,10 @@ extern GCptr GChead;      /* Points to the head of 
GCstruct linked list. */
 
 /* Used in XDraw and XDrawFilled */
 
+@
+\index{struct!Vertex}
+\index{Vertex struct}
+<<include/nox10.h>>=
 typedef struct _Vertex {
   short x, y;
   unsigned short flags;
@@ -1158,11 +1184,13 @@ typedef struct _Vertex {
   XDrawFilled so it shouldn't be defined. 
 */
 
-/*
-  XAssoc - Associations used in the XAssocTable data structure.  The 
-  associations are used as circular queue entries in the association table
-  which is contains an array of circular queues (buckets).
-  */
+@
+{\tt XAssoc} - Associations used in the XAssocTable data structure.  The 
+associations are used as circular queue entries in the association table
+which is contains an array of circular queues (buckets).
+\index{struct!XAssoc}
+\index{XAssoc struct}
+<<include/nox10.h>>=
 typedef struct _XAssoc {
   struct _XAssoc *next;        /* Next object in this bucket. */
   struct _XAssoc *prev;        /* Previous obejct in this bucket. */
@@ -1171,15 +1199,17 @@ typedef struct _XAssoc {
   char *data;          /* Pointer to untyped memory. */
 } XAssoc;
 
-/* 
-   XAssocTable - X Window System id to data structure pointer association
-   table.  An XAssocTable is a hash table whose buckets are circular
-   queues of XAssoc's.  The XAssocTable is constructed from an array of
-   XAssoc's which are the circular queue headers (bucket headers).  
-   An XAssocTable consists an XAssoc pointer that points to the first
-   bucket in the bucket array and an integer that indicates the number
-   of buckets in the array.
- */
+@
+{\tt XAssocTable} - X Window System id to data structure pointer association
+table.  An XAssocTable is a hash table whose buckets are circular
+queues of XAssoc's.  The XAssocTable is constructed from an array of
+XAssoc's which are the circular queue headers (bucket headers).  
+An XAssocTable consists an XAssoc pointer that points to the first
+bucket in the bucket array and an integer that indicates the number
+of buckets in the array.
+\index{struct!XAssocTable}
+\index{XAssocTable struct}
+<<include/nox10.h>>=
 typedef struct _XAssocTable {
   XAssoc **buckets;            /* Pointer to first bucket in bucket array.*/
   int size;                    /* Table size (number of buckets). */
@@ -1204,15 +1234,25 @@ typedef struct _XAssocTable {
 
 @
 \section{rgb.h}
+\index{struct!RGB}
+\index{RGB struct}
 <<include/rgb.h>>=
 typedef struct _RGB {
   float r,g,b;
 } RGB ;
 
+@
+\index{struct!HSV}
+\index{HSV struct}
+<<include/rgb.h>>=
 typedef struct _HSV {
   float h,s,v;
 } HSV ;
 
+@
+\index{struct!HLS}
+\index{HLS struct}
+<<include/rgb.h>>=
 typedef struct _HLS {
   float h,l,s;
 } HLS ;
@@ -1258,12 +1298,22 @@ extern int       scrn;
 #define openTube 1
 #define closedTube 0
 
+@
+\index{struct!triple}
+\index{triple struct}
+<<include/tube.h>>=
 typedef struct _triple {    /* used for normals */
   float x,y,z;
 } triple;
 
 <<include/rgb.h>>
 
+@
+\index{struct!viewTriple}
+\index{viewTriple struct}
+\index{struct!viewTriplePtr}
+\index{viewTriplePtr struct}
+<<include/tube.h>>=
 typedef struct _viewTriple { /* used for points in 3 space */
   float x,y,z,c,sc;          /* c is color component */
   float wx,wy,wz;            /* world space coords */
@@ -1283,7 +1333,10 @@ typedef struct _viewTriple { /* used for points in 3 
space */
 #define polygonComponent 3
 #define surfaceComponent 4
 
-
+@
+\index{struct!poly}
+\index{poly struct}
+<<include/tube.h>>=
 typedef struct _poly {
   int num, sortNum,
     split;                   /* how many times the polygon's been split */
@@ -1305,21 +1358,30 @@ typedef struct _poly {
     partialClipPz, totalClipPz;
 } poly;
 
-
+@
+\index{struct!polyList}
+\index{polyList struct}
+<<include/tube.h>>=
 typedef struct _polyList {
   int  numPolys;
   poly *polyIndx;
   struct _polyList *next;
 } polyList;
 
-
+@
+\index{struct!slice}
+\index{slice struct}
+<<include/tube.h>>=
 typedef struct _slice {
   int keyoffset;
   viewTriple *points;
   struct _slice *next;
 } slice;
 
-
+@
+\index{struct!tubeModel}
+\index{tubeModel struct}
+<<include/tube.h>>=
 typedef struct _tubeModel {
   /* numslices are the number of pts on the curve */
   int numslices, slicepts, numPolygons;
@@ -1328,7 +1390,10 @@ typedef struct _tubeModel {
   poly  *polygons;
 } tubeModel;
 
-
+@
+\index{struct!pointInfo}
+\index{pointInfo struct}
+<<include/tube.h>>=
 typedef struct _pointInfo {
   viewTriple *theVT;
   int        onVertex,segmentNum;
@@ -1341,7 +1406,10 @@ typedef struct _pointInfo {
 #include <X11/Xlib.h>
 #define maxGraphs 9
 
-
+@
+\index{struct!viewManager}
+\index{viewManager struct}
+<<include/view2d.h>>=
 typedef struct _viewManager {
   int viewType,          /* specifies view3d, view2d, etc... */
     PID,               /* unique integer greater than zero */
@@ -1352,17 +1420,27 @@ typedef struct _viewManager {
   struct _viewManager *nextViewport;
 } viewManager;
 
+@
+\index{struct!viewWithThisGraph}
+\index{viewWithThisGraph struct}
+<<include/view2d.h>>=
 typedef struct _viewsWithThisGraph {
   viewManager *viewGr;
   struct _viewsWithThisGraph *nextViewthing;
 } viewsWithThisGraph;
 
-
+@
+\index{struct!pointStruct}
+\index{pointStruct struct}
+<<include/view2d.h>>=
 typedef struct _pointStruct {
   float x,y,hue,shade;
 } pointStruct;
 
-
+@
+\index{struct!pointListStruct}
+\index{pointListStruct struct}
+<<include/view2d.h>>=
 typedef struct _pointListStruct {
   pointStruct             *listOfPoints;
   float                   hue, shade;
@@ -1370,7 +1448,10 @@ typedef struct _pointListStruct {
     numberOfPoints;
 } pointListStruct;
 
-
+@
+\index{struct!graphStruct}
+\index{graphStruct struct}
+<<include/view2d.h>>=
 typedef struct _graphStruct {
   int                 key;
   float               xmin,xmax,ymin,ymax;
@@ -1384,7 +1465,10 @@ typedef struct _graphStruct {
   struct _graphStruct *nextGraph;
 } graphStruct;
 
-
+@
+\index{struct!view2DStruct}
+\index{view2DStruct struct}
+<<include/view2d.h>>=
 typedef struct _view2DStruct {
   char        *title;
   int         vX,vY,vW,vH,
@@ -1394,7 +1478,10 @@ typedef struct _view2DStruct {
   int         graphKeyArray[maxGraphs];
 } view2DStruct;
 
-
+@
+\index{struct!graphStateStruct}
+\index{graphStateStruct struct}
+<<include/view2d.h>>=
 typedef struct _graphStateStruct {
   float scaleX, scaleY, deltaX, deltaY, centerX, centerY;
   int   pointsOn, connectOn, splineOn, axesOn, unitsOn,
@@ -1403,7 +1490,6 @@ typedef struct _graphStateStruct {
                               View2D initializes them */
 } graphStateStruct;
 
-
 /* need spline color, axes color, units color... */
 @
 \section{view3d.h}
@@ -1415,17 +1501,28 @@ typedef struct _graphStateStruct {
    */
 #define maxGraphs 9
 
+@
+\index{struct!fun2VarModel}
+\index{fun2VarModel struct}
+<<include/view3d.h>>=
 typedef struct _fun2VarModel {
   float *zArray,*cArray;
   viewTriple *pointList;
 } fun2VarModel;
 
+@
+\index{union!kindOf}
+<<include/view3d.h>>=
 union kindOf {
   /*  float *zArray; */
   fun2VarModel fun2Var;
   tubeModel tube;
 };
 
+@
+\index{struct!view3DStruct}
+\index{view3DStruct struct}
+<<include/view3d.h>>=
 typedef struct _view3DStruct {
   int typeOf3D;
   float xmin,xmax,ymin,ymax,zmin,zmax;
@@ -1466,8 +1563,11 @@ typedef struct _view3DStruct {
                                   */
 } view3DStruct;
 
-
-/* for drawing the region box */
+@
+\index{struct!boxSideStruct}
+\index{boxSideStruct struct}
+for drawing the region box
+<<include/view3d.h>>=
 typedef struct _boxSideStruct {
   viewTriplePtr pointsPtr[4];  /* see notes for definition of box */
   int inside;
@@ -1680,68 +1780,120 @@ static char volumeMask_bits[] = {
 
 \chapter{viewman}
 \label{viewman}
-\subsection{cleanup.c}
-<<viewman/cleanup.c>>=
-#define _CLEANUP_C
+<<viewman>>=
+      /* Viewport Commands */
+#define makeViewport -1
+#define makeGraph    -1
+#define check(code) checker(code,__LINE__,"")
+#define maxConnect 40
+#define intSize sizeof(int)
+#define floatSize sizeof(float)
+#define yes 1
+#define no 0
+#define writeEach
+#define components
+#define spadActionMode
 
-#include <stdlib.h>
-#include <unistd.h>
-#include <stdio.h>
+#include <assert.h>
+#ifdef SGIplatform
+#include <bstring.h>
+#endif
+#include <errno.h>
 #if !defined(BSDplatform)
 #include <malloc.h>
 #endif
-#include <assert.h>
 #include <signal.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <sys/time.h>
 #include <sys/wait.h>
+#include <unistd.h>
 
-<<viewman/viewman.h>>
 <<include/actions.h>>
+<<include/view2d.h>>
+<<include/view3d.h>>
+<<include/viewcommand.h>>
 
+#include "bsdsignal.h"
+#include "bsdsignal.h1"
+#include "com.h"
+#include "sockio-c.h1"
 #include "util.h1"
-extern void brokenPipe(int sig);
-extern void endChild(int sig);
-extern void rmViewMgr(viewManager * slotPtr);
-extern void closeChildViewport(viewManager * slotPtr);
-extern void goodbye(int sig);
 
-extern graphStruct * makeGraphFromSpadData(void);
-extern void discardGraph(graphStruct * theGraph);
-extern int readViewport(viewManager * viewPort , void * info , int size);
+extern int acknow;
+extern int checkClosedChild;
+extern int currentGraph;
+extern graphStateStruct currentGraphState;
+extern int defDsply;
+extern Display *dsply;
+extern fd_set filedes;
+extern int foundBrokenPipe;
+extern int graphKey; 
+extern graphStruct *graphList;
+extern int picked;
+extern char propertyBuffer[];
+extern Window  root;
+extern char *s1;
+extern viewManager *slot;
+extern Sock *spadSock;
+extern viewManager *stepSlot;
+extern int viewCommand; 
+extern XEvent viewmanEvent;
+extern int viewError;
+extern int viewOkay;
+extern viewManager *viewports;
+extern int viewType;
+
 
-void
-brokenPipe(int sig)
-{
-  fprintf(stderr,
-          "The viewport manager tried to write to a non-existing pipe.\n");
-}
+/************* global variables **************/
 
+Display *dsply;
+Window  root;
+XEvent  viewmanEvent;
+viewManager *viewports,
+  *slot,
+  *stepSlot;
+Sock        *spadSock;
+int         viewType, 
+  viewCommand,
+  acknow,
+  graphKey = 1,
+  defDsply,
+  currentGraph,
+  picked = no,
+  viewOkay  = 0,
+  viewError = -1,
+  checkClosedChild = no,
+  foundBrokenPipe = no;
+fd_set      filedes;
+graphStruct *graphList;
+graphStateStruct currentGraphState;
+char        *s1,
+  propertyBuffer[256];/* XProperty buffer */
 
-void
-endChild(int sig)
-{
 
+@
+\subsection{endChild}
+\index{viewman!endChild}
+\index{endChild viewman}
+<<viewman>>=
+void endChild(int sig) {
   checkClosedChild = yes;
 }
 
-
-/****************************
- * void rmViewMgr(slotPtr)  *
- *                          *
- * given a pointer to a     *
- * viewManager, this        *
- * procedure removes it     *
- * from the viewport list   *
-*****************************/
-
-void 
-rmViewMgr(viewManager *slotPtr)
-{
-  
+@
+\subsection{rmViewMgr}
+Given a pointer to a viewManager, this procedure removes it
+from the viewport list.
+\index{viewman!rmViewMgr}
+\index{rmViewMgr viewman}
+<<viewman>>=
+void rmViewMgr(viewManager *slotPtr) {
   int i,throwAway,code;
   viewManager *somePort, *someOtherPort;
   graphStruct *someGraph,*someOtherGraph;   /* used in discarding graphs */
   viewsWithThisGraph *someView,*someOtherView;
-  
   for (somePort=someOtherPort=viewports;
        (somePort != 0) && (somePort != slotPtr);
        somePort=(someOtherPort=somePort)->nextViewport)
@@ -1749,7 +1901,6 @@ rmViewMgr(viewManager *slotPtr)
   assert ((somePort == 0) ||
          (somePort == viewports) ||
          (somePort == someOtherPort->nextViewport));
-
   if (somePort) {
     if (somePort == viewports) viewports=viewports->nextViewport;
     else someOtherPort->nextViewport = somePort->nextViewport;
@@ -1757,7 +1908,8 @@ rmViewMgr(viewManager *slotPtr)
   /*** if view2d, then clean up after the graphs as well ***/
   if (slotPtr->viewType == view2DType) {
     for (i=0; i<maxGraphs; i++) {
-      code=readViewport(slotPtr,&throwAway,intSize);  /* get the graph to 
discard */
+      /* get the graph to discard */
+      code=readViewport(slotPtr,&throwAway,intSize);  
       if (code == -1) break; /* read failure - give up */
       if (throwAway) {                           /* zero means no graph */
 
@@ -1772,9 +1924,7 @@ rmViewMgr(viewManager *slotPtr)
        assert( (someGraph == 0) ||
                (someGraph == graphList) ||
                (someGraph == someOtherGraph->nextGraph));
-
         if (someGraph) {              /* if found (should always be true) */
-
          for(someView=someOtherView=someGraph->views;
              (someView !=0 ) && (someView->viewGr != slotPtr);
              someView=(someOtherView=someView)->nextViewthing)
@@ -1794,7 +1944,8 @@ rmViewMgr(viewManager *slotPtr)
             free(someView);                    /* remove this viewport 
                                                  from list */
           }
-         /* if now nothing is pointing  to this graph , remove the graph from 
the list*/
+         /* if now nothing is pointing  to this graph */
+          /* remove the graph from the list*/
           if (someGraph->views == 0) {
            if (someGraph == graphList)
              graphList = graphList->nextGraph;
@@ -1811,43 +1962,28 @@ rmViewMgr(viewManager *slotPtr)
   free(slotPtr);
 } /* rmViewMgr() */
 
-
-/***********************************
- * int closeChildViewport(slotPtr) *
- *                                 *
- * given a pointer to a viewport   *
- * structure (viewManager) this    *
- * procedure first waits for the   *
- * actual process to die and then  *
- * removes it from the list of     *
- * viewports via rmViewMgr().      *
- ***********************************/
-
-void  
-closeChildViewport(viewManager *slotPtr)
-{
-  
+@
+\subsection{closeChildViewport}
+Given a pointer to a viewport structure (viewManager) this 
+procedure first waits for the actual process to die and then 
+removes it from the list of viewports via rmViewMgr(). 
+\index{viewman!closeChildViewport}
+\index{closeChildViewport viewman}
+<<viewman>>=
+void closeChildViewport(viewManager *slotPtr) {
   int status;
   rmViewMgr(slotPtr);
   wait(&status); 
-  
 }  /* closeChildViewport */
 
-
-/*********************
- * int goodbye()     *
- *                   *
- * kill all children *
- * (how mean) and    *
- * then kill self.   *
- *********************/
-
-void 
-goodbye(int sig)
-{
-
+@
+\subsection{goodbye}
+Kill all children (how mean) and then kill self.
+\index{viewman!goodbye}
+\index{goodbye viewman}
+<<viewman>>=
+void goodbye(int sig) {
   viewManager *v;
-
   v = viewports;
   while (v) {
     kill(v->PID,SIGTERM);
@@ -1855,64 +1991,28 @@ goodbye(int sig)
     v = v->nextViewport;
   }
   exit(0);
-
 }
 
-
-
-
 @
-\subsection{fun2d.c}
-<<viewman/fun2d.c>>=
-#define _FUN2D_C
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-
-
-
-<<viewman/viewman.h>>
-<<include/actions.h>>
-
-#include "util.h1"
-#include "sockio-c.h1"
-extern void funView2D(int viewCommand);
-extern void sendGraphToView2D(int i ,int there,viewManager * viewType,
-                              graphStateStruct * doGraphStateArray);
-extern void forkView2D(void);
-extern int readViewport(viewManager * viewPort , void * info , int size);
-extern void makeView2DFromSpadData(view2DStruct * viewdata , 
-                                   graphStateStruct graphState[]);
-
-#define writeEach
-
-void 
-funView2D(int viewCommand)
-{
-
+\subsection{funView2D}
+\index{viewman!funView2D}
+\index{funView2D viewman}
+<<viewman>>=
+void funView2D(int viewCommand) {
   int code;
   int viewPID;
   float f1,f2;
   int i1,i2,i3;
   viewManager *viewport;
-
   viewPID = get_int(spadSock);
-
-
   viewport = viewports;
   while ((viewport) && (viewport->PID != viewPID)) {
     viewport = viewport->nextViewport;
   }
-  
   if (viewport) {
     send_int(spadSock,1);  /* acknowledge to spad */
     code = write(viewport->viewOut,&viewCommand,intSize);
-
-
     switch (viewCommand) {
-
     case putGraph:
       i1 = get_int(spadSock);  /* graph key */
       i2 = get_int(spadSock);  /* viewport slot 1..9 */
@@ -1924,7 +2024,6 @@ funView2D(int viewCommand)
       sendGraphToView2D(0,i1,viewport,&currentGraphState);
      
       break;
-
     case translate2D:
       i1 = get_int(spadSock);   /* graph index */
       f1 = get_float(spadSock); /* translate in the x direction */
@@ -1933,7 +2032,6 @@ funView2D(int viewCommand)
       code = write(viewport->viewOut,&f1,floatSize);
       code = write(viewport->viewOut,&f2,floatSize);
       break;
-
     case scale2D:
       i1 = get_int(spadSock);   /* graph index */
       f1 = get_float(spadSock); /* scale in the x direction */
@@ -1942,12 +2040,10 @@ funView2D(int viewCommand)
       code = write(viewport->viewOut,&f1,floatSize);
       code = write(viewport->viewOut,&f2,floatSize);
       break;
-
     case hideControl2D:
       i1 = get_int(spadSock);
       code = write(viewport->viewOut,&i1,intSize);
       break;
-
     case axesOnOff2D:
     case unitsOnOff2D:
     case connectOnOff:
@@ -1959,7 +2055,6 @@ funView2D(int viewCommand)
       code = write(viewport->viewOut,&i1,intSize);
       code = write(viewport->viewOut,&i2,intSize);
       break;
-
     case moveViewport:
     case resizeViewport:
       i1 = get_int(spadSock);
@@ -1967,14 +2062,12 @@ funView2D(int viewCommand)
       code = write(viewport->viewOut,&i1,intSize);
       code = write(viewport->viewOut,&i2,intSize);
       break;
-
     case changeTitle:
       s1 = get_string(spadSock);
       i1 = strlen(s1);
       code = write(viewport->viewOut,&i1,intSize);
       code = write(viewport->viewOut,s1,i1);
       break;
-
     case writeView:
       s1 = get_string(spadSock);
       i1 = strlen(s1);
@@ -1988,12 +2081,10 @@ funView2D(int viewCommand)
         code = write(viewport->viewOut,&i2,intSize);
       }
       break;
-
     case spadPressedAButton:
       i1 = get_int(spadSock);
       code = write(viewport->viewOut,&i1,intSize);
       break;
-
     }  /* switch */
          /*** get acknowledge from viewport */
     code = readViewport(viewport,&acknow,intSize);
@@ -2001,13 +2092,14 @@ funView2D(int viewCommand)
   } else {  
     send_int(spadSock,-1);  /* send error value in acknowledge to spad */
   }
-
 }
 
-void 
-forkView2D(void)
-{
-
+@
+\subsection{forkView2D}
+\index{viewman!forkView2D}
+\index{forkView2D viewman}
+<<viewman>>=
+void forkView2D(void) {
   viewManager      *viewport;
   int              childPID, code;
   int              i;
@@ -2015,27 +2107,21 @@ forkView2D(void)
   graphStateStruct doGraphStateArray[maxGraphs];
   int              there;
   int  pipe0[2], pipe1[2];
-
   char envAXIOM[100],runView[100];
-
 #ifdef DEBUG
   fprintf(stderr,"fun2d:Pipe calls for 2D\n");
 #endif
   check(pipe(pipe0));
   check(pipe(pipe1));
-
 #ifdef DEBUG
   fprintf(stderr,"Fork routine for 2D\n");
 #endif
   childPID = check(fork());
-
   switch(childPID) {
-
   case -1:
     fprintf(stderr,
             "The viewport manager cannot open a viewport window.\nTry closing 
some viewports.\n");
     return;
-
   case 0:
     /*****************************
      *       child process       *
@@ -2050,7 +2136,6 @@ forkView2D(void)
     close(pipe0[1]);
     close(pipe1[0]);
     close(pipe1[1]);
-
 #ifdef DEBUG
     fprintf(stderr,"Executing TwoDimensionalViewport process\n");
 #endif
@@ -2059,7 +2144,6 @@ forkView2D(void)
     check(execl(runView,runView,NULL));
     fprintf(stderr,"The viewport manager could not execute view2d.\nCheck that 
view2d is on your PATH.\n");
     exit(-1);
-
   default:
     /******************************
      *       parent process       *
@@ -2070,25 +2154,20 @@ forkView2D(void)
     }
     viewport->viewType = view2DType;
     viewport->PID = childPID;
-
          /* set up pipes to child process */
     close(pipe0[0]);
     close(pipe1[1]);
     viewport->viewIn  = pipe1[0];
     viewport->viewOut = pipe0[1];
-
          /* add new viewport to global list */
     viewport->nextViewport = viewports;
     viewports = viewport;
-
     if (viewport->viewIn <0) {
       fprintf(stderr,
  "viewman could not create connection to a 2D viewport window. Try again.\n");
       return;
     } else {
-
       code = readViewport(viewport,&acknow,intSize);
-
       if (code < 0) {
         fprintf(stderr,
          "viewman could not read from a 2D viewport window\ncode=%d\nack=%d\n",
@@ -2096,13 +2175,10 @@ forkView2D(void)
         return;
       }
     } 
-
     makeView2DFromSpadData(&doView2D,doGraphStateArray);
-
       /* tell the child that mother is a viewport manager */
     i = no;
     write(viewport->viewOut,&i,sizeof(int));
-
     write(viewport->viewOut,&doView2D,sizeof(view2DStruct));
     i = strlen(doView2D.title)+1;
     write(viewport->viewOut,&i,intSize); /* send length of the title child */
@@ -2112,44 +2188,39 @@ forkView2D(void)
       write(viewport->viewOut,&there,intSize);
       sendGraphToView2D(i,there,viewport,doGraphStateArray);
     };  /* for i in graphs */
-    
          /*** get acknowledge from viewport */
-
     code = readViewport(viewport,&(viewport->viewWindow),sizeof(Window));
     sleep(1);  /* wait a second...*/
     send_int(spadSock,viewport->PID);  /* acknowledge to spad */
-
   }   /* switch */
-
 }    /* forkView2D() */
 
-
-
-void
-sendGraphToView2D(int i,int there,viewManager *viewport,
-                  graphStateStruct *doGraphStateArray)
-{
-
+@
+\subsection{sendGraphToView2D}
+\index{viewman!sendGraphToView2D}
+\index{sendGraphToView2D viewman}
+<<viewman>>=
+void sendGraphToView2D(int i,int there,viewManager *viewport,
+                       graphStateStruct *doGraphStateArray) {
   graphStruct      *gPtr;
   pointListStruct  *llPtr;
   pointStruct      *p;
   viewsWithThisGraph *oneView;
   int j,k;
-
   if (there) {
     gPtr = graphList;
-    while ( gPtr != NULL  &&   gPtr->key != there)    /** find the right graph 
(same key) in graph list **/
+     /** find the right graph (same key) in graph list **/
+    while ( gPtr != NULL  &&   gPtr->key != there)   
       gPtr = gPtr->nextGraph;
     if ((gPtr==NULL) ||(gPtr->key != there) ){
-      fprintf(stderr,
-              "The viewport manager cannot find the requested graph and will 
quit and restart.\n");
+      fprintf(stderr,"The viewport manager cannot find the requested graph\n");
+      fprintf(stderr,"and will quit and restart.\n");
       exit(-1);
     } 
-    
-
-/*** Before sending off the data, insert a pointer to viewport from graph ***/
+  /* Before sending off the data, insert a pointer to viewport from graph */
   if (!(oneView = (viewsWithThisGraph *)malloc(sizeof(viewsWithThisGraph)))) {
-    fprintf(stderr,"The viewport manager ran out of memory trying to create a 
new graph (viewsWithThisGraph).\n");
+    fprintf(stderr,"The viewport manager ran out of memory trying to \n");
+    fprintf(stderr,"create a new graph (viewsWithThisGraph).\n");
     return;
   }
   oneView->viewGr          = viewport;
@@ -2173,7 +2244,6 @@ sendGraphToView2D(int i,int there,viewManager *viewport,
 #else
     write(viewport->viewOut,gPtr,sizeof(graphStruct));
 #endif
-    
     llPtr = gPtr->listOfListsOfPoints;
     for (j=0; j<(gPtr->numberOfLists); j++) {
       write(viewport->viewOut,&(llPtr->numberOfPoints),intSize);
@@ -2190,7 +2260,6 @@ sendGraphToView2D(int i,int there,viewManager *viewport,
       write(viewport->viewOut,&(llPtr->pointSize),intSize);
       llPtr++;
     }   /* for j in list of lists of points */
-    
     /* a graph state is defined for a graph if graph is there */
     write(viewport->viewOut,&(doGraphStateArray[i].scaleX),floatSize);    
     write(viewport->viewOut,&(doGraphStateArray[i].scaleY),floatSize);
@@ -2204,56 +2273,27 @@ sendGraphToView2D(int i,int there,viewManager *viewport,
     write(viewport->viewOut,&(doGraphStateArray[i].unitsOn),intSize);
     write(viewport->viewOut,&(doGraphStateArray[i].unitsColor),intSize);
     write(viewport->viewOut,&(doGraphStateArray[i].showing),intSize);
-
   }   /* if graph is there */
-
 }
 
 @
-\subsection{fun3d.c}
-<<viewman/fun3d.c>>=
-#define _FUN3D_C
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-
-<<viewman/viewman.h>>
-#define spadActionMode
-/* define spadEventMode */
-#define components
-<<include/actions.h>>
-  
-#include "util.h1"
-#include "sockio-c.h1"
-extern void funView3D(int viewCommand);
-extern void forkView3D(int typeOfViewport);
-extern void makeView3DFromSpadData(view3DStruct * viewdata, 
-                                   int typeOfViewport);
-extern int readViewport(viewManager * viewPort , void * info , int size);
-
-void 
-funView3D(int viewCommand)
-{
-
+\subsection{funView3D}
+\index{viewman!funView3D}
+\index{funView3D viewman}
+<<viewman>>=
+void funView3D(int viewCommand) {
   int code;
   int viewPID;
   float f1,f2,f3,f4;
   int i1,i2;
   viewManager *viewport;
-
   viewPID = get_int(spadSock);
-
   viewport = viewports;
   while ((viewport) && (viewport->PID != viewPID)) 
     viewport = viewport->nextViewport;
-
   if (viewport) {
     send_int(spadSock,1);  /* acknowledge to spad */
-
     viewmanEvent.xclient.window = viewport->viewWindow;
-
     code = write(viewport->viewOut,&viewCommand,intSize);
     switch (viewCommand) {
     case rotate:
@@ -2262,12 +2302,10 @@ funView3D(int viewCommand)
       code = write(viewport->viewOut,&f1,floatSize);
       code = write(viewport->viewOut,&f2,floatSize);
       break;
-
     case zoom:
       f1 = get_float(spadSock);
       code = write(viewport->viewOut,&f1,floatSize);
       break;
-
     case zoomx:
       f1 = get_float(spadSock);
       f2 = get_float(spadSock);
@@ -2276,14 +2314,12 @@ funView3D(int viewCommand)
       code = write(viewport->viewOut,&f2,floatSize);
       code = write(viewport->viewOut,&f3,floatSize);
       break;
-
     case translate:
       f1 = get_float(spadSock);
       f2 = get_float(spadSock);
       code = write(viewport->viewOut,&f1,floatSize);
       code = write(viewport->viewOut,&f2,floatSize);
       break;
-
     case modifyPOINT:
       i1 = get_int(spadSock);
       f1 = get_float(spadSock);
@@ -2296,12 +2332,10 @@ funView3D(int viewCommand)
       code = write(viewport->viewOut,&f3,floatSize);
       code = write(viewport->viewOut,&f4,floatSize);
       break;
-
     case hideControl:
       i1 = get_int(spadSock);
       code = write(viewport->viewOut,&i1,intSize);
       break;
-
     case axesOnOff:
     case perspectiveOnOff:
     case region3D:
@@ -2310,39 +2344,33 @@ funView3D(int viewCommand)
       i1 = get_int(spadSock);
       code = write(viewport->viewOut,&i1,intSize);
       break;
-
     case eyeDistanceData:
     case hitherPlaneData:
       f1 = get_float(spadSock);
       code = write(viewport->viewOut,&f1,floatSize);
       break;
-
     case colorDef:
       i1 = get_int(spadSock);
       i2 = get_int(spadSock);
       code = write(viewport->viewOut,&i1,intSize);
       code = write(viewport->viewOut,&i2,intSize);
       break;
-
     case moveViewport:
       i1 = get_int(spadSock);
       i2 = get_int(spadSock);
       code = write(viewport->viewOut,&i1,intSize);
       code = write(viewport->viewOut,&i2,intSize);
       break;
-
     case resizeViewport:
       i1 = get_int(spadSock);
       i2 = get_int(spadSock);
       code = write(viewport->viewOut,&i1,intSize);
       code = write(viewport->viewOut,&i2,intSize);
       break;
-
     case transparent:
     case opaqueMesh:
     case render:
       break;
-
     case lightDef:
       f1 = get_float(spadSock);
       f2 = get_float(spadSock);
@@ -2351,20 +2379,16 @@ funView3D(int viewCommand)
       code = write(viewport->viewOut,&f2,floatSize);
       code = write(viewport->viewOut,&f3,floatSize);
       break;
-
     case translucenceDef:
       f1 = get_float(spadSock);
       code = write(viewport->viewOut,&f1,floatSize);
       break;
-
-
     case changeTitle:
       s1 = get_string(spadSock);
       i1 = strlen(s1);
       code = write(viewport->viewOut,&i1,intSize);
       code = write(viewport->viewOut,s1,i1);
       break;
-
     case writeView:
       s1 = get_string(spadSock);
       i1 = strlen(s1);
@@ -2378,63 +2402,56 @@ funView3D(int viewCommand)
         code = write(viewport->viewOut,&i2,intSize);
       }
       break;
-
     case diagOnOff:
       i1 = get_int(spadSock);
       code = write(viewport->viewOut,&i1,intSize);
       break;
-
     case outlineOnOff:
       i1 = get_int(spadSock);
       code = write(viewport->viewOut,&i1,intSize);
       break;
-
     case spadPressedAButton:
       i1 = get_int(spadSock);
       code = write(viewport->viewOut,&i1,intSize);
       break;
     }  /* switch */
     /*** get acknowledge from viewport */
-
     code = readViewport(viewport,&acknow,intSize);
     send_int(spadSock,1);  /* acknowledge to spad */
   } else {  /* if (viewport) */
     send_int(spadSock,-1);  /* send error value in acknowledge to spad */
   }
-
 }
-void
-forkView3D(int typeOfViewport)
-{
 
+@
+\subsection{forkView3D}
+\index{viewman!forkView3D}
+\index{forkView3D viewman}
+<<viewman>>=
+void forkView3D(int typeOfViewport) {
   viewManager *viewport;
   int         childPID, code;
   int         i;
-
   view3DStruct doView3D;
   int  pipe0[2],pipe1[2];
   int *anIndex;
-
   char envAXIOM[100],runView[100];
   int j,k;
   LLPoint *anLLPoint;
   LPoint *anLPoint;
-
 #ifdef DEBUG
   fprintf(stderr,"Pipe calls for 3D\n");
 #endif
   check(pipe(pipe0));
   check(pipe(pipe1));
-
 #ifdef DEBUG
   fprintf(stderr,"Fork routine for 3D\n");
 #endif
   switch(childPID = check(fork())) {
-
   case -1:
-    printf("Cannot create a new process - you probably have too many things 
running already.\n");
+    printf("Cannot create a new process - \n");
+    printf("you probably have too many things running already.\n");
     return;
-
   case 0:
     /*****************************
      *       child process       *
@@ -2449,7 +2466,6 @@ forkView3D(int typeOfViewport)
     close(pipe0[1]);
     close(pipe1[0]);
     close(pipe1[1]);
-
 #ifdef DEBUG
     fprintf(stderr,"Executing ThreeDimensionalViewport process\n");
 #endif
@@ -2458,7 +2474,6 @@ forkView3D(int typeOfViewport)
     check(execl(runView,runView,NULL));
     fprintf(stderr,"The viewport manager could not execute view3d.\nCheck that 
view3d is on your PATH.\n");
     exit(-1);
-
   default:
     /******************************
      *       parent process       *
@@ -2469,47 +2484,37 @@ forkView3D(int typeOfViewport)
     }
     viewport->viewType = typeOfViewport;
     viewport->PID = childPID;
-
          /* set up pipes to child process */
     close(pipe0[0]);
     close(pipe1[1]);
     viewport->viewIn  = pipe1[0];
     viewport->viewOut = pipe0[1];
-
          /* add new viewport to global list */
     viewport->nextViewport = viewports;
     viewports = viewport;
-
     if (viewport->viewIn <0) {
-      fprintf(stderr,
-              "The viewport manager could not create connection to a 3D 
viewport window. Try again.\n");
+      fprintf(stderr,"The viewport manager could not create connection to\n");
+      fprintf(stderr," a 3D viewport window. Try again.\n");
       return;
     } else {
-
       code = readViewport(viewport,&acknow,intSize);
-
       if (code < 0) {
-        fprintf(stderr,
-              "The viewport manager could not read from a 3D viewport 
window\ncode=%d\nack=%d\n",code,acknow);
+        fprintf(stderr,"The viewport manager could not read from a 3D \n");
+        fprintf(stderr,"viewport window\ncode=%d\nack=%d\n",code,acknow);
         return;
       }
     } 
-
     makeView3DFromSpadData(&doView3D,typeOfViewport);
-
       /* tell the child that parent is a viewport manager */
     i = no;
     write(viewport->viewOut,&i,sizeof(int));
-
     write(viewport->viewOut,&doView3D,sizeof(view3DStruct));
-
     i = strlen(doView3D.title)+1;
-    write(viewport->viewOut,&i,intSize);        /* tell the length of the 
title to child */
-    write(viewport->viewOut,doView3D.title,i);  /* tell the title to the child 
*/
+    write(viewport->viewOut,&i,intSize); /*tell the length of title to child */
+    write(viewport->viewOut,doView3D.title,i);  /* tell the title to child */
     write(viewport->viewOut,&(doView3D.lightVec[0]),floatSize);
     write(viewport->viewOut,&(doView3D.lightVec[1]),floatSize);
     write(viewport->viewOut,&(doView3D.lightVec[2]),floatSize);
-
     /* send generalized 3D components */
     write(viewport->viewOut,&(doView3D.numOfPoints),intSize);
     for (i=0; i<doView3D.numOfPoints; i++) {
@@ -2534,7 +2539,6 @@ forkView3D(int typeOfViewport)
           write(viewport->viewOut,anIndex,intSize);
       } /* for LPoints in LLPoints (j) */
     } /* for LLPoints in LLLPoints (i) */
-    
          /*** get acknowledge from viewport */
     code = readViewport(viewport,&(viewport->viewWindow),sizeof(Window)); 
     sleep(1);  /* wait a second...*/
@@ -2544,60 +2548,23 @@ forkView3D(int typeOfViewport)
 
 }    /* forkView3D() */
 
-
-@
-\subsection{globalsm.h}
-<<viewman/globalsm.h>>=
-extern viewManager *viewports,*slot,*stepSlot;
-extern Sock        *spadSock;
-extern int         viewType, viewCommand; 
-extern fd_set         filedes;
-extern int             acknow;
-extern int         graphKey; 
-extern graphStruct *graphList;
-extern char *s1;
-extern Display *dsply;
-extern int     defDsply;
-extern Window  root;
-extern XEvent  viewmanEvent;
-extern int              currentGraph;
-extern graphStateStruct currentGraphState;
-extern int picked;
-extern int viewOkay;
-extern int viewError;
-extern int checkClosedChild,
-           foundBrokenPipe;
-extern char propertyBuffer[];
 @
-\subsection{make2d.c}
-<<viewman/make2d.c>>=
-#define _MAKE2D_C
-
-<<viewman/viewman.h>>
-
-#include "sockio-c.h1"
-extern void makeView2DFromSpadData(view2DStruct * viewdata , 
-                                   graphStateStruct graphState[]);
-
-void 
-makeView2DFromSpadData(view2DStruct *viewdata,graphStateStruct graphState[])
-{
-
-  int i;
-
+\subsection{makeView2DFromSpadData}
+\index{viewman!makeView2DFromSpadData}
+\index{makeView2DFromSpadData viewman}
+<<viewman>>=
+void makeView2DFromSpadData(view2DStruct *viewdata,
+                            graphStateStruct graphState[])
+{ int i;
   viewdata->title = get_string(spadSock);
-
   viewdata->vX = get_int(spadSock);
   viewdata->vY = get_int(spadSock);
   viewdata->vW = get_int(spadSock);
   viewdata->vH = get_int(spadSock);
-
   viewdata->showCP = get_int(spadSock);
-
   for (i=0; i<maxGraphs; i++) {
     viewdata->graphKeyArray[i] = get_int(spadSock);
     if (viewdata->graphKeyArray[i]) {
-
       graphState[i].scaleX     = get_float(spadSock);
       graphState[i].scaleY     = get_float(spadSock);
       graphState[i].deltaX     = get_float(spadSock);
@@ -2610,31 +2577,17 @@ makeView2DFromSpadData(view2DStruct 
*viewdata,graphStateStruct graphState[])
       graphState[i].unitsOn    = get_int(spadSock);
       graphState[i].unitsColor = get_int(spadSock);
       graphState[i].showing    = get_int(spadSock);
-      graphState[i].selected   = 1;                /* always default to 
selected? */
-
+      graphState[i].selected   = 1;       /* always default to selected? */
     }
   }
 }
-@
-\subsection{make3d.c}
-<<viewman/make3d.c>>=
-#define _MAKE3D_C
-
-#include <stdlib.h>
-
-<<viewman/viewman.h>>
-#define spadActionMode
-/* define spadEventMode */
-#define components
-
-#include "sockio-c.h1"
-extern void makeView3DFromSpadData(view3DStruct * viewdata, 
-                                   int typeOfViewport);
-
-void 
-makeView3DFromSpadData(view3DStruct *viewdata,int typeOfViewport)
-{
 
+@
+\subsection{makeView3DFromSpadData}
+\index{viewman!makeView3DFromSpadData}
+\index{makeView3DFromSpadData viewman}
+<<viewman>>=
+void makeView3DFromSpadData(view3DStruct *viewdata,int typeOfViewport) {
   int i,j,k;
   LLPoint *anLLPoint;
   LPoint *anLPoint;
@@ -2644,11 +2597,8 @@ makeView3DFromSpadData(view3DStruct *viewdata,int 
typeOfViewport)
   double cMin = 0;
   double cMax = 0;
   double cNorm = 0;
-
   viewdata->typeOf3D = typeOfViewport;
-
   viewdata->title = get_string(spadSock);
-
   viewdata->deltaX = get_float(spadSock);
   viewdata->deltaY = get_float(spadSock);
   viewdata->scale  = get_float(spadSock);
@@ -2657,12 +2607,10 @@ makeView3DFromSpadData(view3DStruct *viewdata,int 
typeOfViewport)
   viewdata->scaleZ = get_float(spadSock);
   viewdata->theta  = get_float(spadSock);
   viewdata->phi    = get_float(spadSock);
-
   viewdata->vX = get_int(spadSock);
   viewdata->vY = get_int(spadSock);
   viewdata->vW = get_int(spadSock);
   viewdata->vH = get_int(spadSock);
-  
   viewdata->showCP    = get_int(spadSock);
   viewdata->style     = get_int(spadSock);
   viewdata->AxesOn    = get_int(spadSock);
@@ -2671,20 +2619,17 @@ makeView3DFromSpadData(view3DStruct *viewdata,int 
typeOfViewport)
   viewdata->box = get_int(spadSock);
   viewdata->clipbox = get_int(spadSock);
   viewdata->clipStuff = get_int(spadSock);
-
   viewdata->hueOff    = get_int(spadSock);
   viewdata->numOfHues = get_int(spadSock);
-
   viewdata->lightVec[0]  = get_float(spadSock);
   viewdata->lightVec[1]  = get_float(spadSock);
   viewdata->lightVec[2]  = get_float(spadSock);
   viewdata->translucency = get_float(spadSock);
-
   viewdata->perspective = get_int(spadSock);
   viewdata->eyeDistance = get_float(spadSock);
-
   viewdata->numOfPoints = get_int(spadSock);
-  viewdata->points = (viewTriple *)malloc(viewdata->numOfPoints * 
sizeof(viewTriple));
+  viewdata->points =
+       (viewTriple *)malloc(viewdata->numOfPoints * sizeof(viewTriple));
   for (i=0; i<viewdata->numOfPoints; i++) {
     refPt(*viewdata,i)->x = get_float(spadSock);
     refPt(*viewdata,i)->y = get_float(spadSock);
@@ -2698,17 +2643,22 @@ makeView3DFromSpadData(view3DStruct *viewdata,int 
typeOfViewport)
       viewdata->zmin = viewdata->zmax = refPt(*viewdata,i)->z;
       cMin = cMax = refPt(*viewdata,i)->c;
     } else {
-      if (refPt(*viewdata,i)->x < viewdata->xmin) viewdata->xmin = 
refPt(*viewdata,i)->x;
-      else if (refPt(*viewdata,i)->x > viewdata->xmax) viewdata->xmax = 
refPt(*viewdata,i)->x;
-      if (refPt(*viewdata,i)->y < viewdata->ymin) viewdata->ymin = 
refPt(*viewdata,i)->y;
-      else if (refPt(*viewdata,i)->y > viewdata->ymax) viewdata->ymax = 
refPt(*viewdata,i)->y;
-      if (refPt(*viewdata,i)->z < viewdata->zmin) viewdata->zmin = 
refPt(*viewdata,i)->z;
-      else if (refPt(*viewdata,i)->z > viewdata->zmax) viewdata->zmax = 
refPt(*viewdata,i)->z;
+      if (refPt(*viewdata,i)->x < viewdata->xmin)
+         viewdata->xmin = refPt(*viewdata,i)->x;
+      else if (refPt(*viewdata,i)->x > viewdata->xmax)
+         viewdata->xmax = refPt(*viewdata,i)->x;
+      if (refPt(*viewdata,i)->y < viewdata->ymin)
+         viewdata->ymin = refPt(*viewdata,i)->y;
+      else if (refPt(*viewdata,i)->y > viewdata->ymax)
+         viewdata->ymax = refPt(*viewdata,i)->y;
+      if (refPt(*viewdata,i)->z < viewdata->zmin)
+         viewdata->zmin = refPt(*viewdata,i)->z;
+      else if (refPt(*viewdata,i)->z > viewdata->zmax)
+         viewdata->zmax = refPt(*viewdata,i)->z;
       if (refPt(*viewdata,i)->c < cMin) cMin = refPt(*viewdata,i)->c;
       else if (refPt(*viewdata,i)->c > cMax) cMax = refPt(*viewdata,i)->c;
     } /* if (firstPieceOfData) else */
   } /* for i (point data) */
-
   viewdata->lllp.numOfComponents = get_int(spadSock);
   anLLPoint = viewdata->lllp.llp =
     (LLPoint *)malloc(viewdata->lllp.numOfComponents*sizeof(LLPoint));
@@ -2728,191 +2678,61 @@ makeView3DFromSpadData(view3DStruct *viewdata,int 
typeOfViewport)
         *anIndex = get_int(spadSock);
     } /* for LPoints in LLPoints (j) */
   } /* for LLPoints in LLLPoints (i) */
-
       /* now normalize the colors */
   cNorm = cMax - cMin;
          /*** new fields - cmin, cmax ***/
   viewdata->cmin = cMin;
   viewdata->cmax = cMax;
-
   constantColor = (cNorm < 0.0001);
   for (i=0; i<viewdata->numOfPoints; i++)
     if (constantColor) refPt(*viewdata,i)->c = 0.5;
     else refPt(*viewdata,i)->c = (refPt(*viewdata,i)->c - cMin)/cNorm;
-
   viewdata->scaleDown = yes; 
-
 }
 
 @
-\subsection{viewman Makefile}
-<<viewman/Makefile>>=
-BOOK=${SPD}/books/bookvol8.pamphlet
-MIDINT=        ${INT}/graph/viewman
-MIDOBJ=        ${OBJ}/${SYS}/graph/viewman
-OUT=   ${MNT}/${SYS}/lib
-LIB=    ${OBJ}/${SYS}/lib
-DOC=    ${MNT}/${SYS}/doc/src/graph
-
-CFLAGS  = ${CCF} -I${SRC}/include
-LDFLAGS = ${LDF} -lX11
-
-OBJS=   ${MIDOBJ}/viewman.o ${MIDOBJ}/readview.o  ${MIDOBJ}/make3d.o \
-       ${MIDOBJ}/fun3d.o   ${MIDOBJ}/makegraph.o ${MIDOBJ}/make2d.o \
-        ${MIDOBJ}/fun2d.o   ${MIDOBJ}/cleanup.o   ${MIDOBJ}/sselect.o \
-        ${OBJ}/${SYS}/lib/sockio-c.o
-
-all: ${OBJS} ${OUT}/viewman 
-       @ echo 30 finished viewman from bookvol8
-
-${OUT}/viewman: ${OBJS} ${LIB}/util.o ${LIB}/bsdsignal.o
-       @ echo 1 linking ${OUT}/viewman
-       @ ${CC} ${OBJS} -o ${OUT}/viewman ${LIB}/util.o \
-            ${LIB}/bsdsignal.o ${LDFLAGS}
-
-${MIDINT}/viewman.c: ${BOOK}
-       @ echo 2 ${MIDINT}/viewman.c from ${BOOK}
-       @( cd ${MIDINT} ; \
-       ${TANGLE} -R"viewman/viewman.c" ${BOOK} >viewman.c )
-
-${MIDOBJ}/viewman.o: ${SRC}/include/com.h ${MIDINT}/viewman.c
-       @ echo 3 making ${MIDOBJ}/viewman.o from ${MIDINT}/viewman.c
-       @ ( cd ${MIDOBJ} ; ${CC} ${CFLAGS} -c ${MIDINT}/viewman.c )
-
-${MIDINT}/sselect.c: ${BOOK}
-       @ echo 5 ${MIDINT}/sselect.c from ${BOOK}
-       @( cd ${MIDINT} ; \
-       ${TANGLE} -R"viewman/sselect.c" ${BOOK} >sselect.c )
-
-${MIDOBJ}/sselect.o: ${SRC}/include/com.h ${MIDINT}/sselect.c
-       @ echo 6 making ${MIDOBJ}/sselect.o from ${MIDINT}/sselect.c
-       @ ( cd ${MIDOBJ} ; ${CC} ${CFLAGS} -c ${MIDINT}/sselect.c )
-
-${MIDINT}/cleanup.c: ${BOOK}
-       @ echo 8 ${MIDINT}/cleanup.c from ${BOOK}
-       @( cd ${MIDINT} ; \
-       ${TANGLE} -R"viewman/cleanup.c" ${BOOK} >cleanup.c )
-
-${MIDOBJ}/cleanup.o: ${SRC}/include/com.h ${MIDINT}/cleanup.c
-       @ echo 9 making ${MIDOBJ}/cleanup.o from ${MIDINT}/cleanup.c
-       @ ( cd ${MIDOBJ} ; ${CC} ${CFLAGS} -c ${MIDINT}/cleanup.c )
-
-${MIDINT}/fun2d.c: ${BOOK}
-       @ echo 11 ${MIDINT}/fun2d.c from ${BOOK}
-       @( cd ${MIDINT} ; \
-       ${TANGLE} -R"viewman/fun2d.c" ${BOOK} >fun2d.c )
-
-${MIDOBJ}/fun2d.o: ${SRC}/include/com.h ${MIDINT}/fun2d.c
-       @ echo 12 making ${MIDOBJ}/fun2d.o from ${MIDINT}/fun2d.c
-       @ ( cd ${MIDOBJ} ; ${CC} ${CFLAGS} -c ${MIDINT}/fun2d.c )
-
-${MIDINT}/make2d.c: ${BOOK}
-       @ echo 14 ${MIDINT}/make2d.c from ${BOOK}
-       @( cd ${MIDINT} ; \
-       ${TANGLE} -R"viewman/make2d.c" ${BOOK} >make2d.c )
-
-${MIDOBJ}/make2d.o: ${SRC}/include/com.h ${MIDINT}/make2d.c
-       @ echo 15 making ${MIDOBJ}/make2d.o from ${MIDINT}/make2d.c
-       @ ( cd ${MIDOBJ} ; ${CC} ${CFLAGS} -c ${MIDINT}/make2d.c )
-
-${MIDINT}/makegraph.c: ${BOOK}
-       @ echo 17 ${MIDINT}/makegraph.c from ${BOOK}
-       @( cd ${MIDINT} ; \
-       ${TANGLE} -R"viewman/makegraph.c" ${BOOK} >makegraph.c )
-
-${MIDOBJ}/makegraph.o: ${SRC}/include/com.h ${MIDINT}/makegraph.c
-       @ echo 18 making ${MIDOBJ}/makegraph.o from ${MIDINT}/makegraph.c
-       @ ( cd ${MIDOBJ} ; ${CC} ${CFLAGS} -c ${MIDINT}/makegraph.c )
-
-${MIDINT}/fun3d.c: ${BOOK}
-       @ echo 20 ${MIDINT}/fun3d.c from ${BOOK}
-       @( cd ${MIDINT} ; \
-       ${TANGLE} -R"viewman/fun3d.c" ${BOOK} >fun3d.c )
-
-${MIDOBJ}/fun3d.o: ${SRC}/include/com.h ${MIDINT}/fun3d.c
-       @ echo 21 making ${MIDOBJ}/fun3d.o from ${MIDINT}/fun3d.c
-       @ ( cd ${MIDOBJ} ; ${CC} ${CFLAGS} -c ${MIDINT}/fun3d.c )
-
-${MIDINT}/make3d.c: ${BOOK}
-       @ echo 23 ${MIDINT}/make3d.c from ${BOOK}
-       @( cd ${MIDINT} ; \
-       ${TANGLE} -R"viewman/make3d.c" ${BOOK} >make3d.c )
-
-${MIDOBJ}/make3d.o: ${SRC}/include/com.h ${MIDINT}/make3d.c
-       @ echo 24 making ${MIDOBJ}/make3d.o from ${MIDINT}/make3d.c
-       @ ( cd ${MIDOBJ} ; ${CC} ${CFLAGS} -c ${MIDINT}/make3d.c )
-
-${MIDINT}/readview.c: ${BOOK}
-       @ echo 26 ${MIDINT}/readview.c from ${BOOK}
-       @( cd ${MIDINT} ; \
-       ${TANGLE} -R"viewman/readview.c" ${BOOK} >readview.c )
-
-${MIDOBJ}/readview.o: ${SRC}/include/com.h ${MIDINT}/readview.c
-       @ echo 27 making ${MIDOBJ}/readview.o from ${MIDINT}/readview.c
-       @ ( cd ${MIDOBJ} ; ${CC} ${CFLAGS} -c ${MIDINT}/readview.c )
-
-@
-\subsection{makegraph.c}
-<<viewman/makegraph.c>>=
-#define _MAKEGRAPH_C
-
-#include <stdlib.h>
-#include <stdio.h>
-
-<<viewman/viewman.h>>
-
-#include "sockio-c.h1"
-extern graphStruct * makeGraphFromSpadData(void);
-extern void discardGraph(graphStruct * theGraph);
-
-graphStruct *
-makeGraphFromSpadData(void)
-{
-  
+\subsection{makeGraphFromSpadData}
+\index{viewman!makeGraphFromSpadData}
+\index{makeGraphFromSpadData viewman}
+<<viewman>>=
+graphStruct *makeGraphFromSpadData(void) {
   graphStruct     *graphData;
   pointListStruct *pL;
   pointStruct     *p;
   int i,j;
-
   if (!(graphData = (graphStruct *)malloc(sizeof(graphStruct)))) {
-    fprintf(stderr,"The viewport manager ran out of memory trying to create a 
new graph (graphStruct).\n");
+    fprintf(stderr,"The viewport manager ran out of memory trying to \n");
+    fprintf(stderr, "create a new graph (graphStruct).\n");
     exit(-1);
   }
-
   graphData->xmin = get_float(spadSock);   /* after everything is normalized */
   graphData->xmax = get_float(spadSock);
   graphData->ymin = get_float(spadSock);   /* view2d */
   graphData->ymax = get_float(spadSock);
-
   graphData->xNorm = 1/(graphData->xmax - graphData->xmin);
   graphData->yNorm = 1/(graphData->ymax - graphData->ymin);
-
   graphData->spadUnitX = get_float(spadSock);
   graphData->spadUnitY = get_float(spadSock);
-
   graphData->unitX = graphData->spadUnitX * graphData->xNorm;
   graphData->unitY = graphData->spadUnitY * graphData->yNorm;
-
   graphData->originX = -graphData->xmin * graphData->xNorm - 0.5;
   graphData->originY = -graphData->ymin * graphData->yNorm - 0.5;
-
-
   graphData->numberOfLists = get_int(spadSock);
-  if (!(pL = (pointListStruct *)malloc(graphData->numberOfLists * 
sizeof(pointListStruct)))) {
-    fprintf(stderr,"The viewport manager ran out of memory trying to create a 
new graph (pointListStruct).\n");
+  if (!(pL = (pointListStruct *)
+           malloc(graphData->numberOfLists * sizeof(pointListStruct)))) {
+    fprintf(stderr,"The viewport manager ran out of memory trying to \n");
+    fprintf(stderr,"create a new graph (pointListStruct).\n");
     exit(-1);
   }
   graphData->listOfListsOfPoints = pL;
-
   for (i=0; i<graphData->numberOfLists; i++) {
-
     pL->numberOfPoints = get_int(spadSock);
-    if (!(p = (pointStruct *)malloc(pL->numberOfPoints * 
sizeof(pointStruct)))) {
-      fprintf(stderr,"The viewport manager ran out of memory trying to create 
a new graph (pointStruct).\n");
+    if (!(p=(pointStruct *)malloc(pL->numberOfPoints*sizeof(pointStruct)))) {
+      fprintf(stderr,"The viewport manager ran out of memory trying to \n");
+      fprintf(stderr,"create a new graph (pointStruct).\n");
       exit(-1);
     }
     pL->listOfPoints = p;             /** point to current point list **/
-
     for (j=0; j<pL->numberOfPoints; j++) {
       p->x     = get_float(spadSock);         /* get numbers from Axiom */
       p->y     = get_float(spadSock);
@@ -2929,56 +2749,33 @@ makeGraphFromSpadData(void)
     pL->pointSize = get_int(spadSock);
     pL++;                          /** advance to next point list **/
   }
-
-
   graphData->key = graphKey++;
-  
   send_int(spadSock,(graphKey-1));          /* acknowledge to spad */
-
-
   return(graphData);
-
 }
   
-
-void 
-discardGraph (graphStruct *theGraph)
-{
-
+@
+\subsection{discardGraph}
+\index{viewman!discardGraph}
+\index{discardGraph viewman}
+<<viewman>>=
+void discardGraph(graphStruct *theGraph) {
   pointListStruct *pL;
   int j;
-
   for (j=0, pL=theGraph->listOfListsOfPoints; 
           j<theGraph->numberOfLists; j++,pL++)
     free(pL->listOfPoints);
   free(theGraph->listOfListsOfPoints);
   free(theGraph);
-
 }
-@
-\subsection{readview.c}
-<<viewman/readview.c>>=
-#define _READVIEW_C
-
-#include <unistd.h>
-#include <stdio.h>
-#include <errno.h>
-
-<<viewman/viewman.h>>
-
-extern void brokenPipe(int sig);
-extern void endChild(int sig);
-extern void rmViewMgr(viewManager * slotPtr);
-extern void closeChildViewport(viewManager * slotPtr);
-extern void goodbye(int sig);
-
-
-int 
-readViewport (viewManager *viewPort,void *info,int size)
-{
 
+@
+\subsection{readViewport}
+\index{viewman!readViewport}
+\index{readViewport viewman}
+<<viewman>>=
+int readViewport(viewManager *viewPort,void *info,int size) {
   int canRead;
-
 again:  
   if ((canRead=read(viewPort->viewIn,info,size)) > 0)   return(canRead); 
   if (errno==EINTR || errno==EAGAIN) goto again;
@@ -2986,49 +2783,18 @@ again:
 }
 
 @
-\subsection{sselect.c}
-<<viewman/sselect.c>>=
-#define _SSELECT_C
-
-#include <stdio.h>
-#include <errno.h>
-#include <sys/time.h>
-#include <sys/wait.h>
-#include <signal.h>
-
-<<viewman/viewman.h>>
-#include "bsdsignal.h"
-
-#include "sockio-c.h1"
-#include "bsdsignal.h1"
-extern void brokenPipe(int sig);
-extern void endChild(int sig);
-extern void rmViewMgr(viewManager * slotPtr);
-extern void closeChildViewport(viewManager * slotPtr);
-extern void goodbye(int sig);
-
-extern int 
-superSelect(int n , int * rd , int * wr , int * ex , char * timeout);
-
-/*******************************************
- * int superSelect(n, rd, wr, ex, timeout) *
- *                                         *
- * superselect! if select returns a -1     *
- * due to an interrupt (EINTR), this       *
- * routine checks to see if it's a         *
- * child viewport that has closed.         *
- * Expected global variables:              *
- *   int  checkClosedChild                 *
- *******************************************/
- 
-int 
-superSelect(int n, int *rd, int *wr, int *ex, char *timeout)
-{
-  
+\subsection{superSelect}
+The function superselect!, if select returns a -1
+due to an interrupt (EINTR), this routine checks to see if it's a
+child viewport that has closed. Expected global variables: 
+{\tt checkClosedChild}
+\index{viewman!superSelect}
+\index{superSelect viewman}
+<<viewman>>=
+int superSelect(int n,int *rd,int *wr,int *ex,char *timeout) {
   int waiting;
   viewManager *viewport;
   int ret_val;
-  
   ret_val = select(n, (void *)rd, (void *)wr, (void *)ex, (void *)timeout);
   while (ret_val == -1 && errno == EINTR) {
     /* checkClosedChild gets set by the SIGCHLD handler */
@@ -3043,11 +2809,11 @@ superSelect(int n, int *rd, int *wr, int *ex, char 
*timeout)
        /* flush(spadSock); */
         /* send_int(spadSock,1);   acknowledge to spad */
         checkClosedChild = no;
-#if defined(BSDplatform) || defined(MACOSXplatform)
+   #if defined(BSDplatform) || defined(MACOSXplatform)
         bsdSignal(SIGCHLD,endChild,DontRestartSystemCalls);
-#else
+   #else
         bsdSignal(SIGCLD,endChild,DontRestartSystemCalls);
-#endif
+   #endif
       }
     }
     ret_val = select(n, (void *)rd, (void *)wr, (void *)ex, (void *)timeout);
@@ -3056,84 +2822,27 @@ superSelect(int n, int *rd, int *wr, int *ex, char 
*timeout)
 }
 
 @
-\subsection{viewman.c}
-<<viewman/viewman.c>>=
-#define _VIEWMAN_C
-
-#include <unistd.h>
-#include <sys/time.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <signal.h>
-#ifdef SGIplatform
-#include <bstring.h>
-#endif
-
-<<viewman/viewman.h>>
-#define spadActionMode
-/* define spadEventMode */
-#define components
-<<include/actions.h>>
-<<include/viewcommand.h>>
-#include "bsdsignal.h"
-
-
-#include "bsdsignal.h1"
-#include "util.h1"
-#include "sockio-c.h1"
-extern void funView2D(int viewCommand);
-extern void sendGraphToView2D(int i ,int there,viewManager * viewType,
-                              graphStateStruct * doGraphStateArray);
-extern void forkView2D(void);
-extern void funView3D(int viewCommand);
-extern void forkView3D(int typeOfViewport);
-extern graphStruct * makeGraphFromSpadData(void);
-extern void discardGraph(graphStruct * theGraph);
-extern int readViewport(viewManager * viewPort , void * info , int size);
-extern void brokenPipe(int sig);
-extern void endChild(int sig);
-extern void rmViewMgr(viewManager * slotPtr);
-extern void closeChildViewport(viewManager * slotPtr);
-extern void goodbye(int sig);
-
-extern int 
-superSelect(int n , int * rd , int * wr , int * ex , char * timeout);
-
-/************* global variables **************/
-
-Display *dsply;
-Window  root;
-XEvent  viewmanEvent;
-viewManager *viewports,
-  *slot,
-  *stepSlot;
-Sock        *spadSock;
-int         viewType, 
-  viewCommand,
-  acknow,
-  graphKey = 1,
-  defDsply,
-  currentGraph,
-  picked = no,
-  viewOkay  = 0,
-  viewError = -1,
-  checkClosedChild = no,
-  foundBrokenPipe = no;
-fd_set      filedes;
-graphStruct *graphList;
-graphStateStruct currentGraphState;
-char        *s1,
-  propertyBuffer[256];/* XProperty buffer */
-
-
-int
-main (void)
-{
+\subsection{brokenPipe}
+\index{viewman!brokenPipe}
+\index{brokenPipe viewman}
+<<viewman>>=
+void brokenPipe(int sig) {
+  fprintf(stderr,
+          "The viewport manager tried to write to a non-existing pipe.\n");
+}
 
+@
+\subsection{main}
+The function superselect!, if select returns a -1
+due to an interrupt (EINTR), this routine checks to see if it's a
+child viewport that has closed. Expected global variables: 
+{\tt checkClosedChild}
+\index{viewman!main}
+\index{main viewman}
+<<viewman>>=
+int main(void) {
   graphStruct *aGraph;
   int keepLooking,code;
-  
   bsdSignal(SIGPIPE,brokenPipe,DontRestartSystemCalls);
 #if defined(BSDplatform) || defined(MACOSXplatform)
   bsdSignal(SIGCHLD,endChild,RestartSystemCalls);
@@ -3141,7 +2850,6 @@ main (void)
   bsdSignal(SIGCLD,endChild,RestartSystemCalls);
 #endif
   bsdSignal(SIGTERM,goodbye,DontRestartSystemCalls);
-  
   /* Connect up to Axiom server */
   spadSock = connect_to_local_server(SpadServer,ViewportServer,Forever);
   if (spadSock == NULL) {
@@ -3152,11 +2860,9 @@ main (void)
   else
     fprintf(stderr,"viewman: Connected to Axiom\n");
 #endif
-  
   /******** initialize ********/
   viewports = 0;
   graphList = 0;
-  
   /******** getting stuff from spad and viewports ********
   *********   the viewports have priority over    ****
   ***   Axiom.                              ***/
@@ -3168,14 +2874,12 @@ main (void)
       FD_SET(slot->viewIn,&filedes);
       slot = slot->nextViewport;
     }
-    
 #ifdef DEBUG
     fprintf(stderr,"Selection for filedes of %x \n",filedes);
 #endif
     code = check(superSelect(FD_SETSIZE,(void *) &filedes,0,0,0));
     for (;code<=0;) 
       code = check(superSelect(FD_SETSIZE,(void *)&filedes,0,0,0));
-    
     slot = viewports;
     keepLooking = 1;
     while (keepLooking && slot) {
@@ -3185,19 +2889,15 @@ main (void)
         fprintf(stderr,"Reading child viewport...\n");
 #endif
         readViewport(slot,&viewCommand,intSize);
-       
         switch (viewCommand) {
-         
         case pick2D:
 #ifdef DEBUG
           fprintf(stderr,"viewman: Doing 2D pick\n");
 #endif
           picked = yes;
-         
           readViewport(slot,&currentGraph,intSize); /* get the graph to pick */
           readViewport(slot,&currentGraphState,sizeof(graphStateStruct));
           break;
-         
         case drop2D:
 #ifdef DEBUG
           fprintf(stderr,"viewman: Doing 2D drop\n");
@@ -3208,24 +2908,21 @@ main (void)
             sendGraphToView2D(0,currentGraph,slot,&currentGraphState);
           } else {
             write(slot->viewOut,&viewError,intSize);
-            fprintf(stderr,"The viewport manager cannot drop a graph because 
nothing has been picked yet.\n");
+            fprintf(stderr,"The viewport manager cannot drop a graph \n");
+            fprintf(stderr,"because nothing has been picked yet.\n");
           }
           break;
-         
         case viewportClosing:
 #ifdef DEBUG
           fprintf(stderr,"viewman: closing viewport\n");
 #endif
           closeChildViewport(slot);
           break;
-
         };  /* switch */
-       
       };  /* if reading slot->viewIn */
       stepSlot = slot;
       slot = slot->nextViewport;
     };  /* while */
-    
     if (keepLooking) {   /* if  1 => slots not read, read from spad */
 #ifdef DEBUG
       fprintf(stderr,"viewman: still looking\n");
@@ -3233,9 +2930,7 @@ main (void)
       viewType = get_int(spadSock);
       if (viewType == -1) goodbye(-1);
       viewCommand = get_int(spadSock);
-      
       switch (viewType) {
-        
       case view3DType:
 #ifdef DEBUG
         fprintf(stderr,"viewman: making 3D viewport\n");
@@ -3244,9 +2939,7 @@ main (void)
           forkView3D(view3DType);
        else 
          funView3D(viewCommand);
-        
         break;
-       
       case viewTubeType:
 #ifdef DEBUG
         fprintf(stderr,"viewman: viewing a tube\n");
@@ -3255,9 +2948,7 @@ main (void)
           forkView3D(viewTubeType);
        else 
           funView3D(viewCommand);
-        
         break;
-        
       case viewGraphType:
 #ifdef DEBUG
         fprintf(stderr,"viewman: making a graph\n");
@@ -3268,7 +2959,6 @@ main (void)
           graphList         = aGraph;
         }
         break;
-        
       case view2DType:
 #ifdef DEBUG
        fprintf(stderr,"viewman: forking 2D\n");
@@ -3279,32 +2969,38 @@ main (void)
           funView2D(viewCommand);
         }
         break;
-        
       }   /* switch on viewType */
     }   /* if (keepLooking) */ 
   }   /* while (1) */
 }
 
 @
-\subsection{viewman.h}
-<<viewman/viewman.h>>=
-<<include/view2d.h>>
-<<include/view3d.h>>
+\subsection{viewman Makefile}
+<<viewman/Makefile>>=
+BOOK=${SPD}/books/bookvol8.pamphlet
+MIDINT=        ${INT}/graph/viewman
+MIDOBJ=        ${OBJ}/${SYS}/graph/viewman
+OUT=   ${MNT}/${SYS}/lib
+LIB=    ${OBJ}/${SYS}/lib
 
-      /* Viewport Commands */
-#define makeViewport -1
-#define makeGraph    -1
+CFLAGS  = ${CCF} -I${SRC}/include
+LDFLAGS = ${LDF} -lX11
 
-#define check(code) checker(code,__LINE__,"")
-#define maxConnect 40
-#define intSize sizeof(int)
-#define floatSize sizeof(float)
-#define yes 1
-#define no 0
+OBJS=   ${MIDOBJ}/viewman.o ${OBJ}/${SYS}/lib/sockio-c.o
 
+all: ${OBJS} ${OUT}/viewman 
+       @ echo 30 finished viewman from bookvol8
+
+${OUT}/viewman: ${OBJS} ${LIB}/util.o ${LIB}/bsdsignal.o
+       @ echo 1 linking ${OUT}/viewman
+       @ ${CC} ${OBJS} -o ${OUT}/viewman ${LIB}/util.o \
+            ${LIB}/bsdsignal.o ${LDFLAGS}
+
+${MIDOBJ}/viewman.o: ${SRC}/include/com.h ${BOOK}
+       @ echo 3 making ${MIDOBJ}/viewman.o from ${BOOK}
+       @( cd ${MIDINT} ; ${TANGLE} -R"viewman" ${BOOK} >viewman.c )
+       @ ( cd ${MIDOBJ} ;  ${CC} ${CFLAGS} -c ${MIDINT}/viewman.c )
 
-#include "com.h"
-<<viewman/globalsm.h>>
 @
 \chapter{viewalone}
 \label{viewalone}
@@ -6128,7 +5824,10 @@ freeGraph(int i)
 #define drawViewport(type) drawTheViewport(type);
 #define spadDrawViewport() spadMode++; drawTheViewport(X); spadMode--;
 
-
+@
+\index{struct!buttonStruct}
+\index{buttonStruct struct}
+<<view2d/header2.h>>=
 typedef struct _buttonStruct {
   int buttonKey, pot, mask, graphNum, graphSelect;
   short buttonX,buttonY,buttonWidth,buttonHeight,xHalf,yHalf;
@@ -6137,6 +5836,10 @@ typedef struct _buttonStruct {
   int textColor, textHue, textShade;
 } buttonStruct;
 
+@
+\index{struct!controlPanelStruct}
+\index{controlPanelStruct struct}
+<<view2d/header2.h>>=
 typedef struct _controlPanelStruct {
   int                  numOfButtons;
   Window               controlWindow,messageWindow,colormapWindow;
@@ -6144,10 +5847,18 @@ typedef struct _controlPanelStruct {
   struct _buttonStruct buttonQueue[maxButtons2D];
 } controlPanelStruct;
 
+@
+\index{struct!mouseCoord}
+\index{mouseCoord struct}
+<<view2d/header2.h>>=
 typedef struct _mouseCoord {
     float x,y;
 } mouseCoord;
 
+@
+\index{struct!viewPoints}
+\index{viewPoints struct}
+<<view2d/header2.h>>=
 typedef struct _viewPoints {
   int                 viewportKey;
   char                title[80];
@@ -6159,20 +5870,24 @@ typedef struct _viewPoints {
   struct _viewPoints  *prevViewport,*nextViewport;
 } viewPoints;
 
-
+@
+\index{struct!controlXY}
+\index{controlXY struct}
+<<view2d/header2.h>>=
 typedef struct _controlXY {
   int putX,putY;
 } controlXY;
 
-
+@
+\index{struct!xPointStruct}
+\index{xPointStruct struct}
+<<view2d/header2.h>>=
 typedef struct _xPointStruct {
   XPoint *xPoint;
   Vertex *x10Point;
   XArc   *arc;
 } xPointStruct;
 
-
-
 #define calcUnitX(ii) (vwInfo.width * \
                       ((graphArray[0].unitX * ii + \
                        graphArray[0].originX - graphStateArray[0].centerX) *\
@@ -11306,6 +11021,10 @@ contour_minMaxPolygons(poly * aPoly)
   ((z_min < z_val) && (z_max >= z_val))
 
 #ifdef oldie
+@
+\index{struct!active\_poly\_struct}
+\index{active\_poly\_struct struct}
+<<view3d/contour.h>>=
 typedef struct _active_poly_struct {
   struct _active_poly_struct *next;
   int num;
@@ -11313,11 +11032,19 @@ typedef struct _active_poly_struct {
 } active_poly_struct;
 #endif
 
+@
+\index{struct!segment\_struct}
+\index{segment\_struct struct}
+<<view3d/contour.h>>=
 typedef struct _segment_struct {
   struct _segment_struct *next;
   struct _viewTriple     *point1, *point2;
 } segment_struct;
 
+@
+\index{struct!segment\_list\_struct}
+\index{segment\_list\_struct struct}
+<<view3d/contour.h>>=
 typedef struct _segment_list_struct {
   int            num_segs;
   segment_struct *segments;
@@ -13976,6 +13703,10 @@ extern Atom wm_delete_window;
                       /***        control stuff       ***/
                       /**********************************/
 
+@
+\index{struct!buttonStruct}
+\index{buttonStruct struct}
+<<view3d/header.h>>=
 typedef struct _buttonStruct {
   int           buttonKey, pot, mask;
   short         buttonX, buttonY, buttonWidth, buttonHeight, xHalf, yHalf;
@@ -13984,12 +13715,20 @@ typedef struct _buttonStruct {
   int           textColor,textHue,textShade;
 } buttonStruct;
 
+@
+\index{struct!controlPanelStruct}
+\index{controlPanelStruct struct}
+<<view3d/header.h>>=
 typedef struct _controlPanelStruct {
   Window        controlWindow, messageWindow, colormapWindow;
   char          message[40];
   buttonStruct  buttonQueue[maxButtons3D];
 } controlPanelStruct;
 
+@
+\index{struct!mouseCoord}
+\index{mouseCoord struct}
+<<view3d/header.h>>=
 typedef struct _mouseCoord {
     float       x, y;
 } mouseCoord;
@@ -13999,10 +13738,18 @@ typedef struct _mouseCoord {
                       /***         mesh stuff         ***/
                       /**********************************/
 
+@
+\index{struct!meshStruct}
+\index{meshStruct struct}
+<<view3d/header.h>>=
 typedef struct _meshStruct {
   float         N0[4], N1[4];   /* the fourth element is Zmin */
 } meshStruct;
 
+@
+\index{struct!points3D}
+\index{points3D struct}
+<<view3d/header.h>>=
 typedef struct _points3D {
   float         xmin, xmax,
                 ymin, ymax,
@@ -14016,8 +13763,10 @@ typedef struct _points3D {
   meshStruct    *normData;   /* list of normals */
 } points3D;
 
-
-
+@
+\index{struct!colorBuffer}
+\index{colorBuffer struct}
+<<view3d/header.h>>=
 typedef struct _colorBuffer {
   int      indx;
   char     axes;
@@ -14028,18 +13777,24 @@ typedef struct _colorBuffer {
                       /***         axes stuff         ***/
                       /**********************************/
 
+@
+\index{struct!point}
+\index{point struct}
+<<view3d/header.h>>=
 typedef struct _point {
   float         x, y, z;
   int           flag;
 } point;
 
-
-   /**** one of the (many) sloppy things that need to be
-         cleaned up is the viewPoints structure. a lot of
-         stuff in it is used solely for the function of
-         two variables stuff. they should be moved to
-         the fun2Var substructure. ****/
-
+@
+\index{struct!viewPoints}
+\index{viewPoints struct}
+One of the (many) sloppy things that need to be
+cleaned up is the viewPoints structure. a lot of
+stuff in it is used solely for the function of
+two variables stuff. they should be moved to
+the fun2Var substructure.
+<<view3d/header.h>>=
 typedef struct _viewPoints {
   int                 viewportKey;
   char                title[80];
@@ -14065,7 +13820,10 @@ typedef struct _viewPoints {
   struct _viewPoints  *prevViewport, *nextViewport;
 } viewPoints;
 
-
+@
+\index{struct!controlXY}
+\index{controlXY struct}
+<<view3d/header.h>>=
 typedef struct _controlXY {
   int           putX, putY;
 } controlXY;
@@ -26309,6 +26067,8 @@ the file is copied to the output file.
 
 @
 PostScript structures
+\label{psStruct}
+\index{psStruct}
 <<gdraws/gfun.c>>=
 typedef struct _psStruct {     /* data structure for ps routines info */
        int     flag;
diff --git a/changelog b/changelog
index e4f1428..b783c96 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,4 @@
+20080613 tpd books/bookvol8 compress viewman.c to a single file
 20080612 tpd books/bookvol12 point to The Axiom Literate Documentation
 20080612 tpd books/bookvol11 point to The Axiom Literate Documentation
 20080612 tpd books/bookvol10 point to The Axiom Literate Documentation




reply via email to

[Prev in Thread] Current Thread [Next in Thread]