blob: 22728506cf9e5b1ffe3bad0a66f8d155108db8b2 [file] [log] [blame]
typedef struct point{
int x,y;
} point;
typedef struct dpoint {
double x,y;
} dpoint;
typedef struct DCEL_segment {
struct point v1,v2; /* v1 start point, v2 end point */
struct DCEL_segment *p1,*p2; /* Counter clock wise around v1 & v2 */
struct DCEL_segment *q1,*q2; /* Clockwise around v1 & v2 */
} DCEL_segment;
typedef struct Knode {
point p;
int e1,e2,e3;
} Knode;
typedef struct Enode {
int v1,v2;
int p1,p2,q1,q2;
int f1,f2;
} Enode;
typedef struct splay_element {
long key;
point p;
} splay_element;
typedef struct splay_node {
splay_element element;
struct splay_node *father, *left, *right;
} splay_node;
typedef struct CHpoints {
int number;
point node;
int v;
struct CHpoints *next,*prev;
} CHpoints;
typedef struct key {
double radius;
double angle;
int number;
} key;
typedef struct CHsplay_element {
key key;
CHpoints *point;
} CHsplay_element;
typedef struct CHsplay_node {
CHsplay_element element;
struct CHsplay_node *father, *left, *right;
} CHsplay_node;