1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /*!
- * \file qtree.c
- *
- * \author
- * H. Mitasova, I. Kosinovsky, D. Gerdes, Fall 1993,
- * University of Illinois and
- * US Army Construction Engineering Research Lab
- *
- * \author H. Mitasova (University of Illinois),
- * \author I. Kosinovsky, (USA-CERL)
- * \author D.Gerdes (USA-CERL)
- *
- * \author modified by H. Mitasova, November 1996 (include variable smoothing)
- *
- * \copyright
- * (C) 1993-1996 by Helena Mitasova and the GRASS Development Team
- *
- * \copyright
- * This program is free software under the
- * GNU General Public License (>=v2).
- * Read the file COPYING that comes with GRASS for details.
- */
- #ifndef DATAQUAD_H
- #define DATAQUAD_H
- #define NW 1
- #define NE 2
- #define SW 3
- #define SE 4
- /*!
- * Point structure to keep coordinates
- *
- * It also contains smoothing for the given point.
- */
- struct triple
- {
- double x;
- double y;
- double z;
- double sm; /*!< variable smoothing */
- };
- struct quaddata
- {
- double x_orig;
- double y_orig;
- double xmax;
- double ymax;
- int n_rows;
- int n_cols;
- int n_points;
- struct triple *points;
- };
- struct triple *quad_point_new(double, double, double, double);
- struct quaddata *quad_data_new(double, double, double, double, int, int, int,
- int);
- int quad_compare(struct triple *, struct quaddata *);
- int quad_add_data(struct triple *, struct quaddata *, double);
- int quad_intersect(struct quaddata *, struct quaddata *);
- int quad_division_check(struct quaddata *, int);
- struct quaddata **quad_divide_data(struct quaddata *, int, double);
- int quad_get_points(struct quaddata *, struct quaddata *, int);
- #endif
|