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

#include <NodeLimitAbstraction.h>

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

Public Member Functions

 NodeLimitAbstraction (Map *, int nodeLimit)
 
 ~NodeLimitAbstraction ()
 
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 nodeLimit
 

Detailed Description

Definition at line 31 of file NodeLimitAbstraction.h.

Constructor & Destructor Documentation

◆ NodeLimitAbstraction()

NodeLimitAbstraction::NodeLimitAbstraction ( Map _m,
int  nodeLimit 
)

Definition at line 32 of file NodeLimitAbstraction.cpp.

References buildAbstraction().

Referenced by Clone().

◆ ~NodeLimitAbstraction()

NodeLimitAbstraction::~NodeLimitAbstraction ( )

Definition at line 40 of file NodeLimitAbstraction.cpp.

Member Function Documentation

◆ abstractionBFS()

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

◆ AddEdge()

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

add edge to abstraction

Definition at line 87 of file NodeLimitAbstraction.cpp.

◆ addEdges()

void NodeLimitAbstraction::addEdges ( Graph g)
private

◆ AddNode()

void NodeLimitAbstraction::AddNode ( node n)
virtual

add node to abstraction

Definition at line 80 of file NodeLimitAbstraction.cpp.

◆ addNodes()

void NodeLimitAbstraction::addNodes ( Graph g)
private

◆ buildAbstraction()

void NodeLimitAbstraction::buildAbstraction ( )
private

Definition at line 99 of file NodeLimitAbstraction.cpp.

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

Referenced by NodeLimitAbstraction().

◆ buildNodeIntoParent()

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

◆ Clone()

MapAbstraction* NodeLimitAbstraction::Clone ( Map _m)
inline

Definition at line 35 of file NodeLimitAbstraction.h.

References nodeLimit, and NodeLimitAbstraction().

◆ Pathable()

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

◆ RemoveEdge()

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

remove edge from abstraction

Definition at line 75 of file NodeLimitAbstraction.cpp.

◆ RemoveNode()

void NodeLimitAbstraction::RemoveNode ( node n)
virtual

remove node from abstraction

Definition at line 70 of file NodeLimitAbstraction.cpp.

◆ RepairAbstraction()

void NodeLimitAbstraction::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 95 of file NodeLimitAbstraction.cpp.

◆ VerifyHierarchy()

void NodeLimitAbstraction::VerifyHierarchy ( )
virtual

verify that the hierarchy is consistent

Definition at line 64 of file NodeLimitAbstraction.cpp.

Member Data Documentation

◆ nodeLimit

int NodeLimitAbstraction::nodeLimit
private

Definition at line 63 of file NodeLimitAbstraction.h.

Referenced by addNodes(), and Clone().


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