Graphviz  2.41.20170921.2350
vis.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 
15 #ifndef VISIBILITY_H
16 #define VISIBILITY_H
17 
18 #include <assert.h>
19 #include <math.h>
20 #include <stdlib.h>
21 #include <limits.h>
22 #include "vispath.h"
23 #include "pathutil.h"
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29  typedef COORD **array2;
30 
31 #define OBSCURED 0.0
32 #define EQ(p,q) ((p.x == q.x) && (p.y == q.y))
33 #define NEQ(p,q) (!EQ(p,q))
34 #define NIL(p) ((p)0)
35 #define CW 0
36 #define CCW 1
37 
38  struct vconfig_s {
39  int Npoly;
40  int N; /* number of points in walk of barriers */
41  Ppoint_t *P; /* barrier points */
42  int *start;
43  int *next;
44  int *prev;
45 
46  /* this is computed from the above */
47  array2 vis;
48  };
49 #ifdef _WIN32
50 #ifndef PATHPLAN_EXPORTS
51 #define extern __declspec(dllimport)
52 #endif
53 #endif
54 /*end visual studio*/
55 
56  extern COORD *ptVis(vconfig_t *, int, Ppoint_t);
57  extern int directVis(Ppoint_t, int, Ppoint_t, int, vconfig_t *);
58  extern void visibility(vconfig_t *);
59  extern int *makePath(Ppoint_t p, int pp, COORD * pvis,
60  Ppoint_t q, int qp, COORD * qvis,
61  vconfig_t * conf);
62 
63 #undef extern
64 
65 #ifdef __cplusplus
66 }
67 #endif
68 #endif
COORD * ptVis(vconfig_t *, int, Ppoint_t)
Definition: visibility.c:339
array2 vis
Definition: vis.h:47
int * prev
Definition: vis.h:44
int Npoly
Definition: vis.h:39
int * start
Definition: vis.h:42
Ppoint_t * P
Definition: vis.h:41
double COORD
Definition: pathutil.h:41
void visibility(vconfig_t *)
Definition: visibility.c:305
int directVis(Ppoint_t, int, Ppoint_t, int, vconfig_t *)
Definition: visibility.c:400
int N
Definition: vis.h:40
COORD ** array2
Definition: vis.h:29
int * makePath(Ppoint_t p, int pp, COORD *pvis, Ppoint_t q, int qp, COORD *qvis, vconfig_t *conf)
Definition: shortestpth.c:100
Definition: pathgeom.h:26
int * next
Definition: vis.h:43
Definition: vis.h:38