Index: trunk/psLib/src/astro/psCoord.c
===================================================================
--- trunk/psLib/src/astro/psCoord.c	(revision 2199)
+++ trunk/psLib/src/astro/psCoord.c	(revision 2200)
@@ -10,6 +10,6 @@
 *  @author George Gusciora, MHPCC
 *
-*  @version $Revision: 1.27 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2004-10-26 21:57:42 $
+*  @version $Revision: 1.28 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2004-10-26 22:32:09 $
 *
 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -61,4 +61,20 @@
 /* FUNCTION IMPLEMENTATION - PUBLIC                                          */
 /*****************************************************************************/
+static void planeTransformFree(psPlaneTransform *pt)
+{
+    psFree(pt->x);
+    psFree(pt->y);
+}
+
+psPlaneTransform* psPlaneTransformAlloc(int n1, int n2)
+{
+    psPlaneTransform *pt = psAlloc(sizeof(psPlaneTransform));
+    pt->x = psDPolynomial2DAlloc(n1, n2, PS_POLYNOMIAL_ORD);
+    pt->y = psDPolynomial2DAlloc(n1, n2, PS_POLYNOMIAL_ORD);
+
+    p_psMemSetDeallocator(pt, (psFreeFcn) planeTransformFree);
+    return(pt);
+}
+
 psPlane* psPlaneTransformApply(psPlane* out,
                                const psPlaneTransform* transform,
@@ -73,4 +89,20 @@
     out->y = psDPolynomial2DEval(coords->x, coords->y, transform->y);
     return (out);
+}
+
+static void planeDistortFree(psPlaneDistort *pt)
+{
+    psFree(pt->x);
+    psFree(pt->y);
+}
+
+psPlaneDistort* psPlaneDistortAlloc(int n1, int n2, int n3, int n4)
+{
+    psPlaneDistort *pt = psAlloc(sizeof(psPlaneDistort));
+    pt->x = psDPolynomial4DAlloc(n1, n2, n3, n4, PS_POLYNOMIAL_ORD);
+    pt->y = psDPolynomial4DAlloc(n1, n2, n3, n4, PS_POLYNOMIAL_ORD);
+
+    p_psMemSetDeallocator(pt, (psFreeFcn) planeDistortFree);
+    return(pt);
 }
 
