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

#include <RadiusAbstraction.h>

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

Public Member Functions

 RadiusAbstraction (Map *, int)
 
 ~RadiusAbstraction ()
 
MapAbstraction * Clone (Map *_m)
 
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 buildAbstraction ()
 
void buildNodeIntoParent (node *n, node *parent)
 
void abstractionBFS (node *which, node *parent, int depth)
 
void addEdges (Graph *g)
 
void addNodes (Graph *g)
 

Private Attributes

int radius
 

Detailed Description

Definition at line 17 of file RadiusAbstraction.h.

Constructor & Destructor Documentation

◆ RadiusAbstraction()

RadiusAbstraction::RadiusAbstraction ( Map _m,
int  _radius 
)

Definition at line 17 of file RadiusAbstraction.cpp.

References buildAbstraction().

Referenced by Clone().

◆ ~RadiusAbstraction()

RadiusAbstraction::~RadiusAbstraction ( )

Definition at line 25 of file RadiusAbstraction.cpp.

Member Function Documentation

◆ abstractionBFS()

void RadiusAbstraction::abstractionBFS ( node which,
node parent,
int  depth 
)
private

◆ AddEdge()

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

add edge to abstraction

Definition at line 72 of file RadiusAbstraction.cpp.

◆ addEdges()

void RadiusAbstraction::addEdges ( Graph g)
private

◆ AddNode()

void RadiusAbstraction::AddNode ( node n)
virtual

add node to abstraction

Definition at line 65 of file RadiusAbstraction.cpp.

◆ addNodes()

void RadiusAbstraction::addNodes ( Graph g)
private

◆ buildAbstraction()

void RadiusAbstraction::buildAbstraction ( )
private

Definition at line 84 of file RadiusAbstraction.cpp.

References addEdges(), addNodes(), and GetMapGraph().

Referenced by RadiusAbstraction().

◆ buildNodeIntoParent()

void RadiusAbstraction::buildNodeIntoParent ( node n,
node parent 
)
private

◆ Clone()

MapAbstraction* RadiusAbstraction::Clone ( Map _m)
inline

Definition at line 21 of file RadiusAbstraction.h.

References radius, and RadiusAbstraction().

◆ Pathable()

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

◆ RemoveEdge()

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

remove edge from abstraction

Definition at line 60 of file RadiusAbstraction.cpp.

◆ RemoveNode()

void RadiusAbstraction::RemoveNode ( node n)
virtual

remove node from abstraction

Definition at line 55 of file RadiusAbstraction.cpp.

◆ RepairAbstraction()

void RadiusAbstraction::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 80 of file RadiusAbstraction.cpp.

◆ VerifyHierarchy()

void RadiusAbstraction::VerifyHierarchy ( )
virtual

verify that the hierarchy is consistent

Definition at line 49 of file RadiusAbstraction.cpp.

Member Data Documentation

◆ radius

int RadiusAbstraction::radius
private

Definition at line 49 of file RadiusAbstraction.h.

Referenced by addNodes(), and Clone().


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