GRASS Programmer's Manual
6.4.2(2012)
|
00001 00002 /*- 00003 * Written by H. Mitasova, I. Kosinovsky, D. Gerdes Fall 1992 00004 * University of Illinois 00005 * US Army Construction Engineering Research Lab 00006 * Copyright 1992, H. Mitasova (University of Illinois), 00007 * I. Kosinovsky, (USA-CERL), and D.Gerdes (USA-CERL) 00008 * 00009 * Modified by H.Mitasova November 1996 to include variable smoothing 00010 */ 00011 00012 00013 #ifndef DATAQUAD_H 00014 00015 #define DATAQUAD_H 00016 00017 #define NW 1 00018 #define NE 2 00019 #define SW 3 00020 #define SE 4 00021 00022 struct triple 00023 { 00024 double x; 00025 double y; 00026 double z; 00027 double sm; /* structure extended to incl. variable smoothing */ 00028 }; 00029 00030 struct quaddata 00031 { 00032 double x_orig; 00033 double y_orig; 00034 double xmax; 00035 double ymax; 00036 int n_rows; 00037 int n_cols; 00038 int n_points; 00039 struct triple *points; 00040 }; 00041 00042 struct triple *quad_point_new(double, double, double, double); 00043 struct quaddata *quad_data_new(double, double, double, double, int, int, int, 00044 int); 00045 int quad_compare(struct triple *, struct quaddata *); 00046 int quad_add_data(struct triple *, struct quaddata *, double); 00047 int quad_intersect(struct quaddata *, struct quaddata *); 00048 int quad_division_check(struct quaddata *, int); 00049 struct quaddata **quad_divide_data(struct quaddata *, int, double); 00050 int quad_get_points(struct quaddata *, struct quaddata *, int); 00051 00052 #endif