1*59cc4ca5SDavid du Colombier #include <u.h> 2*59cc4ca5SDavid du Colombier #include <libc.h> 33e12c5d1SDavid du Colombier #include "map.h" 43e12c5d1SDavid du Colombier 5219b2ee8SDavid du Colombier 63e12c5d1SDavid du Colombier int Xorthographic(struct place * place,double * x,double * y)7219b2ee8SDavid du ColombierXorthographic(struct place *place, double *x, double *y) 83e12c5d1SDavid du Colombier { 93e12c5d1SDavid du Colombier *x = - place->nlat.c * place->wlon.s; 103e12c5d1SDavid du Colombier *y = - place->nlat.c * place->wlon.c; 113e12c5d1SDavid du Colombier return(place->nlat.l<0.? 0 : 1); 123e12c5d1SDavid du Colombier } 133e12c5d1SDavid du Colombier 143e12c5d1SDavid du Colombier proj orthographic(void)153e12c5d1SDavid du Colombierorthographic(void) 163e12c5d1SDavid du Colombier { 173e12c5d1SDavid du Colombier return(Xorthographic); 183e12c5d1SDavid du Colombier } 19219b2ee8SDavid du Colombier 20219b2ee8SDavid du Colombier int olimb(double * lat,double * lon,double res)21219b2ee8SDavid du Colombierolimb(double *lat, double *lon, double res) 22219b2ee8SDavid du Colombier { 23219b2ee8SDavid du Colombier static first = 1; 24219b2ee8SDavid du Colombier if(first) { 25219b2ee8SDavid du Colombier *lat = 0; 26219b2ee8SDavid du Colombier *lon = -180; 27219b2ee8SDavid du Colombier first = 0; 28219b2ee8SDavid du Colombier return 0; 29219b2ee8SDavid du Colombier } 30219b2ee8SDavid du Colombier *lon += res; 31219b2ee8SDavid du Colombier if(*lon <= 180) 32219b2ee8SDavid du Colombier return 1; 33219b2ee8SDavid du Colombier first = 1; 34219b2ee8SDavid du Colombier return -1; 35219b2ee8SDavid du Colombier } 36