IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 1589


Ignore:
Timestamp:
Aug 18, 2004, 6:08:10 PM (22 years ago)
Author:
Paul Price
Message:

Updating from SDRS.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/archive/pslib/include/psPosition.h

    r753 r1589  
    1515    PS_PROJ_AIT,                        ///< Aitoff projection
    1616    PS_PROJ_PAR,                        ///< Par projection
    17     PS_PROJ_GLS,                        ///< GLS projection
    1817    PS_PROJ_NTYPE                       ///< Number of types; must be last
    1918} psProjectionType;
     
    3938 */
    4039typedef struct {
    41     psDPolynomial2D *x;
    42     psDPolynomial2D *y;
     40    psDPolynomial2D *x;                 ///< Transformation for x
     41    psDPolynomial2D *y;                 ///< Transformation for y
    4342} psPlaneTransform;
    4443
     
    4746 */
    4847typedef struct {
    49     psDPolynomial4D *x;
    50     psDPolynomial4D *y;
     48    psDPolynomial4D *x;                 ///< Transformation for x
     49    psDPolynomial4D *y;                 ///< Transformation for y
    5150} psPlaneDistort;
    5251
     
    6867} psProjection;
    6968
     69typedef enum {
     70    PS_SPHERICAL;                       ///< Offset on a sphere
     71    PS_LINEAR;                          ///< Linear offset
     72} psSphereOffsetMode;
     73
     74typedef enum {
     75    PS_ARCSEC;                          ///< Arcseconds
     76    PS_ARCMIN;                          ///< Arcminutes
     77    PS_DEGREE;                          ///< Degrees
     78    PS_RADIAN;                          ///< Radians
     79} psSphereOffsetUnit;
     80
    7081/** Functions **************************************************************/
    7182/** \addtogroup AstroGroup Astronomy-Specific Utilities
     
    7586/** apply the coordinate transformation to the given coordinate */
    7687psPlane *psPlaneTransformApply (psPlane *out, ///< Output coordinates, or NULL
    77                                 const psPlaneTransform *frame, ///< coordinate transformation
     88                                const psPlaneTransform *transform, ///< coordinate transformation
    7889                                const psPlane *coords) ///< input coordiate
    7990;
     
    8192/** apply the optical distortion to the given coordinate, magnitude, color */
    8293psPlane *psPlaneDistortApply (psPlane *out, ///< Output coordinates, or NULL
    83                               const psPlaneDistort *pattern, ///< optical distortion pattern
     94                              const psPlaneDistort *distort, ///< optical distortion pattern
    8495                              const psPlane *coords, ///< input coordinate
    8596                              float mag, ///< magnitude of object
     
    91102/** Constructor */
    92103psSphereTransform *
    93 psSphereTransformAlloc(double pole1, ///< First location of pole
    94                        double pole2, ///< Second location of pole
    95                        double rotation) ///< Rotation between systems
    96 ;
    97 
    98 /** Destructor */
    99 void psSphereTransformFree(psSphereTransform *trans) ///< Transform to destroy
     104psSphereTransformAlloc(double NPlon, ///< Longitude in input system of north pole
     105                       double NPlat, ///< Latitude in input system of north pole
     106                       double ZP) ///< Zero point (e.g, the first point of Ares)
    100107;
    101108
    102109/** Apply general spherical transformation */
    103110psSphere *
    104 psSphereTransformApply(const psSphere *coord, ///< Coordinates to convert
    105                        const psSphereTransform *sys) ///< System to use to convert
     111psSphereTransformApply(psSphere *out,   ///< Position to output, or NULL
     112                       const psSphereTransform *transform ///< transformation to use
     113                       const psSphere *coord) ///< Coordinates to convert
    106114;
    107115
    108116/** Return transformation structure to convert ICRS to Ecliptic */
    109 psSphereTransform *psSphereTransformItoE(void);
     117psSphereTransform *psSphereTransformICRSToEcliptic(void);
    110118
    111119/** Return transformation structure to convert Ecliptic to ICRS */
    112 psSphereTransform *psSphereTransformEtoI(void);
     120psSphereTransform *psSphereTransformEclipticToICRS(void);
    113121
    114122/** Return transformation structure to convert ICRS to Galactic */
    115 psSphereTransform *psSphereTransformItoG(void);
     123psSphereTransform *psSphereTransformICRSToGalactic(void);
    116124
    117125/** Return transformation structure to convert Galactic to ICRS */
    118 psSphereTransform *psSphereTransformGtoI(void);
     126psSphereTransform *psSphereTransformGalacticToICRS(void);
    119127
    120128/***********************************************************************************************************/
     
    123131/** Project spherical system onto a plane */
    124132psPlane *
    125 psCoordProject(const psSphere *coord, ///< Spherical coordinates to project
    126                const psProjection *projection)  ///< Projection to use
     133psProject(const psSphere *coord, ///< Spherical coordinates to project
     134          const psProjection *projection) ///< Projection to use
    127135;
    128136
    129137/** Deproject plane onto spherical system */
    130138psSphere *
    131 psCoordDeproject(const psPlane *coord, ///< Plane coordinates to deproject
    132                  const psProjection *projection)        ///< Projection to use
     139psDeproject(const psPlane *coord, ///< Plane coordinates to deproject
     140            const psProjection *projection) ///< Projection to use
    133141;
    134142
    135143/** Get offset (RA,Dec) on the sky between two positions position1 and position2 may not be identical */
    136144psSphere *
    137 psSphereGetOffset(const psSphere *restrict position1, ///< Position 1
    138                   const psSphere *restrict position2, ///< Position 2
    139                   const char *type)     ///< Type of offset: Spherical/Arcsec, Spherical/Degreees etc
     145psSphereGetOffset(const psSphere *position1, ///< Position 1
     146                  const psSphere *position2, ///< Position 2
     147                  psSphereOffsetMode mode, ///< Mode of offset
     148                  psSphereOffsetUnit unit ///< Units for offset
    140149;
    141150
    142151/** Apply an offset to a position */
    143152psSphere *
    144 psSphereApplyOffset(const psSphere *restrict position, ///< Position
    145                     const psSphere *restrict offset, ///< Offset
    146                     const char *type)   ///< Type of offset: Spherical/Arcsec, Spherical/Degreees etc
    147 ;
     153psSphereSetOffset(const psSphere *position, ///< Position
     154                  const psSphere *offset, ///< Offset
     155                  psSphereOffsetMode mode, ///< Mode of offset
     156                  psSphereOffsetUnit unit ///< Units of offset
     157    );
     158
     159/************************************************************************************************************/
    148160
    149161/* Positions of well-known objects */
Note: See TracChangeset for help on using the changeset viewer.