Index: trunk/psLib/src/astro/psCoord.c
===================================================================
--- trunk/psLib/src/astro/psCoord.c	(revision 4877)
+++ trunk/psLib/src/astro/psCoord.c	(revision 4898)
@@ -10,6 +10,6 @@
 *  @author GLG, MHPCC
 *
-*  @version $Revision: 1.83 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-08-23 23:23:05 $
+*  @version $Revision: 1.84 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2005-08-30 01:14:10 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -219,4 +219,25 @@
 }
 
+
+bool psMemCheckPlane(psPtr ptr)
+{
+    return ( psMemGetDeallocator(ptr) == (psFreeFunc)planeFree );
+}
+
+bool psMemCheckSphere(psPtr ptr)
+{
+    return ( psMemGetDeallocator(ptr) == (psFreeFunc)sphereFree );
+}
+
+bool psMemCheckCube(psPtr ptr)
+{
+    return ( psMemGetDeallocator(ptr) == (psFreeFunc)cubeFree );
+}
+
+bool psMemCheckPlaneTransform(psPtr ptr)
+{
+    return ( psMemGetDeallocator(ptr) == (psFreeFunc)planeTransformFree );
+}
+
 psPlane* psPlaneTransformApply(psPlane* out,
                                const psPlaneTransform* transform,
@@ -267,4 +288,11 @@
     return(pt);
 }
