Graphviz  2.41.20170921.2350
edges.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 EDGES_H
21 #define EDGES_H
22 
23 #include "site.h"
24 
25  typedef struct Edge {
26  double a, b, c; /* edge on line ax + by = c */
27  Site *ep[2]; /* endpoints (vertices) of edge; initially NULL */
28  Site *reg[2]; /* sites forming edge */
29  int edgenbr;
30  } Edge;
31 
32 #define le 0
33 #define re 1
34 
35  extern double pxmin, pxmax, pymin, pymax; /* clipping window */
36  extern void edgeinit(void);
37  extern void endpoint(Edge *, int, Site *);
38  extern void clip_line(Edge * e);
39  extern Edge *gvbisect(Site *, Site *);
40 
41 #endif
42 
43 #ifdef __cplusplus
44 }
45 #endif
int edgenbr
Definition: edges.h:29
double b
Definition: edges.h:26
Definition: site.h:26
Site * ep[2]
Definition: edges.h:27
Definition: edges.h:25
double pxmax
Definition: edges.c:21
double c
Definition: edges.h:26
double a
Definition: edges.h:26
struct Edge Edge
Site * reg[2]
Definition: edges.h:28
Edge * gvbisect(Site *s1, Site *s2)
Definition: edges.c:32
void clip_line(Edge *e)
Definition: edges.c:79
void endpoint(Edge *e, int lr, Site *s)
Definition: edges.c:199
void edgeinit()
Definition: edges.c:26
double pxmin
Definition: edges.c:21
double pymin
Definition: edges.c:21
double pymax
Definition: edges.c:21