⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 waypoint.h

📁 A*算法
💻 H
字号:
// WayPoint.h: interface for the CWayPoint class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_WAYPOINT_H__00C36F92_95D8_4021_857F_1C881BDA59AE__INCLUDED_)
#define AFX_WAYPOINT_H__00C36F92_95D8_4021_857F_1C881BDA59AE__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <stdio.h>
#include <vector>
//读取和存储路点文件

struct SWPNode
{
	int x;
	int y;
	int NeighborCount;
	int Neighbor[10];//邻居的ID,最多可以有10个邻居
	int NeighborDistance[10];//到每个邻居的距离
	int ID;//唯一标志符
};


class CWayPoint  
{
public:
	CWayPoint();
	void ClearNode();
	bool ReadWayPointFile(char *fileName);
	bool SaveWayPointToFile(char *fileName);
	int AddNode(int x,int y,int ID);
	int GetNewID();
	bool RemoveNode(int Index);
	int AddNeighbor(int ParentIndex,int ChildID,int dist);
	int GetNodeCount();
	SWPNode *GetWPNode(int NodeIndex);
	SWPNode *GetWPNodeByID(int NodeID);
	int GetIndexFromID(int NodeID);
	int GetNearestIndex(int x,int y);
	virtual ~CWayPoint();
private:
	bool RemoveNeighbor(int ParentIndex,int ChildID);
	std::vector<SWPNode*>pNodeVector;
};

#endif // !defined(AFX_WAYPOINT_H__00C36F92_95D8_4021_857F_1C881BDA59AE__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -