estar/cwrap.h

Go to the documentation of this file.
00001 /* 
00002  * Copyright (C) 2005 Roland Philippsen <roland dot philippsen at gmx net>
00003  * 
00004  * This program is free software; you can redistribute it and/or modify
00005  * it under the terms of the GNU General Public License as published by
00006  * the Free Software Foundation; either version 2 of the License, or
00007  * (at your option) any later version.
00008  * 
00009  * This program is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  * GNU General Public License for more details.
00013  * 
00014  * You should have received a copy of the GNU General Public License
00015  * along with this program; if not, write to the Free Software
00016  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
00017  * USA
00018  */
00019 
00020 
00021 #ifndef ESTAR_CWRAP_H
00022 #define ESTAR_CWRAP_H
00023 
00024 
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #else
00028 #endif // __cplusplus
00029 
00030 
00031 #include <stdio.h>
00032 
00033 
00037   int estar_create(const char * kernel_name,
00038                    unsigned int xsize,
00039                    unsigned int ysize,
00040                    double scale,
00041                    int connect_diagonal,
00042                    FILE * dbgstream);
00043 
00044   void estar_destroy(int handle);
00045   
00049   int estar_get_freespace_meta(int handle,
00050                                double * freespace_meta);
00051   
00055   int estar_get_obstacle_meta(int handle,
00056                               double * obstacle_meta);
00057   
00061   int estar_get_value(int handle,
00062                       unsigned int ix,
00063                       unsigned int iy,
00064                       double * value);
00065   
00069   int estar_get_meta(int handle,
00070                      unsigned int ix,
00071                      unsigned int iy,
00072                      double * meta);
00073   
00077   int estar_set_meta(int handle,
00078                      unsigned int ix,
00079                      unsigned int iy,
00080                      double meta);
00081   
00085   int estar_add_goal(int handle,
00086                      unsigned int ix,
00087                      unsigned int iy,
00088                      double value);
00089   
00090 //   /** \return
00091 //       <ul><li> -1: invalid handle </li>
00092 //           <li>  0: success </li></ul> */
00093 //   int estar_remove_goal(int handle,
00094 //                      unsigned int ix,
00095 //                      unsigned int iy);
00096   
00101   int estar_is_goal(int handle,
00102                     unsigned int ix,
00103                     unsigned int iy);
00104   
00109   int estar_have_work(int handle);
00110   
00114   int estar_compute_one(int handle, double slack);
00115   
00119   int estar_dump_grid(int handle,
00120                       FILE * stream);
00121   
00125   int estar_dump_queue(int handle,
00126                        FILE * stream,
00127                        size_t limit);
00128   
00129   
00130 #ifdef __cplusplus
00131 }
00132 #endif // __cplusplus
00133 
00134 
00135 #endif // ESTAR_CWRAP_H

doxygen SourceForge.net Logo
E* Interpolated Graph Replanner Wed Dec 12 18:55:40 2007