waypoint.h

来自「A*算法」· C头文件 代码 · 共 50 行

H
50
字号
// 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 + =
减小字号Ctrl + -
显示快捷键?