Index: trunk/psLib/src/astro/psEarthOrientation.h
===================================================================
--- trunk/psLib/src/astro/psEarthOrientation.h	(revision 5294)
+++ trunk/psLib/src/astro/psEarthOrientation.h	(revision 5306)
@@ -8,6 +8,6 @@
 *  @author Robert Daniel DeSonia, MHPCC
 *
-*  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-09-13 00:50:04 $
+*  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2005-10-13 20:23:57 $
 *
 *  Copyright 2005 Maui High Performance Computing Center, University of Hawaii
@@ -21,68 +21,124 @@
 #include "psSphereOps.h"
 
+/**
+ *
+ *
+ */
 typedef struct
 {
-    double x;
-    double y;
-    double s;
+    double x;                          ///<
+    double y;                          ///<
+    double s;                          ///<
 }
 psEarthPole;
 
+/**
+ *
+ *
+ */
 typedef enum {
-    PS_PRECESS_ROUGH,
-    PS_PRECESS_COMPLETE,
-    PS_PRECESS_IAU2000A,
+    PS_PRECESS_ROUGH,                  ///<
+    PS_PRECESS_COMPLETE,               ///<
+    PS_PRECESS_IAU2000A,               ///<
 } psPrecessMethod;
 
+/**
+ *
+ *
+ *
+ */
 psSphere *psAberration(
-    psSphere *apparent,
-    const psSphere *actual,
-    const psSphere *direction,
-    double speed
+    psSphere *apparent,                ///<
+    const psSphere *actual,            ///<
+    const psSphere *direction,         ///<
+    double speed                       ///<
 );
 
+/**
+ *
+ *
+ *
+ */
 psSphere *psGravityDeflection(
-    psSphere *apparent,
-    psSphere *actual,
-    psSphere *sun
+    psSphere *apparent,                ///<
+    psSphere *actual,                  ///<
+    psSphere *sun                      ///<
 );
 
+/**
+ *
+ *
+ */
 double psEOC_ParallaxFactor(
-    const psSphere *coords,
-    const psTime *time
+    const psSphere *coords,            ///<
+    const psTime *time                 ///<
 );
 
+/**
+ *
+ *
+ */
 psEarthPole *psEOC_PrecessionModel(
-    const psTime *time
+    const psTime *time                 ///<
 );
 
+/**
+ *
+ *
+ */
 psEarthPole *psEOC_PrecessionCorr(
-    const psTime *time,
-    psTimeBulletin bulletin
+    const psTime *time,                ///<
+    psTimeBulletin bulletin            ///<
 );
 
+/**
+ *
+ *
+ */
 psSphereRot *psSphereRot_CEOtoGCRS(
-    const psEarthPole *pole
+    const psEarthPole *pole            ///<
 );
 
+/**
+ *
+ *
+ */
 psSphereRot *psSphereRot_TEOtoCEO(
-    const psTime *time
+    const psTime *time                 ///<
 );
 
+/**
+ *
+ *
+ */
 psEarthPole *psEOC_GetPolarMotion(
-    const psTime *time,
-    psTimeBulletin bulletin
+    const psTime *time,                ///<
+    psTimeBulletin bulletin            ///<
 );
 
+/**
+ *
+ *
+ */
 psEarthPole *psEOC_PolarTideCorr(
-    const psTime *time
+    const psTime *time                 ///<
 );
 
+/**
+ *
+ *
+ *
+ */
 psEarthPole *psEOC_NutationCorr(
-    psTime *time
+    psTime *time                       ///<
 );
 
+/**
+ *
+ *
+ *
+ */
 psSphereRot *psSphereRot_ITRStoTEO(
-    const psEarthPole *motion
+    const psEarthPole *motion          ///<
 );
 
Index: trunk/psLib/src/astro/psSphereOps.c
===================================================================
--- trunk/psLib/src/astro/psSphereOps.c	(revision 5294)
+++ trunk/psLib/src/astro/psSphereOps.c	(revision 5306)
@@ -7,6 +7,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-08-30 01:14:10 $
+ *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-10-13 20:23:57 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -153,8 +153,12 @@
 
     // following came from ADD
-    out->q0 = b3*a0 + b2*a1 - b1*a2 + b0*a3;
-    out->q1 = b3*a1 - b2*a0 + b1*a3 + b0*a2;
-    out->q2 = b3*a2 + b2*a3 + b1*a0 - b0*a1;
-    out->q3 = b3*a3 - b3*a2 - b1*a1 - b0*a0;
+    //    out->q0 = b3*a0 + b2*a1 - b1*a2 + b0*a3;
+    //    out->q1 = b3*a1 - b2*a0 + b1*a3 + b0*a2;
+    //    out->q2 = b3*a2 + b2*a3 + b1*a0 - b0*a1;
+    out->q0 = a3*b0 + a0*b3 + a1*b2 - a2*b1;
+    out->q1 = a3*b1 - a0*b2 + a1*b3 + a2*b0;
+    out->q2 = a3*b2 + a0*b1 - a1*b0 + a2*b3;
+
+    out->q3 = b3*a3 - b2*a2 - b1*a1 - b0*a0;
 
     return out;
Index: trunk/psLib/src/astro/psSphereOps.h
===================================================================
--- trunk/psLib/src/astro/psSphereOps.h	(revision 5294)
+++ trunk/psLib/src/astro/psSphereOps.h	(revision 5306)
@@ -7,6 +7,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-08-31 22:28:35 $
+ *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-10-13 20:23:57 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -73,4 +73,46 @@
 );
 
+psSphereRot* psSphereRotAlloc2(
+    double alphaP,                      ///< north pole latitude
+    double deltaP,                      ///< north pole longitude
+    double phiP                         ///< defines the longitude in the input system of the equatorial intersection between the two systems (e.g, the first point of Ares).
+);
+
+psSphereRot* psSphereRotAlloc3(
+    double alphaP,                      ///< north pole latitude
+    double deltaP,                      ///< north pole longitude
+    double phiP                         ///< defines the longitude in the input system of the equatorial intersection between the two systems (e.g, the first point of Ares).
+);
+
+psSphereRot* psSphereRotAlloc4(
+    double alphaP,                      ///< north pole latitude
+    double deltaP,                      ///< north pole longitude
+    double phiP                         ///< defines the longitude in the input system of the equatorial intersection between the two systems (e.g, the first point of Ares).
+);
+
+psSphereRot* psSphereRotAlloc5(
+    double alphaP,                      ///< north pole latitude
+    double deltaP,                      ///< north pole longitude
+    double phiP                         ///< defines the longitude in the input system of the equatorial intersection between the two systems (e.g, the first point of Ares).
+);
+
+psSphereRot* psSphereRotAlloc6(
+    double alphaP,                      ///< north pole latitude
+    double deltaP,                      ///< north pole longitude
+    double phiP                         ///< defines the longitude in the input system of the equatorial intersection between the two systems (e.g, the first point of Ares).
+);
+
+psSphereRot* psSphereRotAlloc7(
+    double alphaP,                      ///< north pole latitude
+    double deltaP,                      ///< north pole longitude
+    double phiP                         ///< defines the longitude in the input system of the equatorial intersection between the two systems (e.g, the first point of Ares).
+);
+
+psSphereRot* psSphereRotAlloc8(
+    double alphaP,                      ///< north pole latitude
+    double deltaP,                      ///< north pole longitude
+    double phiP                         ///< defines the longitude in the input system of the equatorial intersection between the two systems (e.g, the first point of Ares).
+);
+
 
 /** Checks the type of a particular pointer.
