PLplot: delaunay.h Source File

PLplot 5.10.0

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
delaunay.h
Go to the documentation of this file.
1 //--------------------------------------------------------------------------
2 //
3 // File: delaunay.h
4 //
5 // Created: 04/08/2000
6 //
7 // Author: Pavel Sakov
8 // CSIRO Marine Research
9 //
10 // Purpose: Header for delaunay triangulation wrapper
11 //
12 // Description: None
13 //
14 // Revisions: None
15 //
16 //--------------------------------------------------------------------------
17
18 #if !defined ( _DELAUNAY_H )
19 #define _DELAUNAY_H
20
21 #include "nn.h"
22
23 typedef struct
24 {
25 int vids[3];
26 } triangle;
27
28 typedef struct
29 {
30 int tids[3];
31 } triangle_neighbours;
32
33 typedef struct
34 {
35 double x;
36 double y;
37 double r;
38 } circle;
39
40 #if !defined ( _ISTACK_H )
41 struct istack;
42 typedef struct istack istack;
43 #endif
44
45 struct delaunay
46 {
47 int npoints;
48 point * points;
49 double xmin;
50 double xmax;
51 double ymin;
52 double ymax;
53
54 int ntriangles;
55 triangle * triangles;
56 circle * circles;
57 triangle_neighbours* neighbours; // for delaunay_xytoi()
58
59 int * n_point_triangles; // n_point_triangles[i] is number of
60 // triangles i-th point belongs to
61 int ** point_triangles; // point_triangles[i][j] is index of j-th
62 // triangle i-th point belongs to
63
64 int nedges;
65 int * edges; // n-th edge is formed by points[edges[n*2]]
66 // and points[edges[n*2+1]]
67
68 //
69 // Work data for delaunay_circles_find(). Placed here for efficiency
70 // reasons. Should be moved to the procedure if parallelizable code
71 // needed.
72 //
73 int * flags;
74 int first_id; // last search result, used in start up of a
75 // new search
76 istack* t_in;
77 istack* t_out;
78 };
79
80 #endif