home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Science / Science.zip / gmt_os2.zip / src / gmt_funcnames.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-07-24  |  7.5 KB  |  137 lines

  1. /*--------------------------------------------------------------------
  2.  *    The GMT-system:    @(#)gmt_funcnames.h    3.10  24 Jul 1995
  3.  *
  4.  *    Copyright (c) 1991-1995 by P. Wessel and W. H. F. Smith
  5.  *    See README file for copying and redistribution conditions.
  6.  *--------------------------------------------------------------------*/
  7.  
  8. /* Functions that must be declared because they are assigned to a function pointer */
  9.  
  10. int linearxy();        /*    Convert x/y as linear, log10, or power    */
  11. int ilinearxy();    /*    Convert inverse x/y as linear, log10, or power    */
  12. int polar();        /*    Convert x/y (being theta,r) to x,y    */
  13. int ipolar();        /*    Convert (theta,r) to x,y    */
  14. int translin();        /*    Forward linear    */
  15. int translind();    /*    Forward linear, but using 0-360 degrees    */
  16. int itranslin();    /*    Inverse linear    */
  17. int translog10();    /*    Forward log10    */
  18. int itranslog10();    /*    Inverse log10    */
  19. int transpowx();    /*    Forward pow x    */
  20. int itranspowx();    /*    Inverse pow x    */
  21. int transpowy();    /*    Forward pow y     */
  22. int itranspowy();    /*    Inverse pow y     */
  23. int transpowz();    /*    Forward pow z     */
  24. int itranspowz();    /*    Inverse pow z     */
  25. int albers();        /*    Convert lon/lat to x/y (Albers)    */
  26. int ialbers();        /*    Convert x/y (Albers) to lon/lat    */
  27. int azeqdist();        /*    Convert lon/lat to x/y (Azimuthal equal-distance)    */
  28. int iazeqdist();    /*    Convert x/y (Azimuthal equal-distance) to lon/lat    */
  29. int cassini();        /*    Convert lon/lat to x/y (Cassini)    */
  30. int icassini();        /*    Convert x/y (Cassini) to lon/lat    */
  31. int hammer();        /*    Convert lon/lat to x/y (Hammer-Aitoff)    */
  32. int ihammer();        /*    Convert x/y (Hammer-Aitoff) to lon/lat    */
  33. int merc();        /*    Convert lon/lat to x/y (Mercator)    */
  34. int imerc();        /*    Convert x/y (Mercator) to lon/lat    */
  35. int plrs();        /*    Convert lon/lat to x/y (Polar)        */
  36. int iplrs();        /*    Convert x/y (Polar) to lon/lat        */
  37. int lamb();        /*    Convert lon/lat to x/y (Lambert)    */
  38. int ilamb();        /*    Convert x/y (Lambert) to lon/lat     */
  39. int oblmrc();        /*    Convert lon/lat to x/y (Oblique Mercator)    */
  40. int ioblmrc();        /*    Convert x/y (Oblique Mercator) to lon/lat     */
  41. int ortho();        /*    Convert lon/lat to x/y (ORTHO)    */
  42. int iortho();        /*    Convert x/y (ORTHO) to lon/lat     */
  43. int sinusoidal();    /*    Convert lon/lat to x/y (SINUSOIDAL)    */
  44. int isinusoidal();    /*    Convert x/y (SINUSOIDAL) to lon/lat     */
  45. int tm();        /*    Convert lon/lat to x/y (TM)    */
  46. int itm();        /*    Convert x/y (TM) to lon/lat     */
  47. int utm();        /*    Convert lon/lat to x/y (UTM)    */
  48. int iutm();        /*    Convert x/y (UTM) to lon/lat     */
  49. int winkel();        /*    Convert lon/lat to x/y (Winkel)    */
  50. int iwinkel();        /*    Convert x/y (Winkel) to lon/lat    */
  51. int eckert();        /*    Convert lon/lat to x/y (Eckert VI)    */
  52. int ieckert();        /*    Convert x/y (Eckert VI) to lon/lat    */
  53. int robinson();        /*    Convert lon/lat to x/y (Robinson)    */
  54. int irobinson();    /*    Convert x/y (Robinson) to lon/lat    */
  55. int stereo1();        /*    Convert lon/lat to x/y (Stereographic)    */
  56. int stereo2();        /*    Convert lon/lat to x/y (Stereographic, equatorial view)    */
  57. int istereo();        /*    Convert x/y (Stereographic) to lon/lat     */
  58. int lambeq();        /*    Convert lon/lat to x/y (Lambert Azimuthal Equal-Area)    */
  59. int ilambeq();        /*    Convert x/y (Lambert Azimuthal Equal-Area) to lon/lat     */
  60. int mollweide();    /*    Convert lon/lat to x/y (Mollweide Equal-Area)    */
  61. int imollweide();    /*    Convert x/y (Mollweide Equal-Area) to lon/lat     */
  62. int cyleq();        /*    Convert lon/lat to x/y (Cylindrical Equal-Area)    */
  63. int icyleq();        /*    Convert x/y (Cylindrical Equal-Area) to lon/lat     */
  64. int cyleqdist();    /*    Convert lon/lat to x/y (Cylindrical Equidistant)    */
  65. int icyleqdist();    /*    Convert x/y (Cylindrical Equidistant) to lon/lat     */
  66. int x_to_xx();        /*    Generic linear x projection    */ 
  67. int xx_to_x();        /*    Generic inverse linear x projection    */ 
  68. int y_to_yy();        /*    Generic linear y projection    */ 
  69. int yy_to_y();        /*    Generic inverse linear y projection    */ 
  70. int z_to_zz();        /*    Generic linear z projection    */ 
  71. int zz_to_z();        /*    Generic inverse linear z projection    */ 
  72. int wesn_outside();        /*    Returns TRUE if a lon/lat point is outside map (rectangular wesn bounaries only)    */
  73. int polar_outside();        /*    Returns TRUE if a x'/y' point is outside the polar boundaries    */
  74. int rect_outside();        /*    Returns TRUE if a x'/y' point is outside the x'/y' boundaries    */
  75. int rect_outside2();        /*    Returns TRUE if a x'/y' point is outside the x'/y' boundaries (azimuthal maps only)    */
  76. int eqdist_outside();        /*    Returns TRUE if a x'/y' point is on the map perimeter     */
  77. int radial_outside();        /*    Returns TRUE if a lon/lat point is outside the Lambert Azimuthal Eq. area boundaries    */
  78. int wesn_crossing();        /*    computes the crossing point between two lon/lat points and the map boundary between them */
  79. int rect_crossing();        /*    computes the crossing point between two lon/lat points and the map boundary between them */
  80. int radial_crossing();        /*    computes the crossing point between two lon/lat points and the circular map boundary between them */
  81. int ellipse_crossing();        /*    computes the crossing point between two lon/lat points and the map boundary between them */
  82. int eqdist_crossing();        /*    computes the crossing point between two lon/lat points and the map boundary between them */
  83. int ellipse_clip();        /*    Returns TRUE if a x/y point is outside projected area    */
  84. int rect_clip();        /*    Clips to region based on rectangular xy coordinates    */
  85. int wesn_clip();        /*    Clips to region based on rectangular wesn coordinates    */
  86. int radial_clip();        /*    Clips to region based on spherical distance */
  87. int wesn_overlap();        /*    Checks if two wesn regions overlap    */
  88. int rect_overlap();        /*    Checks if two xy regions overlap    */
  89. int radial_overlap();        /*    Currently a dummy routine    */
  90.  
  91. double left_boundary();        /*    Returns x-value of left border for given y    */
  92. double right_boundary();    /*    Returns x-value of right border for given y    */
  93. double left_albers();        /*    For Albers maps    */
  94. double right_albers();        /*    For Albers maps    */
  95. double left_rect();        /*    For rectangular maps    */
  96. double right_rect();        /*    For rectangular maps    */
  97. double left_lambert();        /*    For Lambert maps    */
  98. double right_lambert();        /*    For Lambert maps    */
  99. double left_circle();        /*    For circular maps    */
  100. double right_circle();        /*    For circular maps    */
  101. double left_ellipse();        /*    For elliptical maps    */
  102. double right_ellipse();        /*    For elliptical maps    */
  103. double left_winkel();        /*    For Winkel maps    */
  104. double right_winkel();        /*    For Winkel maps    */
  105. double left_eckert();        /*    For Eckert VI maps    */
  106. double right_eckert();        /*    For Eckert VI maps    */
  107. double left_robinson();        /*    For Robinson maps    */
  108. double right_robinson();    /*    For Robinson maps    */
  109. double left_sinusoidal();    /*    For sinusoidal maps    */
  110. double right_sinusoidal();    /*    For sinusoidal maps    */
  111.  
  112. /* Functions returning values other than integers */
  113.  
  114. char *memory();            /*    Allocates memory    */
  115.  
  116. double great_circle_dist();    /*    Returns distance between two points in spherical degrees    */
  117. double gmt_half_map_width();    /*     Get halfwidth as a function of y    */
  118. double    dot3v();        /*    Dot product of 3-D vectors    */
  119. double    mag3v();        /*    Returns magnitude of 3-D vector    */
  120. double    ln_gamma();        /*    Computes natural log of the gamma function    */
  121. double ddmmss_to_degree();    /*    Translates dd:mm:ss string to decimal degrees    */
  122.  
  123. struct EPS *gmt_epsinfo();    /*     Collects info needed for EPS header    */
  124.  
  125. /* Functions passed as arguments to other functions */
  126.  
  127. int comp_double_asc();        /*    Used to sort doubles in ascending order    */
  128. int comp_float_asc();        /*    Used to sort floats in ascending order    */
  129. int comp_int_asc();        /*    Used to sort ints in ascending order    */
  130.  
  131. /* I/O functions */
  132.  
  133. PFI gmt_input, gmt_output;
  134.  
  135. int ascii_input(), bin_double_input(), bin_float_input();
  136. int ascii_output(), bin_double_output(), bin_float_output();
  137.