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

📄 mypathanalyst.h

📁 手持PDA汽车导航程序源代码
💻 H
字号:
#if !defined(AFX_MYPATHANALYST_H__69E67093_3A57_11D3_8669_0000E875C86B__INCLUDED_)
#define AFX_MYPATHANALYST_H__69E67093_3A57_11D3_8669_0000E875C86B__INCLUDED_

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

//{{Usage
//step 1: SetDatasetNetwork(...)  -----> Do one time only.
//step 2: Init(...)				  -----> Do one time only.

//step 3: SetAnalyseMode(...)     -----> Do more times as you wish.
//step 4: Analyse(...)            -----> Do more times as you wish.
//}}Usage

//{{Attendtion
// 1. 本模型支持两种分析模式: 分析模式:  最短路径分析为 0;  最佳路径分析为 1
// 2. 本模型预定实用网络图层的几个字段: 
//     a.  SMLENGTH  路段长度 double; 
//     b.  SMFNODE   开始节点 long;
//     c.  SMTNODE   开始节点 long;
//     d.  Code      道路等级 long;  ( 1, 2, 3, 4, 5, 6 级  不同道路等级行车速度不同 )
//     e.  Direction 行走方向 long;  ( 0--禁行止; 1--正向单行; 2--逆正向单行; 3--双向通行 )
//}}Attendtion

class CMyPathAnalyst : public CSePathAnalyst
{
public://method
	//初始化
	bool Init();

	//分析模式:  最短路径分析为 0;  最佳路径分析为 1
	bool SetAnalyseMode( long nMode );

//===============================================================================
protected://method
	//根据实际规则返回节点间的连通性
	virtual bool GetDistance( CSeRecordset *pRecordsetArc, 
							  long &nArcID, long &nFNodeID, long &nTNodeID, 
							  double &dDistanceStartToEnd, double &dDistanceEndToStart );

	//根据实际规则返回道路的限制速度!
	long GetSpeedLimit( long btRoadType );

protected://attribute
//===============================================================================
//通过字段索引可以更快地取出字段的值, 所以要把字段名换成索引值

	long m_nFieldIndexFNodeID;//开始节点 ID
	long m_nFieldIndexTNodeID;//终止节点 ID
	long m_nFieldIndexPathLength;//路的长度

	long m_nFieldIndexPathType;//道路等级
	long m_nFieldIndexDirection;//行车方向的限定

//===============================================================================
	//分析模式:  最短路径分析为 0;  最佳路径分析为 1
	long m_nAnalyseMode;

//===============================================================================
public:
	CMyPathAnalyst();
	virtual ~CMyPathAnalyst();
};
#endif

⌨️ 快捷键说明

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