PLplot: delaunay.h Source File

PLplot 5.15.0

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
delaunay::point_triangles
int ** point_triangles
Definition: delaunay.h:61
delaunay::t_out
istack * t_out
Definition: delaunay.h:77
delaunay::neighbours
triangle_neighbours * neighbours
Definition: delaunay.h:57
triangle
Definition: csa.c:55
circle::x
double x
Definition: delaunay.h:35
delaunay::flags
int * flags
Definition: delaunay.h:73
circle
Definition: delaunay.h:33
delaunay::circles
circle * circles
Definition: delaunay.h:56
delaunay::first_id
int first_id
Definition: delaunay.h:74
delaunay::nedges
int nedges
Definition: delaunay.h:64
triangle_neighbours
Definition: delaunay.h:28
istack
Definition: istack.h:21
nn.h
delaunay::points
point * points
Definition: delaunay.h:48
delaunay::n_point_triangles
int * n_point_triangles
Definition: delaunay.h:59
circle::y
double y
Definition: delaunay.h:36
delaunay::edges
int * edges
Definition: delaunay.h:65
delaunay::t_in
istack * t_in
Definition: delaunay.h:76
delaunay::npoints
int npoints
Definition: delaunay.h:47
delaunay::ntriangles
int ntriangles
Definition: delaunay.h:54
delaunay::triangles
triangle * triangles
Definition: delaunay.h:55
delaunay::ymax
double ymax
Definition: delaunay.h:52
delaunay::ymin
double ymin
Definition: delaunay.h:51
point
Definition: csa.h:29
delaunay::xmin
double xmin
Definition: delaunay.h:49
delaunay
Definition: delaunay.h:45
delaunay::xmax
double xmax
Definition: delaunay.h:50
circle::r
double r
Definition: delaunay.h:37