Index: trunk/Ohana/src/opihi/cmd.data/grid.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/grid.c	(revision 13479)
+++ trunk/Ohana/src/opihi/cmd.data/grid.c	(revision 20936)
@@ -23,8 +23,6 @@
 
   N = 0;
-  Xvec.Nelements = 200;
-  Yvec.Nelements = 200;
-  ALLOCATE (Xvec.elements, float, Xvec.Nelements);
-  ALLOCATE (Yvec.elements, float, Yvec.Nelements);
+  SetVector (&Xvec, OPIHI_FLT, 200);
+  SetVector (&Yvec, OPIHI_FLT, 200);
 
   major = minor = 1;
@@ -64,21 +62,21 @@
       if (MajorTick) {
 	/* major tick */
-	Xvec.elements[N] = next;
-	Yvec.elements[N] = graphmode.ymin;
-	N++;
-	if (N == Xvec.Nelements) {
-	  Xvec.Nelements += 200;
-	  Yvec.Nelements += 200;
-	  REALLOCATE (Xvec.elements, float, Xvec.Nelements);
-	  REALLOCATE (Yvec.elements, float, Yvec.Nelements);
-	}
-	Xvec.elements[N] = next;
-	Yvec.elements[N] = graphmode.ymax;
-	N++;
-	if (N == Xvec.Nelements) {
-	  Xvec.Nelements += 200;
-	  Yvec.Nelements += 200;
-	  REALLOCATE (Xvec.elements, float, Xvec.Nelements);
-	  REALLOCATE (Yvec.elements, float, Yvec.Nelements);
+	Xvec.elements.Flt[N] = next;
+	Yvec.elements.Flt[N] = graphmode.ymin;
+	N++;
+	if (N == Xvec.Nelements) {
+	  Xvec.Nelements += 200;
+	  Yvec.Nelements += 200;
+	  REALLOCATE (Xvec.elements.Flt, opihi_flt, Xvec.Nelements);
+	  REALLOCATE (Yvec.elements.Flt, opihi_flt, Yvec.Nelements);
+	}
+	Xvec.elements.Flt[N] = next;
+	Yvec.elements.Flt[N] = graphmode.ymax;
+	N++;
+	if (N == Xvec.Nelements) {
+	  Xvec.Nelements += 200;
+	  Yvec.Nelements += 200;
+	  REALLOCATE (Xvec.elements.Flt, opihi_flt, Xvec.Nelements);
+	  REALLOCATE (Yvec.elements.Flt, opihi_flt, Yvec.Nelements);
 	}
       }
@@ -86,21 +84,21 @@
       if (MinorTick) {
 	/* minor tick */
-	Xvec.elements[N] = next;
-	Yvec.elements[N] = graphmode.ymin;
-	N++;
-	if (N == Xvec.Nelements) {
-	  Xvec.Nelements += 200;
-	  Yvec.Nelements += 200;
-	  REALLOCATE (Xvec.elements, float, Xvec.Nelements);
-	  REALLOCATE (Yvec.elements, float, Yvec.Nelements);
-	}
-	Xvec.elements[N] = next;
-	Yvec.elements[N] = graphmode.ymax;
-	N++;
-	if (N == Xvec.Nelements) {
-	  Xvec.Nelements += 200;
-	  Yvec.Nelements += 200;
-	  REALLOCATE (Xvec.elements, float, Xvec.Nelements);
-	  REALLOCATE (Yvec.elements, float, Yvec.Nelements);
+	Xvec.elements.Flt[N] = next;
+	Yvec.elements.Flt[N] = graphmode.ymin;
+	N++;
+	if (N == Xvec.Nelements) {
+	  Xvec.Nelements += 200;
+	  Yvec.Nelements += 200;
+	  REALLOCATE (Xvec.elements.Flt, opihi_flt, Xvec.Nelements);
+	  REALLOCATE (Yvec.elements.Flt, opihi_flt, Yvec.Nelements);
+	}
+	Xvec.elements.Flt[N] = next;
+	Yvec.elements.Flt[N] = graphmode.ymax;
+	N++;
+	if (N == Xvec.Nelements) {
+	  Xvec.Nelements += 200;
+	  Yvec.Nelements += 200;
+	  REALLOCATE (Xvec.elements.Flt, opihi_flt, Xvec.Nelements);
+	  REALLOCATE (Yvec.elements.Flt, opihi_flt, Yvec.Nelements);
 	}
       }
@@ -144,21 +142,21 @@
       if (MajorTick) {
 	/* major tick */
-	Xvec.elements[N] = graphmode.xmin;
-	Yvec.elements[N] = next;
-	N++;
-	if (N == Xvec.Nelements) {
-	  Xvec.Nelements += 200;
-	  Yvec.Nelements += 200;
-	  REALLOCATE (Xvec.elements, float, Xvec.Nelements);
-	  REALLOCATE (Yvec.elements, float, Yvec.Nelements);
-	}
-	Xvec.elements[N] = graphmode.xmax;
-	Yvec.elements[N] = next;
-	N++;
-	if (N == Xvec.Nelements) {
-	  Xvec.Nelements += 200;
-	  Yvec.Nelements += 200;
-	  REALLOCATE (Xvec.elements, float, Xvec.Nelements);
-	  REALLOCATE (Yvec.elements, float, Yvec.Nelements);
+	Xvec.elements.Flt[N] = graphmode.xmin;
+	Yvec.elements.Flt[N] = next;
+	N++;
+	if (N == Xvec.Nelements) {
+	  Xvec.Nelements += 200;
+	  Yvec.Nelements += 200;
+	  REALLOCATE (Xvec.elements.Flt, opihi_flt, Xvec.Nelements);
+	  REALLOCATE (Yvec.elements.Flt, opihi_flt, Yvec.Nelements);
+	}
+	Xvec.elements.Flt[N] = graphmode.xmax;
+	Yvec.elements.Flt[N] = next;
+	N++;
+	if (N == Xvec.Nelements) {
+	  Xvec.Nelements += 200;
+	  Yvec.Nelements += 200;
+	  REALLOCATE (Xvec.elements.Flt, opihi_flt, Xvec.Nelements);
+	  REALLOCATE (Yvec.elements.Flt, opihi_flt, Yvec.Nelements);
 	}
       }
@@ -166,21 +164,21 @@
       if (MinorTick) {
 	/* minor tick */
-	Xvec.elements[N] = graphmode.xmin;
-	Yvec.elements[N] = next;
-	N++;
-	if (N == Xvec.Nelements) {
-	  Xvec.Nelements += 200;
-	  Yvec.Nelements += 200;
-	  REALLOCATE (Xvec.elements, float, Xvec.Nelements);
-	  REALLOCATE (Yvec.elements, float, Yvec.Nelements);
-	}
-	Xvec.elements[N] = graphmode.xmax;
-	Yvec.elements[N] = next;
-	N++;
-	if (N == Xvec.Nelements) {
-	  Xvec.Nelements += 200;
-	  Yvec.Nelements += 200;
-	  REALLOCATE (Xvec.elements, float, Xvec.Nelements);
-	  REALLOCATE (Yvec.elements, float, Yvec.Nelements);
+	Xvec.elements.Flt[N] = graphmode.xmin;
+	Yvec.elements.Flt[N] = next;
+	N++;
+	if (N == Xvec.Nelements) {
+	  Xvec.Nelements += 200;
+	  Yvec.Nelements += 200;
+	  REALLOCATE (Xvec.elements.Flt, opihi_flt, Xvec.Nelements);
+	  REALLOCATE (Yvec.elements.Flt, opihi_flt, Yvec.Nelements);
+	}
+	Xvec.elements.Flt[N] = graphmode.xmax;
+	Yvec.elements.Flt[N] = next;
+	N++;
+	if (N == Xvec.Nelements) {
+	  Xvec.Nelements += 200;
+	  Yvec.Nelements += 200;
+	  REALLOCATE (Xvec.elements.Flt, opihi_flt, Xvec.Nelements);
+	  REALLOCATE (Yvec.elements.Flt, opihi_flt, Yvec.Nelements);
 	}
       }
@@ -193,8 +191,8 @@
   graphmode.ptype = 100; /* connect a pair */
   graphmode.etype = 0;
-  PlotVectorPair (kapa, N, Xvec.elements, Yvec.elements, &graphmode);
-
-  free (Xvec.elements);
-  free (Yvec.elements);
+  PlotVectorPair (kapa, &Xvec, &Yvec, &graphmode);
+
+  free (Xvec.elements.Flt);
+  free (Yvec.elements.Flt);
 
   return (TRUE);
