Graphviz 13.1.2~dev.20250807.2324
Loading...
Searching...
No Matches
edges.h
Go to the documentation of this file.
1/*************************************************************************
2 * Copyright (c) 2011 AT&T Intellectual Property
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * https://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors: Details at https://graphviz.org
9 *************************************************************************/
10
11#pragma once
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17#include <neatogen/site.h>
18
19#if !defined(__CYGWIN__) && defined(__GNUC__) && !defined(__MINGW32__)
20#define INTERNAL __attribute__((visibility("hidden")))
21#else
22#define INTERNAL /* nothing */
23#endif
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 */
30
31#define le 0
32#define re 1
33
34 extern double pxmin, pxmax, pymin, pymax; /* clipping window */
35INTERNAL void edgeinit(void);
36INTERNAL void endpoint(Edge *, int, Site *);
37INTERNAL void clip_line(Edge * e);
39
40#undef INTERNAL
41
42#ifdef __cplusplus
43}
44#endif
double pymin
Definition edges.h:34
#define INTERNAL
Definition edges.h:22
INTERNAL void edgeinit(void)
Definition edges.c:22
INTERNAL Edge * gvbisect(Site *, Site *)
Definition edges.c:27
double pymax
Definition edges.h:34
double pxmin
Definition edges.c:18
INTERNAL void clip_line(Edge *e)
Definition edges.c:69
INTERNAL void endpoint(Edge *, int, Site *)
Definition edges.c:185
double pxmax
Definition edges.h:34
Definition edges.h:25
Site * ep[2]
Definition edges.h:27
double b
Definition edges.h:26
double c
Definition edges.h:26
Site * reg[2]
Definition edges.h:28
double a
Definition edges.h:26
Definition site.h:28