00001 /* $Id: vispath.h,v 1.1 2005/04/09 03:38:19 roxo Exp $ $Revision: 1.1 $ */ 00002 /* vim:set shiftwidth=4 ts=8: */ 00003 00004 /********************************************************** 00005 * This software is part of the graphviz package * 00006 * http://www.graphviz.org/ * 00007 * * 00008 * Copyright (c) 1994-2004 AT&T Corp. * 00009 * and is licensed under the * 00010 * Common Public License, Version 1.0 * 00011 * by AT&T Corp. * 00012 * * 00013 * Information and Software Systems Research * 00014 * AT&T Research, Florham Park NJ * 00015 **********************************************************/ 00016 00017 00018 00019 #ifndef _VIS_INCLUDE 00020 #define _VIS_INCLUDE 00021 00022 #include <pathgeom.h> 00023 00024 #ifdef __cplusplus 00025 extern "C" { 00026 #endif 00027 00028 #if defined(_BLD_pathplan) && defined(_DLL) 00029 # define extern __EXPORT__ 00030 #endif 00031 00032 /* open a visibility graph */ 00033 extern vconfig_t *Pobsopen(Ppoly_t ** obstacles, int n_obstacles); 00034 00035 /* close a visibility graph, freeing its storage */ 00036 extern void Pobsclose(vconfig_t * config); 00037 00038 /* route a polyline from p0 to p1, avoiding obstacles. 00039 * if an endpoint is inside an obstacle, pass the polygon's index >=0 00040 * if the endpoint is not inside an obstacle, pass POLYID_NONE 00041 * if the endpoint location is not known, pass POLYID_UNKNOWN 00042 */ 00043 00044 extern int Pobspath(vconfig_t * config, Ppoint_t p0, int poly0, 00045 Ppoint_t p1, int poly1, 00046 Ppolyline_t * output_route); 00047 00048 #define POLYID_NONE -1111 00049 #define POLYID_UNKNOWN -2222 00050 00051 #undef extern 00052 00053 #ifdef __cplusplus 00054 } 00055 #endif 00056 #endif