GRASS Programmer's Manual  6.4.2(2012)
dataquad.h
Go to the documentation of this file.
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
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines