37 lines
		
	
	
		
			936 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			936 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /* $Id$ */
 | |
| 
 | |
| #ifndef  YAPF_NODE_ROAD_HPP
 | |
| #define  YAPF_NODE_ROAD_HPP
 | |
| 
 | |
| 
 | |
| 
 | |
| /** Yapf Node for road YAPF */
 | |
| template <class Tkey_>
 | |
| struct CYapfRoadNodeT
 | |
| 	: CYapfNodeT<Tkey_, CYapfRoadNodeT<Tkey_> >
 | |
| {
 | |
| 	typedef CYapfNodeT<Tkey_, CYapfRoadNodeT<Tkey_> > base;
 | |
| 
 | |
| 	TileIndex       m_segment_last_tile;
 | |
| 	Trackdir        m_segment_last_td;
 | |
| 
 | |
| 	void Set(CYapfRoadNodeT* parent, TileIndex tile, Trackdir td, bool is_choice)
 | |
| 	{
 | |
| 		base::Set(parent, tile, td, is_choice);
 | |
| 		m_segment_last_tile = tile;
 | |
| 		m_segment_last_td = td;
 | |
| 	}
 | |
| };
 | |
| 
 | |
| // now define two major node types (that differ by key type)
 | |
| typedef CYapfRoadNodeT<CYapfNodeKeyExitDir>  CYapfRoadNodeExitDir;
 | |
| typedef CYapfRoadNodeT<CYapfNodeKeyTrackDir> CYapfRoadNodeTrackDir;
 | |
| 
 | |
| // Default NodeList types
 | |
| typedef CNodeList_HashTableT<CYapfRoadNodeExitDir , 8, 12> CRoadNodeListExitDir;
 | |
| typedef CNodeList_HashTableT<CYapfRoadNodeTrackDir, 10, 14> CRoadNodeListTrackDir;
 | |
| 
 | |
| 
 | |
| 
 | |
| #endif /* YAPF_NODE_ROAD_HPP */
 | 
