C# Class HPASharp.AbstractMapFactory

Datei anzeigen Open project: Rydra/HierarchicalPathfinder Class Usage Examples

Public Methods

Method Description
CreateHierarchicalMap ( ConcreteMap concreteMap, int clusterSize, int maxLevel, EntranceStyle style ) : void
InsertAbstractNode ( HierarchicalMap map, Position pos, int start ) : int
RemoveAbstractNode ( HierarchicalMap map, int nodeId, int stal ) : void

Private Methods

Method Description
AddEdgesBetweenAbstractNodes ( HierarchicalMap map, int absNodeId1, int absNodeId2, int level ) : void

Adds an edge between two abstract nodes for a given level

CreateAbstractNodes ( List entrancesList, List clusters ) : void
CreateEdges ( List entrances, List clusters ) : void
CreateEntranceEdges ( Entrance entrance, AbsType type, AbsTilingNodeInfo>.Dictionary absNodes ) : void
CreateEntrancesAndClusters ( List &entrances, List &clusters ) : void
CreateHierarchicalEdges ( ) : void
CreateHorizEntrances ( int x0, int x1, int y, int clusterid1, int clusterid2, int currId, int &nextId ) : List

Creates the horizontal entrances between the two clusters, and returns the last entrance id

CreateInterClusterEdges ( Cluster cluster ) : void
CreateVertEntrances ( int y0, int y1, int x, int clusterid1, int clusterid2, int currId, int &lastEntraceId ) : List
DetermineLevel ( int y ) : int
GenerateAbstractNodes ( List entrances, List clusters ) : AbsTilingNodeInfo>.Dictionary

Create the asbtract nodes of this graph (composed by the centers of the entrances between clusters)

GetCluster ( List clusters, int left, int top ) : Cluster
GetEntrancePointLevel ( EntrancePoint entrancePoint ) : int
InsertStal ( HierarchicalMap map, int nodeId, Position pos, int start ) : int
InsertStalHEdges ( HierarchicalMap map, int nodeId ) : void

Inserts a node and creates edges around the local points of the cluster it the node we try to insert belongs to at each level

IsValidAbstractNode ( HierarchicalMap map, int abstractNode, int level ) : bool

Method Details

CreateHierarchicalMap() public method

public CreateHierarchicalMap ( ConcreteMap concreteMap, int clusterSize, int maxLevel, EntranceStyle style ) : void
concreteMap ConcreteMap
clusterSize int
maxLevel int
style EntranceStyle
return void

InsertAbstractNode() public method

public InsertAbstractNode ( HierarchicalMap map, Position pos, int start ) : int
map HierarchicalMap
pos Position
start int
return int

RemoveAbstractNode() public method

public RemoveAbstractNode ( HierarchicalMap map, int nodeId, int stal ) : void
map HierarchicalMap
nodeId int
stal int
return void