Graphviz  2.41.20170921.2350
hedges.h
Go to the documentation of this file.
1 /* $Id$ $Revision$ */
2 /* vim:set shiftwidth=4 ts=8: */
3 
4 /*************************************************************************
5  * Copyright (c) 2011 AT&T Intellectual Property
6  * All rights reserved. This program and the accompanying materials
7  * are made available under the terms of the Eclipse Public License v1.0
8  * which accompanies this distribution, and is available at
9  * http://www.eclipse.org/legal/epl-v10.html
10  *
11  * Contributors: See CVS logs. Details at http://www.graphviz.org/
12  *************************************************************************/
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 
19 
20 #ifndef HEDGES_H
21 #define HEDGES_H
22 
23 #include "site.h"
24 #include "edges.h"
25 
26  typedef struct Halfedge {
27  struct Halfedge *ELleft, *ELright;
29  int ELrefcnt;
30  char ELpm;
32  double ystar;
33  struct Halfedge *PQnext;
34  } Halfedge;
35 
36  extern Halfedge *ELleftend, *ELrightend;
37 
38  extern void ELinitialize(void);
39  extern void ELcleanup(void);
40  extern int right_of(Halfedge *, Point *);
41  extern Site *hintersect(Halfedge *, Halfedge *);
42  extern Halfedge *HEcreate(Edge *, char);
43  extern void ELinsert(Halfedge *, Halfedge *);
44  extern Halfedge *ELleftbnd(Point *);
45  extern void ELdelete(Halfedge *);
46  extern Halfedge *ELleft(Halfedge *), *ELright(Halfedge *);
47  extern Halfedge *ELleftbnd(Point *);
48  extern Site *leftreg(Halfedge *), *rightreg(Halfedge *);
49 
50 #endif
51 
52 #ifdef __cplusplus
53 }
54 #endif
struct Halfedge * PQnext
Definition: hedges.h:33
Edge * ELedge
Definition: hedges.h:28
Site * rightreg(Halfedge *he)
Definition: hedges.c:258
void ELinsert(Halfedge *lb, Halfedge *new)
Definition: hedges.c:160
char ELpm
Definition: hedges.h:30
Definition: site.h:26
Halfedge * HEcreate(Edge *e, char pm)
Definition: hedges.c:147
struct Halfedge * ELleft
Definition: hedges.h:27
Site * hintersect(Halfedge *el1, Halfedge *el2)
Definition: hedges.c:56
Halfedge * ELrightend
Definition: hedges.c:21
Definition: edges.h:25
Halfedge * ELleftend
Definition: hedges.c:21
Halfedge * ELright(Halfedge *he)
Definition: hedges.c:240
void ELdelete(Halfedge *he)
Definition: hedges.c:232
int ELrefcnt
Definition: hedges.h:29
Halfedge * ELleftbnd(Point *p)
Definition: hedges.c:186
void ELcleanup()
Definition: hedges.c:28
Site * leftreg(Halfedge *he)
Definition: hedges.c:251
Halfedge * ELleft(Halfedge *he)
Definition: hedges.c:245
int right_of(Halfedge *el, Point *p)
Definition: hedges.c:100
Site * vertex
Definition: hedges.h:31
Definition: geometry.h:26
void ELinitialize()
Definition: hedges.c:35
double ystar
Definition: hedges.h:32
struct Halfedge * ELright
Definition: hedges.h:27
struct Halfedge Halfedge