home *** CD-ROM | disk | FTP | other *** search
/ vis-ftp.cs.umass.edu / vis-ftp.cs.umass.edu.tar / vis-ftp.cs.umass.edu / pub / Software / ASCENDER / ascender.tar.Z / ascender.tar / Triangulate / include / fbip.h < prev    next >
C/C++ Source or Header  |  1995-04-13  |  2KB  |  89 lines

  1. #include <string.h>
  2.  
  3. #ifndef _FBIP_
  4. #define _FBIP_ 1
  5.  
  6. typedef char *STRING;
  7.  
  8. typedef double COORDINATE;
  9.  
  10. typedef COORDINATE COORDINATE_VECTOR[3];
  11.  
  12. #ifndef _BOOLEAN_DEFINED_
  13. #define _BOOLEAN_DEFINED_ 1
  14. typedef short BOOLEAN;
  15. #endif
  16.  
  17. #define FALSE 0
  18. #define TRUE 1
  19.  
  20. typedef struct fbip_struct {
  21.   long blocks_wide;
  22.   long blocks_hi;
  23.   long n_blocks;
  24.   long n_levels;
  25.   double *z_levels;
  26.   double xorg, yorg, zorg;
  27.   double umin, umax, vmin, vmax;
  28.   double du, dv;
  29.   double ***block_projective_coeffs_array;
  30.   double **height_interpolation_coeffs;
  31.   long prev_block_ui;
  32.   long prev_block_vi;
  33.   double *inv_coeffs;
  34.   int binaryp;
  35.   double scale_factor; /* to convert units in long-lat world into degrees */
  36.   char *ref_ellipsoid;
  37.   int lat_long_p; 
  38.   int binendianp;
  39.   int doublep;
  40.   double horiz_scale_factor; /* to convert horizontal units in cartesian 
  41.                                  world into meters */
  42.   double vert_scale_factor; /* to convert vertical units into meters */
  43.   int debug;
  44. } Fbip;
  45.  
  46. typedef Fbip *FBIP;
  47.  
  48.  
  49. FBIP read_fbip_file();
  50.  
  51. void fbip_make_arrays();
  52. void fbip_compute_height_interpolation_coeffs();
  53. double ***allocate_corners_array();
  54. void deallocate_corners_array();
  55. void fill_fbip();
  56.  
  57. int 
  58. fbip_project_in_block ();
  59.  
  60. COORDINATE *
  61. fbip_project_to_view ();
  62.  
  63. int fbip_project_to_world();
  64.  
  65. /*void lprintf(char *format,  ...);
  66. void debprintf(char *format,  ...);
  67. void errprintf(char *format,  ...);*/
  68.  
  69. void lispprint();
  70.  
  71.  
  72. /* originally in transforms.h */
  73.  
  74. typedef double *(*dvectfn)();
  75.  
  76. typedef dvectfn TRANSFORM_FN;
  77.  
  78. typedef struct coordinate_transform_struct {
  79.   dvectfn transform_fn;
  80. } Coordinate_Transform;
  81.  
  82. typedef Coordinate_Transform *COORDINATE_TRANSFORM;
  83.  
  84. typedef COORDINATE_TRANSFORM COORDINATE_PROJECTION;
  85.  
  86. COORDINATE *project_to_world();
  87.  
  88. #endif
  89.