pathfinder.h

来自「路径查找代码[vc版本代码]」· C头文件 代码 · 共 53 行

H
53
字号
// PathFinder.h : Declaration of the CPathFinder

#ifndef __PATHFINDER_H_
#define __PATHFINDER_H_

#include "resource.h"       // main symbols

/////////////////////////////////////////////////////////////////////////////
// CPathFinder
class ATL_NO_VTABLE CPathFinder : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CPathFinder, &CLSID_PathFinder>,
	public IPathFinder
{
public:
	CPathFinder()
	{
	}

DECLARE_REGISTRY_RESOURCEID(IDR_PATHFINDER)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CPathFinder)
	COM_INTERFACE_ENTRY(IPathFinder)
END_COM_MAP()

// IPathFinder
public:
	STDMETHOD(SolvePath)(BSTR WeightName);
	STDMETHOD(get_PathPolyLine)(/*[out, retval]*/ IPolyline* *pVal);
	STDMETHOD(get_PathCost)(/*[out, retval]*/ double *pVal);
	STDMETHOD(get_Map)(/*[out, retval]*/ IMap* *pVal);
	STDMETHOD(putref_Map)(/*[in]*/ IMap* newVal);
	STDMETHOD(get_StopPoints)(/*[out, retval]*/ IPointCollection* *pVal);
	STDMETHOD(putref_StopPoints)(/*[in]*/ IPointCollection* newVal);
	STDMETHOD(OpenAccessNetwork)(BSTR AccessFileName, BSTR FeatureDatasetName);
	STDMETHOD(OpenFeatureDatasetNetwork)(IFeatureDataset* FeatureDS);
private:
	IGeometricNetworkPtr   m_ipGeometricNetwork;
    IMapPtr                m_ipMap;
    IPointCollectionPtr    m_ipPoints;
    IPointToEIDPtr         m_ipPointToEID;
    double                 m_dblPathCost;
    IEnumNetEIDPtr         m_ipEnumNetEID_Junctions;
    IEnumNetEIDPtr         m_ipEnumNetEID_Edges;
	IPolylinePtr           m_ipPolyline;
	HRESULT InitializeNetworkAndMap(IFeatureDatasetPtr FeatureDataset);
	void CloseWorkspace();
};

#endif //__PATHFINDER_H_

⌨️ 快捷键说明

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