yapf_node_road.hpp

Go to the documentation of this file.
00001 /* $Id: yapf_node_road.hpp 14949 2009-01-10 00:31:47Z rubidium $ */
00002 
00005 #ifndef  YAPF_NODE_ROAD_HPP
00006 #define  YAPF_NODE_ROAD_HPP
00007 
00008 
00009 
00011 template <class Tkey_>
00012 struct CYapfRoadNodeT
00013   : CYapfNodeT<Tkey_, CYapfRoadNodeT<Tkey_> >
00014 {
00015   typedef CYapfNodeT<Tkey_, CYapfRoadNodeT<Tkey_> > base;
00016 
00017   TileIndex       m_segment_last_tile;
00018   Trackdir        m_segment_last_td;
00019 
00020   void Set(CYapfRoadNodeT *parent, TileIndex tile, Trackdir td, bool is_choice)
00021   {
00022     base::Set(parent, tile, td, is_choice);
00023     m_segment_last_tile = tile;
00024     m_segment_last_td = td;
00025   }
00026 };
00027 
00028 // now define two major node types (that differ by key type)
00029 typedef CYapfRoadNodeT<CYapfNodeKeyExitDir>  CYapfRoadNodeExitDir;
00030 typedef CYapfRoadNodeT<CYapfNodeKeyTrackDir> CYapfRoadNodeTrackDir;
00031 
00032 // Default NodeList types
00033 typedef CNodeList_HashTableT<CYapfRoadNodeExitDir , 8, 12> CRoadNodeListExitDir;
00034 typedef CNodeList_HashTableT<CYapfRoadNodeTrackDir, 10, 14> CRoadNodeListTrackDir;
00035 
00036 
00037 
00038 #endif /* YAPF_NODE_ROAD_HPP */

Generated on Mon Feb 16 23:12:13 2009 for openttd by  doxygen 1.5.6