summaryrefslogtreecommitdiff
path: root/src/pathfinder
diff options
context:
space:
mode:
Diffstat (limited to 'src/pathfinder')
-rw-r--r--src/pathfinder/yapf/nodelist.hpp48
-rw-r--r--src/pathfinder/yapf/yapf_costcache.hpp8
-rw-r--r--src/pathfinder/yapf/yapf_costrail.hpp9
-rw-r--r--src/pathfinder/yapf/yapf_destrail.hpp15
-rw-r--r--src/pathfinder/yapf/yapf_node.hpp69
-rw-r--r--src/pathfinder/yapf/yapf_node_road.hpp8
-rw-r--r--src/pathfinder/yapf/yapf_node_ship.hpp7
7 files changed, 91 insertions, 73 deletions
diff --git a/src/pathfinder/yapf/nodelist.hpp b/src/pathfinder/yapf/nodelist.hpp
index ce0a7ba90..e82f869f1 100644
--- a/src/pathfinder/yapf/nodelist.hpp
+++ b/src/pathfinder/yapf/nodelist.hpp
@@ -24,34 +24,23 @@
template <class Titem_, int Thash_bits_open_, int Thash_bits_closed_>
class CNodeList_HashTableT {
public:
- /** make Titem_ visible from outside of class */
- typedef Titem_ Titem;
- /** make Titem_::Key a property of HashTable */
- typedef typename Titem_::Key Key;
- /** type that we will use as item container */
- typedef SmallArray<Titem_, 65536, 256> CItemArray;
- /** how pointers to open nodes will be stored */
- typedef CHashTableT<Titem_, Thash_bits_open_ > COpenList;
- /** how pointers to closed nodes will be stored */
- typedef CHashTableT<Titem_, Thash_bits_closed_> CClosedList;
- /** how the priority queue will be managed */
- typedef CBinaryHeapT<Titem_> CPriorityQueue;
+ typedef Titem_ Titem; ///< Make #Titem_ visible from outside of class.
+ typedef typename Titem_::Key Key; ///< Make Titem_::Key a property of #HashTable.
+ typedef SmallArray<Titem_, 65536, 256> CItemArray; ///< Type that we will use as item container.
+ typedef CHashTableT<Titem_, Thash_bits_open_ > COpenList; ///< How pointers to open nodes will be stored.
+ typedef CHashTableT<Titem_, Thash_bits_closed_> CClosedList; ///< How pointers to closed nodes will be stored.
+ typedef CBinaryHeapT<Titem_> CPriorityQueue; ///< How the priority queue will be managed.
protected:
- /** here we store full item data (Titem_) */
- CItemArray m_arr;
- /** hash table of pointers to open item data */
- COpenList m_open;
- /** hash table of pointers to closed item data */
- CClosedList m_closed;
- /** priority queue of pointers to open item data */
- CPriorityQueue m_open_queue;
- /** new open node under construction */
- Titem *m_new_node;
+ CItemArray m_arr; ///< Here we store full item data (Titem_).
+ COpenList m_open; ///< Hash table of pointers to open item data.
+ CClosedList m_closed; ///< Hash table of pointers to closed item data.
+ CPriorityQueue m_open_queue; ///< Priority queue of pointers to open item data.
+ Titem *m_new_node; ///< New open node under construction.
+
public:
/** default constructor */
- CNodeList_HashTableT()
- : m_open_queue(2048)
+ CNodeList_HashTableT() : m_open_queue(2048)
{
m_new_node = NULL;
}
@@ -152,9 +141,16 @@ public:
}
/** The number of items. */
- inline int TotalCount() {return m_arr.Length();}
+ inline int TotalCount()
+ {
+ return m_arr.Length();
+ }
+
/** Get a particular item. */
- inline Titem_& ItemAt(int idx) {return m_arr[idx];}
+ inline Titem_& ItemAt(int idx)
+ {
+ return m_arr[idx];
+ }
/** Helper for creating output of this array. */
template <class D> void Dump(D &dmp) const
diff --git a/src/pathfinder/yapf/yapf_costcache.hpp b/src/pathfinder/yapf/yapf_costcache.hpp
index a3e40d13e..f16d4054c 100644
--- a/src/pathfinder/yapf/yapf_costcache.hpp
+++ b/src/pathfinder/yapf/yapf_costcache.hpp
@@ -121,9 +121,7 @@ struct CSegmentCostCacheBase
* Look at CYapfRailSegment (yapf_node_rail.hpp) for the segment example
*/
template <class Tsegment>
-struct CSegmentCostCacheT
- : public CSegmentCostCacheBase
-{
+struct CSegmentCostCacheT : public CSegmentCostCacheBase {
static const int C_HASH_BITS = 14;
typedef CHashTableT<Tsegment, C_HASH_BITS> HashTable;
@@ -162,9 +160,7 @@ struct CSegmentCostCacheT
* segment cost caching services for your Nodes.
*/
template <class Types>
-class CYapfSegmentCostCacheGlobalT
- : public CYapfSegmentCostCacheLocalT<Types>
-{
+class CYapfSegmentCostCacheGlobalT : public CYapfSegmentCostCacheLocalT<Types> {
public:
typedef CYapfSegmentCostCacheLocalT<Types> Tlocal;
typedef typename Types::Tpf Tpf; ///< the pathfinder class (derived from THIS class)
diff --git a/src/pathfinder/yapf/yapf_costrail.hpp b/src/pathfinder/yapf/yapf_costrail.hpp
index 80cbd529d..64cf96380 100644
--- a/src/pathfinder/yapf/yapf_costrail.hpp
+++ b/src/pathfinder/yapf/yapf_costrail.hpp
@@ -15,9 +15,7 @@
#include "../../pbs.h"
template <class Types>
-class CYapfCostRailT
- : public CYapfCostBase
-{
+class CYapfCostRailT : public CYapfCostBase {
public:
typedef typename Types::Tpf Tpf; ///< the pathfinder class (derived from THIS class)
typedef typename Types::TrackFollower TrackFollower;
@@ -74,10 +72,7 @@ protected:
static const int s_max_segment_cost = 10000;
- CYapfCostRailT()
- : m_max_cost(0)
- , m_disable_cache(false)
- , m_stopped_on_first_two_way_signal(false)
+ CYapfCostRailT() : m_max_cost(0), m_disable_cache(false), m_stopped_on_first_two_way_signal(false)
{
/* pre-compute look-ahead penalties into array */
int p0 = Yapf().PfGetSettings().rail_look_ahead_signal_p0;
diff --git a/src/pathfinder/yapf/yapf_destrail.hpp b/src/pathfinder/yapf/yapf_destrail.hpp
index 37525bfa2..681034a2f 100644
--- a/src/pathfinder/yapf/yapf_destrail.hpp
+++ b/src/pathfinder/yapf/yapf_destrail.hpp
@@ -12,8 +12,7 @@
#ifndef YAPF_DESTRAIL_HPP
#define YAPF_DESTRAIL_HPP
-class CYapfDestinationRailBase
-{
+class CYapfDestinationRailBase {
protected:
RailTypes m_compatible_railtypes;
@@ -36,9 +35,7 @@ public:
};
template <class Types>
-class CYapfDestinationAnyDepotRailT
- : public CYapfDestinationRailBase
-{
+class CYapfDestinationAnyDepotRailT : public CYapfDestinationRailBase {
public:
typedef typename Types::Tpf Tpf; ///< the pathfinder class (derived from THIS class)
typedef typename Types::NodeList::Titem Node; ///< this will be our node type
@@ -75,9 +72,7 @@ public:
};
template <class Types>
-class CYapfDestinationAnySafeTileRailT
- : public CYapfDestinationRailBase
-{
+class CYapfDestinationAnySafeTileRailT : public CYapfDestinationRailBase {
public:
typedef typename Types::Tpf Tpf; ///< the pathfinder class (derived from THIS class)
typedef typename Types::NodeList::Titem Node; ///< this will be our node type
@@ -115,9 +110,7 @@ public:
};
template <class Types>
-class CYapfDestinationTileOrStationRailT
- : public CYapfDestinationRailBase
-{
+class CYapfDestinationTileOrStationRailT : public CYapfDestinationRailBase {
public:
typedef typename Types::Tpf Tpf; ///< the pathfinder class (derived from THIS class)
typedef typename Types::NodeList::Titem Node; ///< this will be our node type
diff --git a/src/pathfinder/yapf/yapf_node.hpp b/src/pathfinder/yapf/yapf_node.hpp
index c305fd996..b3021096b 100644
--- a/src/pathfinder/yapf/yapf_node.hpp
+++ b/src/pathfinder/yapf/yapf_node.hpp
@@ -25,8 +25,15 @@ struct CYapfNodeKeyExitDir {
m_exitdir = (m_td == INVALID_TRACKDIR) ? INVALID_DIAGDIR : TrackdirToExitdir(m_td);
}
- inline int CalcHash() const {return m_exitdir | (m_tile << 2);}
- inline bool operator==(const CYapfNodeKeyExitDir &other) const {return (m_tile == other.m_tile) && (m_exitdir == other.m_exitdir);}
+ inline int CalcHash() const
+ {
+ return m_exitdir | (m_tile << 2);
+ }
+
+ inline bool operator==(const CYapfNodeKeyExitDir &other) const
+ {
+ return m_tile == other.m_tile && m_exitdir == other.m_exitdir;
+ }
void Dump(DumpTarget &dmp) const
{
@@ -38,8 +45,15 @@ struct CYapfNodeKeyExitDir {
struct CYapfNodeKeyTrackDir : public CYapfNodeKeyExitDir
{
- inline int CalcHash() const {return m_td | (m_tile << 4);}
- inline bool operator==(const CYapfNodeKeyTrackDir &other) const {return (m_tile == other.m_tile) && (m_td == other.m_td);}
+ inline int CalcHash() const
+ {
+ return m_td | (m_tile << 4);
+ }
+
+ inline bool operator==(const CYapfNodeKeyTrackDir &other) const
+ {
+ return m_tile == other.m_tile && m_td == other.m_td;
+ }
};
/** Yapf Node base */
@@ -63,14 +77,45 @@ struct CYapfNodeT {
m_estimate = 0;
}
- inline Node *GetHashNext() {return m_hash_next;}
- inline void SetHashNext(Node *pNext) {m_hash_next = pNext;}
- inline TileIndex GetTile() const {return m_key.m_tile;}
- inline Trackdir GetTrackdir() const {return m_key.m_td;}
- inline const Tkey_& GetKey() const {return m_key;}
- inline int GetCost() const {return m_cost;}
- inline int GetCostEstimate() const {return m_estimate;}
- inline bool operator<(const Node &other) const {return m_estimate < other.m_estimate;}
+ inline Node *GetHashNext()
+ {
+ return m_hash_next;
+ }
+
+ inline void SetHashNext(Node *pNext)
+ {
+ m_hash_next = pNext;
+ }
+
+ inline TileIndex GetTile() const
+ {
+ return m_key.m_tile;
+ }
+
+ inline Trackdir GetTrackdir() const
+ {
+ return m_key.m_td;
+ }
+
+ inline const Tkey_& GetKey() const
+ {
+ return m_key;
+ }
+
+ inline int GetCost() const
+ {
+ return m_cost;
+ }
+
+ inline int GetCostEstimate() const
+ {
+ return m_estimate;
+ }
+
+ inline bool operator<(const Node &other) const
+ {
+ return m_estimate < other.m_estimate;
+ }
void Dump(DumpTarget &dmp) const
{
diff --git a/src/pathfinder/yapf/yapf_node_road.hpp b/src/pathfinder/yapf/yapf_node_road.hpp
index 5cc2d5539..9a392f088 100644
--- a/src/pathfinder/yapf/yapf_node_road.hpp
+++ b/src/pathfinder/yapf/yapf_node_road.hpp
@@ -14,13 +14,11 @@
/** Yapf Node for road YAPF */
template <class Tkey_>
-struct CYapfRoadNodeT
- : CYapfNodeT<Tkey_, CYapfRoadNodeT<Tkey_> >
-{
+struct CYapfRoadNodeT : CYapfNodeT<Tkey_, CYapfRoadNodeT<Tkey_> > {
typedef CYapfNodeT<Tkey_, CYapfRoadNodeT<Tkey_> > base;
- TileIndex m_segment_last_tile;
- Trackdir m_segment_last_td;
+ TileIndex m_segment_last_tile;
+ Trackdir m_segment_last_td;
void Set(CYapfRoadNodeT *parent, TileIndex tile, Trackdir td, bool is_choice)
{
diff --git a/src/pathfinder/yapf/yapf_node_ship.hpp b/src/pathfinder/yapf/yapf_node_ship.hpp
index 7a1358af6..df4254fd9 100644
--- a/src/pathfinder/yapf/yapf_node_ship.hpp
+++ b/src/pathfinder/yapf/yapf_node_ship.hpp
@@ -14,11 +14,7 @@
/** Yapf Node for ships */
template <class Tkey_>
-struct CYapfShipNodeT
- : CYapfNodeT<Tkey_, CYapfShipNodeT<Tkey_> >
-{
-
-};
+struct CYapfShipNodeT : CYapfNodeT<Tkey_, CYapfShipNodeT<Tkey_> > { };
/* now define two major node types (that differ by key type) */
typedef CYapfShipNodeT<CYapfNodeKeyExitDir> CYapfShipNodeExitDir;
@@ -28,5 +24,4 @@ typedef CYapfShipNodeT<CYapfNodeKeyTrackDir> CYapfShipNodeTrackDir;
typedef CNodeList_HashTableT<CYapfShipNodeExitDir , 10, 12> CShipNodeListExitDir;
typedef CNodeList_HashTableT<CYapfShipNodeTrackDir, 10, 12> CShipNodeListTrackDir;
-
#endif /* YAPF_NODE_SHIP_HPP */