TwiceAsNice  2019-02-18
Macros | Functions | Variables
proj.c File Reference
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include "poly.h"
#include "proj.h"
#include "tnx.h"
#include "wcsmath.h"
#include "wcstrig.h"
Include dependency graph for proj.c:

Macros

#define wcs_copysign(X, Y)   ((Y) < 0.0 ? -fabs(X) : fabs(X))
 

Functions

int azpset (struct prjprm *prj)
 
int azpfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int azprev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int tanset (struct prjprm *prj)
 
int tanfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int tanrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int sinset (struct prjprm *prj)
 
int sinfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int sinrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int stgset (struct prjprm *prj)
 
int stgfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int stgrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int arcset (struct prjprm *prj)
 
int arcfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int arcrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int zpnset (struct prjprm *prj)
 
int zpnfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int zpnrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int zeaset (struct prjprm *prj)
 
int zeafwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int zearev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int airset (struct prjprm *prj)
 
int airfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int airrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int cypset (struct prjprm *prj)
 
int cypfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int cyprev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int carset (struct prjprm *prj)
 
int carfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int carrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int merset (struct prjprm *prj)
 
int merfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int merrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int ceaset (struct prjprm *prj)
 
int ceafwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int cearev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int copset (struct prjprm *prj)
 
int copfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int coprev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int codset (struct prjprm *prj)
 
int codfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int codrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int coeset (struct prjprm *prj)
 
int coefwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int coerev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int cooset (struct prjprm *prj)
 
int coofwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int coorev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int bonset (struct prjprm *prj)
 
int bonfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int bonrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int pcoset (struct prjprm *prj)
 
int pcofwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int pcorev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int glsset (struct prjprm *prj)
 
int glsfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int glsrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int parset (struct prjprm *prj)
 
int parfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int parrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int aitset (struct prjprm *prj)
 
int aitfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int aitrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int molset (struct prjprm *prj)
 
int molfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int molrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int cscset (struct prjprm *prj)
 
int cscfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int cscrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int qscset (struct prjprm *prj)
 
int qscfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int qscrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int tscset (struct prjprm *prj)
 
int tscfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int tscrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int tnxset (struct prjprm *prj)
 
int tnxfwd (double phi, double theta, struct prjprm *prj, double *x, double *y) const
 
int tnxrev (double x, double y, struct prjprm *prj, double *phi, double *theta) const
 
int raw_to_pv (struct prjprm *prj, double x, double y, double *xo, double *yo)
 

Variables

const char * prjset_errmsg []
 
const char * prjfwd_errmsg []
 
const char * prjrev_errmsg []
 

Macro Definition Documentation

◆ wcs_copysign

#define wcs_copysign (   X,
  Y 
)    ((Y) < 0.0 ? -fabs(X) : fabs(X))

Function Documentation

◆ airfwd()

int airfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ airrev()

int airrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ airset()

int airset ( struct prjprm prj)

◆ aitfwd()

int aitfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ aitrev()

int aitrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ aitset()

int aitset ( struct prjprm prj)

◆ arcfwd()

int arcfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ arcrev()

int arcrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ arcset()

int arcset ( struct prjprm prj)

◆ azpfwd()

int azpfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ azprev()

int azprev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ azpset()

int azpset ( struct prjprm prj)

◆ bonfwd()

int bonfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ bonrev()

int bonrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ bonset()

int bonset ( struct prjprm prj)

◆ carfwd()

int carfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ carrev()

int carrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ carset()

int carset ( struct prjprm prj)

◆ ceafwd()

int ceafwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ cearev()

int cearev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ ceaset()

int ceaset ( struct prjprm prj)

◆ codfwd()

int codfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ codrev()

int codrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ codset()

int codset ( struct prjprm prj)

◆ coefwd()

int coefwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ coerev()

int coerev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ coeset()

int coeset ( struct prjprm prj)

◆ coofwd()

int coofwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ coorev()

int coorev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ cooset()

int cooset ( struct prjprm prj)

◆ copfwd()

int copfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ coprev()

int coprev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ copset()

int copset ( struct prjprm prj)

◆ cscfwd()

int cscfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ cscrev()

int cscrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ cscset()

int cscset ( struct prjprm prj)

◆ cypfwd()

int cypfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ cyprev()

int cyprev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ cypset()

int cypset ( struct prjprm prj)

◆ glsfwd()

int glsfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ glsrev()

int glsrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ glsset()

int glsset ( struct prjprm prj)

◆ merfwd()

int merfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ merrev()

int merrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ merset()

int merset ( struct prjprm prj)

◆ molfwd()

int molfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ molrev()

int molrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ molset()

int molset ( struct prjprm prj)

◆ parfwd()

int parfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ parrev()

int parrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ parset()

int parset ( struct prjprm prj)

◆ pcofwd()

int pcofwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ pcorev()

int pcorev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ pcoset()

int pcoset ( struct prjprm prj)

◆ qscfwd()

int qscfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ qscrev()

int qscrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ qscset()

int qscset ( struct prjprm prj)

◆ raw_to_pv()

int raw_to_pv ( struct prjprm prj,
double  x,
double  y,
double *  xo,
double *  yo 
)

◆ sinfwd()

int sinfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ sinrev()

int sinrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ sinset()

int sinset ( struct prjprm prj)

◆ stgfwd()

int stgfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ stgrev()

int stgrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ stgset()

int stgset ( struct prjprm prj)

◆ tanfwd()

int tanfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ tanrev()

int tanrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ tanset()

int tanset ( struct prjprm prj)

◆ tnxfwd()

int tnxfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ tnxrev()

int tnxrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ tnxset()

int tnxset ( struct prjprm prj)

◆ tscfwd()

int tscfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ tscrev()

int tscrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ tscset()

int tscset ( struct prjprm prj)

◆ zeafwd()

int zeafwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ zearev()

int zearev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ zeaset()

int zeaset ( struct prjprm prj)

◆ zpnfwd()

int zpnfwd ( double  phi,
double  theta,
struct prjprm prj,
double *  x,
double *  y 
) const

◆ zpnrev()

int zpnrev ( double  x,
double  y,
struct prjprm prj,
double *  phi,
double *  theta 
) const

◆ zpnset()

int zpnset ( struct prjprm prj)

Variable Documentation

◆ prjfwd_errmsg

const char* prjfwd_errmsg[]
Initial value:
= {
0,
"Invalid projection parameters",
"Invalid value of (phi,theta)"}

◆ prjrev_errmsg

const char* prjrev_errmsg[]
Initial value:
= {
0,
"Invalid projection parameters",
"Invalid value of (x,y)"}

◆ prjset_errmsg

const char* prjset_errmsg[]
Initial value:
= {
0,
"Invalid projection parameters"}