hopfield_algo.h
Go to the documentation of this file.
00001 /*
00002 * Software License Agreement (BSD License)
00003 *Copyright (c) 2015, micROS Team
00004  http://micros.nudt.edu.cn/
00005 *All rights reserved.
00006 * Copyright (c) 2009, Willow Garage, Inc.
00007 * All rights reserved.
00008 *
00009 * Redistribution and use in source and binary forms, with or without
00010 * modification, are permitted provided that the following conditions
00011 * are met:
00012 *
00013 * * Redistributions of source code must retain the above copyright
00014 * notice, this list of conditions and the following disclaimer.
00015 * * Redistributions in binary form must reproduce the above
00016 * copyright notice, this list of conditions and the following
00017 * disclaimer in the documentation and/or other materials provided
00018 * with the distribution.
00019 * * Neither the name of Willow Garage, Inc. nor the names of its
00020 * contributors may be used to endorse or promote products derived
00021 * from this software without specific prior written permission.
00022 *
00023 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
00024 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
00025 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
00026 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
00027 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
00028 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
00029 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00030 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00031 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
00032 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
00033 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00034 * POSSIBILITY OF SUCH DAMAGE.
00035 */
00036 #include <sstream>
00037 #include <iostream>
00038 #include "stdio.h"
00039 #include "stdlib.h"
00040 #include "string.h"
00041 
00042 using namespace std;
00043 
00044 struct POINT
00045 {
00046     int x;
00047     int y;
00048 };
00049 
00050 struct THREAT_STRUCT
00051 {
00052     POINT center;
00053     int range;
00054 };
00055 
00057 //global varibles
00058 extern int g_MapWidth;                  //width of map
00059 extern int g_MapHeight;                 //height of map
00060 
00061 extern int g_FlyingHeight;              //height of client move 
00062 
00063 extern short* g_Terrain;                //rerrian map
00064 extern int** g_SearchMap;               //search map
00065 
00066 extern THREAT_STRUCT g_Threats[100];    //threat
00067 extern int g_ThreatsCount;              //number of threats
00068 
00069 
00070 extern int g_Sx;                        //start point x
00071 extern int g_Sy;                        //start point y
00072 extern int g_Ex;                        //end point x
00073 extern int g_Ey;                        //end point y
00075 
00076 
00078 //get the threats and the configure parameters
00079 bool InitThreat();
00080 //get the terrian map
00081 void InitTerrain();
00082 //get the search map
00083 void BuildSearchMap();
00085 
00087 //initialize
00088 bool InitData();
00089 //search
00090 bool Search();
00091 
00092 int GetRoad(POINT** Road);
00093 //clean the RAM
00094 void Clean();
00096 
00098 
00099 //
00100 void ConnectionSearch();
00101 //build the field
00102 void FieldBuilding();
00103 //roadsearch
00104 void RoadSearch();
00106 
00107 


micros_hopfield
Author(s): Xiaojia Xiang
autogenerated on Thu Jun 6 2019 21:05:58