URI:
       tplate.h - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       tplate.h (2005B)
       ---
            1 #define        RAD(x)        ((x)*PI_180)
            2 #define        DEG(x)        ((x)/PI_180)
            3 #define ARCSECONDS_PER_RADIAN        (DEG(1)*3600)
            4 #define input_nybble(infile)    input_nbits(infile,4)
            5 
            6 typedef float        Angle;        /* in radians */
            7 
            8 enum
            9 {
           10         /*
           11          * parameters for plate
           12          */
           13         Pppo1        = 0,
           14         Pppo2,
           15         Pppo3,
           16         Pppo4,
           17         Pppo5,
           18         Pppo6,
           19         Pamdx1,
           20         Pamdx2,
           21         Pamdx3,
           22         Pamdx4,
           23         Pamdx5,
           24         Pamdx6,
           25         Pamdx7,
           26         Pamdx8,
           27         Pamdx9,
           28         Pamdx10,
           29         Pamdx11,
           30         Pamdx12,
           31         Pamdx13,
           32         Pamdx14,
           33         Pamdx15,
           34         Pamdx16,
           35         Pamdx17,
           36         Pamdx18,
           37         Pamdx19,
           38         Pamdx20,
           39         Pamdy1,
           40         Pamdy2,
           41         Pamdy3,
           42         Pamdy4,
           43         Pamdy5,
           44         Pamdy6,
           45         Pamdy7,
           46         Pamdy8,
           47         Pamdy9,
           48         Pamdy10,
           49         Pamdy11,
           50         Pamdy12,
           51         Pamdy13,
           52         Pamdy14,
           53         Pamdy15,
           54         Pamdy16,
           55         Pamdy17,
           56         Pamdy18,
           57         Pamdy19,
           58         Pamdy20,
           59         Ppltscale,
           60         Pxpixelsz,
           61         Pypixelsz,
           62         Ppltra,
           63         Ppltrah,
           64         Ppltram,
           65         Ppltras,
           66         Ppltdec,
           67         Ppltdecd,
           68         Ppltdecm,
           69         Ppltdecs,
           70         Pnparam
           71 };
           72 
           73 typedef        struct        Plate        Plate;
           74 struct        Plate
           75 {
           76         char        rgn[7];
           77         char        disk;
           78         Angle        ra;
           79         Angle        dec;
           80 };
           81 
           82 typedef        struct        Header        Header;
           83 struct        Header
           84 {
           85         float        param[Pnparam];
           86         int        amdflag;
           87 
           88         float        x;
           89         float        y;
           90         float        xi;
           91         float        eta;
           92 };
           93 typedef        int32        Type;
           94 
           95 typedef struct        Image        Image;
           96 struct        Image
           97 {
           98         int        nx;
           99         int        ny;        /* ny is the fast-varying dimension */
          100         Type        a[1];
          101 };
          102 
          103 int        nplate;
          104 Plate        plate[2000];                /* needs to go to 2000 when the north comes */
          105 double        PI_180;
          106 double        TWOPI;
          107 int        debug;
          108 struct
          109 {
          110         float        min;
          111         float        max;
          112         float        del;
          113         double        gamma;
          114         int        neg;
          115 } gam;
          116 
          117 char*        hms(Angle);
          118 char*        dms(Angle);
          119 double        xsqrt(double);
          120 Angle        dist(Angle, Angle, Angle, Angle);
          121 Header*        getheader(char*);
          122 char*        getword(char*, char*);
          123 void        amdinv(Header*, Angle, Angle, float, float);
          124 void        ppoinv(Header*, Angle, Angle);
          125 void        xypos(Header*, Angle, Angle, float, float);
          126 void        traneqstd(Header*, Angle, Angle);
          127 Angle        getra(char*);
          128 Angle        getdec(char*);
          129 void        getplates(void);
          130 
          131 Image*        dssread(char*);
          132 void        hinv(Type*, int, int);
          133 int        input_bit(Biobuf*);
          134 int        input_nbits(Biobuf*, int);
          135 void        qtree_decode(Biobuf*, Type*, int, int, int, int);
          136 void        start_inputing_bits(void);
          137 Bitmap*        image(Angle, Angle, Angle, Angle);
          138 int        dogamma(int);