/*------------------------------------------------------------------------------ (C) A J S Hamilton 2001 ------------------------------------------------------------------------------*/ #include "defines.h" /* LOCAL VARIABLES */ /* maximum harmonic */ static int lmax = LMAX; /* smoothing parameters */ static long double lsmooth = LSMOOTH, esmooth = ESMOOTH; /* name of file containing harmonics */ static char *Wlm_filename = 0x0; /* name of survey */ static char *survey = 0x0; /* option in -f command line switch */ static char *fopt = 0x0; /* seed for random number generator */ static unsigned int seed = SEED; /* whether seed was read */ static int seed_read = 0; /* number of random points to generate */ static int nrandom = NRANDOM; /* write only summary to output */ static int summary = 0; /* selfsnap = 0 snaps edges of polygons against edges of all other polygons; selfsnap = 1 snaps edges of polygons only against edges of the same polygon */ static int selfsnap = 0; /* data format */ static format fmt = { 0x0, /* keyword defining the input data format */ 0x0, /* default format of the output data */ SKIP, /* skip first skip characters of each line of data */ END, /* last character to read from line of data */ 0, /* keyword does not define precisely one polygon */ 0, /* the number of thingys defined by keyword */ 0, /* the number of numbers per thingy */ NVE, /* the input number of points per edge */ 0, /* controls interpetation of nve */ NVE, /* the output number of points per edge */ 0, /* id number of current polygon */ 'o', /* whether to use old or new id number */ 0, /* default pixel number */ 1., /* weight of current polygon */ INUNITP, /* default unit of angles in input polygon data */ OUTUNITP, /* default unit of angles in output polygon data */ 0, /* angular frame of input az, el data */ 0, /* angular frame of output az, el data */ INUNIT, /* default unit of input az, el data */ OUTUNIT, /* default unit of output az, el data */ -1, /* digits after decimal point in output angles (-1 = automatic) */ OUTPHASE, /* '-' or '+' to make output azimuth in interval (-pi, pi] or [0, 2 pi) */ AZN, /* default */ ELN, /* transformation */ AZP, /* between angular frames */ TRUNIT, /* unit of transformation angles */ 0, /* default number of weights in healpix_weight input file */ 0, -1 /* by default, healpix weights are not autogenerated. */ }; /* GLOBAL VARIABLES */ /* default is to be verbose */ #ifdef DEBUG int verbose = 2; #else int verbose = 1; #endif /* counter for input files read */ int infiles = 0; /* tolerances */ long double axtol = AXTOL; /* snap angle for axis */ char axunit = AXUNIT; /* unit of snap angle for axis */ long double btol = BTOL; /* snap angle for latitude */ char bunit = BUNIT; /* unit of snap angle for latitude */ long double thtol = THTOL; /* snap angle for edge */ char thunit = THUNIT; /* unit of snap angle for edge */ long double ytol = YTOL; /* edge to length tolerance */ long double mtol = MTOL; /* tolerance angle for multiple intersections */ char munit = MUNIT; /* unit of tolerance angle for multiple intersections */ /* whether min, max weight are turned on */ int is_weight_min = 0; int is_weight_max = 0; /* min, max weight to keep */ long double weight_min; long double weight_max; /* whether min, max area are turned on */ int is_area_min = 0; int is_area_max = 0; /* min, max area to keep */ long double area_min; long double area_max; /* whether min, max id are turned on */ int is_id_min = 0; int is_id_max = 0; /* min, max id to keep */ int id_min; int id_max; /* whether min, max pixel are turned on */ int is_pixel_min = 0; int is_pixel_max = 0; /* min, max pixel to keep */ int pixel_min; int pixel_max; /* whether to take intersection of polygons in input files */ int intersect = 0; /* dictionary of keywords */ /* THE NAMES OF FORMATS MUST AGREE WITH THE INDICES IN defines.h */ char *keywords[] = { "area", "circle", "edges", "graphics", "healpix_weight", "id", "midpoint", "polygon", "rectangle", "Region", "spolygon", "vertices", "weight", "list", "pixelization", "skip", "end", "unit", "balkanized", "snapped", "binary_polygon", '\0' }; /* dictionary of frames */ /* THE ORDER OF FRAMES MUST AGREE WITH THAT IN frames.par ! */ char *frames[] = { "unknown", "eqB1950", "eqJ2000", "galactic", "ecliptic", "ecliptic2k", "sdss", '\0' }; /*pixelization info*/ int res_max=RES_MAX; /*maximum resolution allowed for pixelization*/ int polys_per_pixel=POLYS_PER_PIXEL; /*level of pixelization: number of polygons allowed per pixel*/ /*set polys_per_pixel=0 to pixelize everything to max resolution*/ char scheme=SCHEME; /*default pixelization scheme*/ int unpixelize=0; /*switch for whether unify should unpixelize or not*/ int pixelized=0; /*counter for pixelized input files */ int snapped=0; /*flag for whether files have been snapped */ int balkanized=0; /*flag for whether files have been balkanized */ /*balkanization method*/ char bmethod=BMETHOD; //Default is for a balkanized polygon to inherit the weight of //the last overlapping polygon in the input polygons. other options //are to add them together (bmethod=a), or to take the minimum //(bmethod=n) or the maximum (bmethod=x) of the weights int polyid_weight=0; /*0= polyid prints id numbers, 1= polyid prints weights*/ int weight_is_area=0; int machine_output=0;