|
Graphviz
2.29.20120524.0446
|
00001 /* $Id$ $Revision$ */ 00002 /* vim:set shiftwidth=4 ts=8: */ 00003 00004 /************************************************************************* 00005 * Copyright (c) 2011 AT&T Intellectual Property 00006 * All rights reserved. This program and the accompanying materials 00007 * are made available under the terms of the Eclipse Public License v1.0 00008 * which accompanies this distribution, and is available at 00009 * http://www.eclipse.org/legal/epl-v10.html 00010 * 00011 * Contributors: See CVS logs. Details at http://www.graphviz.org/ 00012 *************************************************************************/ 00013 00014 #ifdef __cplusplus 00015 extern "C" { 00016 #endif 00017 00018 00019 00020 #ifndef HEDGES_H 00021 #define HEDGES_H 00022 00023 #include "site.h" 00024 #include "edges.h" 00025 00026 typedef struct Halfedge { 00027 struct Halfedge *ELleft, *ELright; 00028 Edge *ELedge; 00029 int ELrefcnt; 00030 char ELpm; 00031 Site *vertex; 00032 double ystar; 00033 struct Halfedge *PQnext; 00034 } Halfedge; 00035 00036 extern Halfedge *ELleftend, *ELrightend; 00037 00038 extern void ELinitialize(void); 00039 extern void ELcleanup(void); 00040 extern int right_of(Halfedge *, Point *); 00041 extern Site *hintersect(Halfedge *, Halfedge *); 00042 extern Halfedge *HEcreate(Edge *, char); 00043 extern void ELinsert(Halfedge *, Halfedge *); 00044 extern Halfedge *ELleftbnd(Point *); 00045 extern void ELdelete(Halfedge *); 00046 extern Halfedge *ELleft(Halfedge *), *ELright(Halfedge *); 00047 extern Halfedge *ELleftbnd(Point *); 00048 extern Site *leftreg(Halfedge *), *rightreg(Halfedge *); 00049 00050 #endif 00051 00052 #ifdef __cplusplus 00053 } 00054 #endif
1.7.5