Index: trunk/Ohana/src/opihi/dvo/simage.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/simage.c	(revision 13479)
+++ trunk/Ohana/src/opihi/dvo/simage.c	(revision 20936)
@@ -92,10 +92,7 @@
 
   /* set up storage buffers */
-  Xvec.Nelements = Nstars;
-  Yvec.Nelements = Nstars;
-  Zvec.Nelements = Nstars;
-  ALLOCATE (Xvec.elements, float, Xvec.Nelements);
-  ALLOCATE (Yvec.elements, float, Yvec.Nelements);
-  ALLOCATE (Zvec.elements, float, Zvec.Nelements);
+  SetVector (&Xvec, OPIHI_FLT, Nstars);
+  SetVector (&Yvec, OPIHI_FLT, Nstars);
+  SetVector (&Zvec, OPIHI_FLT, Nstars);
   ALLOCATE (buffer, char, (BLOCK*BYTES_STAR));
 
@@ -107,7 +104,7 @@
     if (nbytes != BLOCK*BYTES_STAR) {
       gprint (GP_ERR, "failed to read in stars (1)\n");
-      free (Xvec.elements);
-      free (Yvec.elements);
-      free (Zvec.elements);
+      free (Xvec.elements.Flt);
+      free (Yvec.elements.Flt);
+      free (Zvec.elements.Flt);
       free (buffer);
       return (FALSE);
@@ -118,6 +115,6 @@
       dparse (&M,  3, &buffer[j*BYTES_STAR]);
       XY_to_RD (&R, &D, X, Y, &coords);
-      fRD_to_XY (&Xvec.elements[nstars], &Yvec.elements[nstars], R, D, &graphmode.coords);
-      Zvec.elements[nstars] = MIN (1.0, MAX (0.01, (M - zero) / range));
+      RD_to_XY (&Xvec.elements.Flt[nstars], &Yvec.elements.Flt[nstars], R, D, &graphmode.coords);
+      Zvec.elements.Flt[nstars] = MIN (1.0, MAX (0.01, (M - zero) / range));
     }
   }
@@ -126,7 +123,7 @@
   if (nbytes != (Nbytes % (BLOCK*BYTES_STAR))) {
     gprint (GP_ERR, "ERROR: failed to read in stars (2)\n");
-    free (Xvec.elements);
-    free (Yvec.elements);
-    free (Zvec.elements);
+    free (Xvec.elements.Flt);
+    free (Yvec.elements.Flt);
+    free (Zvec.elements.Flt);
     free (buffer);
     return (FALSE);
@@ -137,13 +134,13 @@
     dparse (&M,  3, &buffer[j*BYTES_STAR]);
     XY_to_RD (&R, &D, X, Y, &coords);
-    fRD_to_XY (&Xvec.elements[nstars], &Yvec.elements[nstars], R, D, &graphmode.coords);
-    Zvec.elements[nstars] = MIN (1.0, MAX (0.01, (M - zero) / range));
+    RD_to_XY (&Xvec.elements.Flt[nstars], &Yvec.elements.Flt[nstars], R, D, &graphmode.coords);
+    Zvec.elements.Flt[nstars] = MIN (1.0, MAX (0.01, (M - zero) / range));
   }
   
   if (nstars != Nstars) {
     gprint (GP_ERR, "ERROR: failed to read in all stars (%d of %d)\n", nstars, Nstars);
-    free (Xvec.elements);
-    free (Yvec.elements);
-    free (Zvec.elements);
+    free (Xvec.elements.Flt);
+    free (Yvec.elements.Flt);
+    free (Zvec.elements.Flt);
     free (buffer);
     return (FALSE);
@@ -155,9 +152,9 @@
   Npts = Xvec.Nelements;
 
-  PlotVectorTriplet (kapa, Npts, Xvec.elements, Yvec.elements, Zvec.elements, &graphmode);
+  PlotVectorTriplet (kapa, &Xvec, &Yvec, &Zvec, &graphmode);
 
-  free (Xvec.elements);
-  free (Yvec.elements);
-  free (Zvec.elements);
+  free (Xvec.elements.Flt);
+  free (Yvec.elements.Flt);
+  free (Zvec.elements.Flt);
   free (buffer);
 
