2
#include <grass/vector.h>
3
#include <grass/dbmi.h>
4
#include <grass/raster.h>
5
#include <grass/glocale.h>
6
#include <grass/lidar.h>
8
/*--------------------------------------------------------------------------*/
9
/* Definitions for Convex-Hull algorithm */
11
#define FREE_ARG char*
14
v = (*(double**)A)[c] - (*(double**)B)[c];\
18
/*--------------------------------------------------------------------------*/
19
/*STRUCTS DECLARATION */
22
double interp; /* Interpolated value */
23
int fi; /* Interpolated value counter */
24
int bordo; /* Border point */
25
int dueImp; /* Double impulse point */
26
double orig; /* Original value */
27
int fo; /* Original value counter */
28
double clas; /* Classification */
29
int fc; /* Classification counter */
30
int obj; /* Object counter */
34
/*--------------------------------------------------------------------------*/
35
/*FUNCTIONS DECLARATION */
36
void P_Aux_to_Coor(struct Map_info *, /**/
37
struct Map_info *, /**/ dbDriver *, /**/ FILE * /**/);
40
struct element_grow **P_alloc_element(int, int);
41
double **Pvector(long, long);
42
double pianOriz(double **, int, double *, double *, double *, double *,
43
struct element_grow **, int);
44
void nrerror(char error_text[]);
45
void regGrow8(struct Cell_head, struct element_grow **, double **, int *, int,
46
int, int, double, int);
47
int checkHull(int, int, double **, int);
48
int ch2d(double **, int);
49
int ccw(double **, int, int, int);
50
int cmpl(const void *, const void *);
51
int cmph(const void *, const void *);
52
struct element_grow **structMatrix(long, long, long, long);
53
void free_Pvector(double **, long, long);
54
void free_structmatrix(struct element_grow **, long, long, long, long);