+
+bool psMemCheckPlaneDistort(psPtr ptr)
+{
+    return ( psMemGetDeallocator(ptr) == (psFreeFunc)planeDistortFree );
+}
+
+
 
 /******************************************************************************
@@ -343,4 +371,11 @@
     return(p);
 }
+
+bool psMemCheckProjection(psPtr ptr)
+{
+    return ( psMemGetDeallocator(ptr) == (psFreeFunc)projectionFree );
+}
+
+
 
 psPlane* psProject(const psSphere* coord,
Index: trunk/psLib/src/astro/psCoord.h
===================================================================
--- trunk/psLib/src/astro/psCoord.h	(revision 4877)
+++ trunk/psLib/src/astro/psCoord.h	(revision 4898)
@@ -10,6 +10,6 @@
 *  @author GLG, MHPCC
 *
-*  @version $Revision: 1.41 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-08-25 23:42:01 $
+*  @version $Revision: 1.42 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2005-08-30 01:14:10 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -219,4 +219,65 @@
 );
 
+/** Checks the type of a particular pointer.
+ *
+ *  Uses the appropriate deallocation function in psMemBlock to check the ptr datatype.
+ *
+ *  @return bool:       True if the pointer matches a psPlane structure, false otherwise.
+ */
+bool psMemCheckPlane(
+    psPtr ptr                          ///< the pointer whose type to check
+);
+
+/** Checks the type of a particular pointer.
+ *
+ *  Uses the appropriate deallocation function in psMemBlock to check the ptr datatype.
+ *
+ *  @return bool:       True if the pointer matches a psSphere structure, false otherwise.
+ */
+bool psMemCheckSphere(
+    psPtr ptr                          ///< the pointer whose type to check
+);
+
+/** Checks the type of a particular pointer.
+ *
+ *  Uses the appropriate deallocation function in psMemBlock to check the ptr datatype.
+ *
+ *  @return bool:       True if the pointer matches a psCube structure, false otherwise.
+ */
+bool psMemCheckCube(
+    psPtr ptr                          ///< the pointer whose type to check
+);
+
+/** Checks the type of a particular pointer.
+ *
+ *  Uses the appropriate deallocation function in psMemBlock to check the ptr datatype.
+ *
+ *  @return bool:       True if the pointer matches a psPlaneTransform structure, false otherwise.
+ */
+bool psMemCheckPlaneTransform(
+    psPtr ptr                          ///< the pointer whose type to check
+);
+
+/** Checks the type of a particular pointer.
+ *
+ *  Uses the appropriate deallocation function in psMemBlock to check the ptr datatype.
+ *
+ *  @return bool:       True if the pointer matches a psPlaneDistort structure, false otherwise.
+ */
+bool psMemCheckPlaneDistort(
+    psPtr ptr                          ///< the pointer whose type to check
+);
+
+/** Checks the type of a particular pointer.
+ *
+ *  Uses the appropriate deallocation function in psMemBlock to check the ptr datatype.
+ *
+ *  @return bool:       True if the pointer matches a psProjection structure, false otherwise.
+ */
+bool psMemCheckProjection(
+    psPtr ptr                          ///< the pointer whose type to check
+);
+
+
 /** Projects a spherical coordinate to a linear coordinate system
  *
Index: trunk/psLib/src/astro/psSphereOps.c
===================================================================
--- trunk/psLib/src/astro/psSphereOps.c	(revision 4877)
+++ trunk/psLib/src/astro/psSphereOps.c	(revision 4898)
@@ -7,6 +7,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-08-05 01:40:45 $
+ *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-08-30 01:14:10 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -33,4 +33,8 @@
 #define JULIAN_CENTURY 36525.0
 
+static void sphereRotFree(psSphereRot *result)
+{
+    // There are non dynamic allocated items
+}
 
 psSphereRot* psSphereRotAlloc(double alphaP,
@@ -58,8 +62,15 @@
     // calculate t*s*r.
     psSphereRot* result = psSphereRotCombine(NULL,&t,&s);
+    psMemSetDeallocator(result, (psFreeFunc)sphereRotFree);
     psSphereRotCombine(result,result,&r);
 
     return result;
 }
+
+bool psMemCheckSphereRot(psPtr ptr)
+{
+    return ( psMemGetDeallocator(ptr) == (psFreeFunc)sphereRotFree );
+}
+
 
 psSphereRot* psSphereRotQuat(double q0,
Index: trunk/psLib/src/astro/psSphereOps.h
===================================================================
--- trunk/psLib/src/astro/psSphereOps.h	(revision 4877)
+++ trunk/psLib/src/astro/psSphereOps.h	(revision 4898)
@@ -7,6 +7,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-08-05 01:40:45 $
+ *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-08-30 01:14:10 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -72,4 +72,16 @@
 );
 
+
+/** Checks the type of a particular pointer.
+ *
+ *  Uses the appropriate deallocation function in psMemBlock to check the ptr datatype.
+ *
+ *  @return bool:       True if the pointer matches a psSphereRot structure, false otherwise.
+ */
+bool psMemCheckSphereRot(
+    psPtr ptr                          ///< the pointer whose type to check
+);
+
+
 /** Allocator for psSphereRot given quaternions.
  *
Index: trunk/psLib/src/astro/psTime.c
===================================================================
--- trunk/psLib/src/astro/psTime.c	(revision 4877)
+++ trunk/psLib/src/astro/psTime.c	(revision 4898)
@@ -10,6 +10,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.66 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-07-12 19:12:00 $
+ *  @version $Revision: 1.67 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-08-30 01:14:10 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -434,4 +434,9 @@
 }
 
+static void timeFree(psTime *outTime)
+{
+    // There are non dynamic allocated items
+}
+
 psTime* psTimeAlloc(psTimeType type)
 {
@@ -449,5 +454,5 @@
     // Allocate memory for structure
     outTime = (psTime*)psAlloc(sizeof(psTime));
-
+    psMemSetDeallocator(outTime, (psFreeFunc)timeFree);
     // Initialize members
     outTime->sec = 0;
@@ -458,4 +463,11 @@
     return outTime;
 }
+
+
+bool psMemCheckTime(psPtr ptr)
+{
+    return ( psMemGetDeallocator(ptr) == (psFreeFunc)timeFree );
+}
+
 
 psTime* psTimeGetNow(psTimeType type)
Index: trunk/psLib/src/astro/psTime.h
===================================================================
--- trunk/psLib/src/astro/psTime.h	(revision 4877)
+++ trunk/psLib/src/astro/psTime.h	(revision 4898)
@@ -11,6 +11,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.34 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-07-21 02:39:57 $
+ *  @version $Revision: 1.35 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-08-30 01:14:10 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -100,4 +100,16 @@
 );
 
+
+/** Checks the type of a particular pointer.
+ *
+ *  Uses the appropriate deallocation function in psMemBlock to check the ptr datatype.
+ *
+ *  @return bool:       True if the pointer matches a psTime structure, false otherwise.
+ */
+bool psMemCheckTime(
+    psPtr ptr                          ///< the pointer whose type to check
+);
+
+
 /** Get current time.
  *
