HOG2
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MapFlatAbstraction Class Reference

#include <MapFlatAbstraction.h>

Inheritance diagram for MapFlatAbstraction:
Inheritance graph
[legend]
Collaboration diagram for MapFlatAbstraction:
Collaboration graph
[legend]

Public Member Functions

 MapFlatAbstraction (Map *_m)
 
 ~MapFlatAbstraction ()
 
virtual MapAbstraction * Clone (Map *_m)
 return a new abstraction map of the same type as this map abstraction More...
 
virtual bool Pathable (node *from, node *to)
 
virtual void VerifyHierarchy ()
 verify that the hierarchy is consistent More...
 
virtual void RemoveNode (node *n)
 remove node from abstraction More...
 
virtual void RemoveEdge (edge *e, unsigned int absLevel)
 remove edge from abstraction More...
 
virtual void AddNode (node *n)
 add node to abstraction More...
 
virtual void AddEdge (edge *e, unsigned int absLevel)
 add edge to abstraction More...
 
virtual void RepairAbstraction ()
 This must be called after any of the above add/remove operations. More...
 

Private Member Functions

void buildConnectivityGroups ()
 

Private Attributes

bool groupsValid
 
std::vector< int > groups
 

Detailed Description

Definition at line 17 of file MapFlatAbstraction.h.

Constructor & Destructor Documentation

◆ MapFlatAbstraction()

MapFlatAbstraction::MapFlatAbstraction ( Map _m)

Definition at line 14 of file MapFlatAbstraction.cpp.

References GetMapGraph(), and groupsValid.

Referenced by Clone().

◆ ~MapFlatAbstraction()

MapFlatAbstraction::~MapFlatAbstraction ( )

Definition at line 21 of file MapFlatAbstraction.cpp.

Member Function Documentation

◆ AddEdge()

void MapFlatAbstraction::AddEdge ( edge e,
unsigned int  absLevel 
)
virtual

add edge to abstraction

Definition at line 99 of file MapFlatAbstraction.cpp.

◆ AddNode()

void MapFlatAbstraction::AddNode ( node n)
virtual

add node to abstraction

Definition at line 86 of file MapFlatAbstraction.cpp.

◆ buildConnectivityGroups()

void MapFlatAbstraction::buildConnectivityGroups ( )
private

◆ Clone()

virtual MapAbstraction* MapFlatAbstraction::Clone ( Map _m)
inlinevirtual

return a new abstraction map of the same type as this map abstraction

Definition at line 22 of file MapFlatAbstraction.h.

References MapFlatAbstraction().

◆ Pathable()

bool MapFlatAbstraction::Pathable ( node from,
node to 
)
virtual

Definition at line 59 of file MapFlatAbstraction.cpp.

References buildConnectivityGroups(), node::GetNum(), groups, and groupsValid.

Referenced by generatePaths().

◆ RemoveEdge()

void MapFlatAbstraction::RemoveEdge ( edge e,
unsigned int  absLevel 
)
virtual

remove edge from abstraction

Definition at line 81 of file MapFlatAbstraction.cpp.

◆ RemoveNode()

void MapFlatAbstraction::RemoveNode ( node n)
virtual

remove node from abstraction

Definition at line 75 of file MapFlatAbstraction.cpp.

◆ RepairAbstraction()

void MapFlatAbstraction::RepairAbstraction ( )
virtual

This must be called after any of the above add/remove operations.

But the operations can be stacked followed by a single RepairAbstraction call.

Definition at line 104 of file MapFlatAbstraction.cpp.

References groupsValid.

◆ VerifyHierarchy()

void MapFlatAbstraction::VerifyHierarchy ( )
virtual

verify that the hierarchy is consistent

Definition at line 71 of file MapFlatAbstraction.cpp.

Member Data Documentation

◆ groups

std::vector<int> MapFlatAbstraction::groups
private

Definition at line 45 of file MapFlatAbstraction.h.

Referenced by buildConnectivityGroups(), and Pathable().

◆ groupsValid

bool MapFlatAbstraction::groupsValid
private

The documentation for this class was generated from the following files: