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

A map abstraction based on the reduction of cliques. More...

#include <MapCliqueAbstraction.h>

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

Public Member Functions

 MapCliqueAbstraction (Map *, bool uniform=true)
 Construct a new Graph hierarchy. More...
 
virtual ~MapCliqueAbstraction ()
 
virtual MapAbstraction * Clone (Map *_m)
 return a new abstraction map of the same type as this map abstraction More...
 
virtual void VerifyHierarchy ()
 
bool Pathable (node *from, node *to)
 
bool Pathable (unsigned int from, unsigned int to)
 
void GetNumAbstractGraphs (node *from, node *to, std::vector< node * > &fromChain, std::vector< node * > &toChain)
 
void ClearMarkedNodes ()
 
void clearDisplayLists ()
 
virtual void RemoveNode (node *n)
 
void RemoveEdge (edge *e, unsigned int absLevel)
 
virtual void AddNode (node *n)
 
virtual void AddEdge (edge *e, unsigned int absLevel)
 
void RepairAbstraction ()
 
nodefindNodeParent (node *n)
 
edgefindEdgeParent (edge *e, unsigned int absLevel)
 
int MeasureRepairHits ()
 MeasureRepairHits Measure the number of levels hit during repair. More...
 

Protected Member Functions

virtual GraphabstractGraph (Graph *g)
 
virtual GraphcliqueAbstractGraph (Graph *g)
 
void addNodesToParent (Graph *g, node *n, node *parent, int width)
 
void addTunnel (node *n, Graph *g, node *newNode)
 
void renameNodeInAbstraction (node *which, unsigned int oldID)
 
int getChildGroups (node *which)
 
void splitNode (node *which, int numGroups)
 
void addNodeToRepairQ (node *n)
 
void removeNodeFromRepairQ (node *n)
 
void resetLocationCache (node *n)
 
void checkAndCreateParent (node *which)
 
void insertNodeIntoHierarchy (node *newNode)
 
void transferGroup (int group, node *oldParent, node *newParent)
 
void abstractUpEdge (unsigned int absLevel, edge *e)
 
void extractGroupIntoNewNode (node *parent, int group)
 
void mergeGroupIntoNeighbor (node *parent, int group, node *neighbor=0)
 
bool checkNeighborClique (node *child, node *neighbor)
 
nodefindNeighborCliques (node *parent, int group)
 
nodefindNeighborCliques (node *)
 
int getGroupSize (node *parent, int group)
 
nodegetNodeInGroup (node *parent, int group)
 

Private Member Functions

void buildAbstractions ()
 
void cleanMemory ()
 

Private Attributes

std::vector< GLuint > displayLists
 
std::vector< node * > modifiedNodeQ
 
bool abstractUniformly
 

Detailed Description

A map abstraction based on the reduction of cliques.

Definition at line 21 of file MapCliqueAbstraction.h.

Constructor & Destructor Documentation

◆ MapCliqueAbstraction()

MapCliqueAbstraction::MapCliqueAbstraction ( Map _m,
bool  uniform = true 
)

Construct a new Graph hierarchy.

Constructions a new Graph abstraction hierarchy from the Graph using the designated abstraction method.

Definition at line 36 of file MapCliqueAbstraction.cpp.

References buildAbstractions().

Referenced by Clone().

◆ ~MapCliqueAbstraction()

MapCliqueAbstraction::~MapCliqueAbstraction ( )
virtual

Definition at line 46 of file MapCliqueAbstraction.cpp.

References cleanMemory().

Member Function Documentation

◆ abstractGraph()

Graph * MapCliqueAbstraction::abstractGraph ( Graph g)
protectedvirtual

Definition at line 217 of file MapCliqueAbstraction.cpp.

References cliqueAbstractGraph().

Referenced by buildAbstractions().

◆ abstractUpEdge()

void MapCliqueAbstraction::abstractUpEdge ( unsigned int  absLevel,
edge e 
)
protected

◆ AddEdge()

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

Definition at line 972 of file MapCliqueAbstraction.cpp.

◆ AddNode()

void MapCliqueAbstraction::AddNode ( node n)
virtual

Definition at line 968 of file MapCliqueAbstraction.cpp.

◆ addNodesToParent()

void MapCliqueAbstraction::addNodesToParent ( Graph g,
node n,
node parent,
int  width 
)
protected

◆ addNodeToRepairQ()

void MapCliqueAbstraction::addNodeToRepairQ ( node n)
protected

Definition at line 1006 of file MapCliqueAbstraction.cpp.

References graph_object::key, kRepairGraph, modifiedNodeQ, and verbose.

Referenced by RemoveEdge(), and RemoveNode().

◆ addTunnel()

void MapCliqueAbstraction::addTunnel ( node n,
Graph g,
node newNode 
)
protected

◆ buildAbstractions()

void MapCliqueAbstraction::buildAbstractions ( )
private

◆ checkAndCreateParent()

void MapCliqueAbstraction::checkAndCreateParent ( node which)
protected

◆ checkNeighborClique()

bool MapCliqueAbstraction::checkNeighborClique ( node child,
node neighbor 
)
protected

◆ cleanMemory()

void MapCliqueAbstraction::cleanMemory ( )
private

Definition at line 172 of file MapCliqueAbstraction.cpp.

References clearDisplayLists(), and displayLists.

Referenced by buildAbstractions(), and ~MapCliqueAbstraction().

◆ clearDisplayLists()

void MapCliqueAbstraction::clearDisplayLists ( )

Definition at line 179 of file MapCliqueAbstraction.cpp.

References displayLists.

Referenced by cleanMemory().

◆ ClearMarkedNodes()

void MapCliqueAbstraction::ClearMarkedNodes ( )

◆ cliqueAbstractGraph()

Graph * MapCliqueAbstraction::cliqueAbstractGraph ( Graph g)
protectedvirtual

◆ Clone()

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

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

Definition at line 26 of file MapCliqueAbstraction.h.

References MapCliqueAbstraction().

◆ extractGroupIntoNewNode()

void MapCliqueAbstraction::extractGroupIntoNewNode ( node parent,
int  group 
)
protected

◆ findEdgeParent()

edge * MapCliqueAbstraction::findEdgeParent ( edge e,
unsigned int  absLevel 
)

◆ findNeighborCliques() [1/2]

node * MapCliqueAbstraction::findNeighborCliques ( node child)
protected

◆ findNeighborCliques() [2/2]

node * MapCliqueAbstraction::findNeighborCliques ( node parent,
int  group 
)
protected

◆ findNodeParent()

node * MapCliqueAbstraction::findNodeParent ( node n)

◆ getChildGroups()

int MapCliqueAbstraction::getChildGroups ( node which)
protected

◆ getGroupSize()

int MapCliqueAbstraction::getGroupSize ( node parent,
int  group 
)
protected

◆ getNodeInGroup()

node * MapCliqueAbstraction::getNodeInGroup ( node parent,
int  group 
)
protected

◆ GetNumAbstractGraphs()

void MapCliqueAbstraction::GetNumAbstractGraphs ( node from,
node to,
std::vector< node * > &  fromChain,
std::vector< node * > &  toChain 
)

◆ insertNodeIntoHierarchy()

void MapCliqueAbstraction::insertNodeIntoHierarchy ( node newNode)
protected

◆ MeasureRepairHits()

int MapCliqueAbstraction::MeasureRepairHits ( )

MeasureRepairHits Measure the number of levels hit during repair.

Always returns 0 unless compiled with -D INSTRUMENT_REPAIR

Definition at line 1842 of file MapCliqueAbstraction.cpp.

◆ mergeGroupIntoNeighbor()

void MapCliqueAbstraction::mergeGroupIntoNeighbor ( node parent,
int  group,
node neighbor = 0 
)
protected

◆ Pathable() [1/2]

bool MapCliqueAbstraction::Pathable ( node from,
node to 
)

◆ Pathable() [2/2]

bool MapCliqueAbstraction::Pathable ( unsigned int  from,
unsigned int  to 
)

Definition at line 944 of file MapCliqueAbstraction.cpp.

References Pathable().

◆ RemoveEdge()

void MapCliqueAbstraction::RemoveEdge ( edge e,
unsigned int  absLevel 
)

◆ RemoveNode()

void MapCliqueAbstraction::RemoveNode ( node n)
virtual

◆ removeNodeFromRepairQ()

void MapCliqueAbstraction::removeNodeFromRepairQ ( node n)
protected

Definition at line 1024 of file MapCliqueAbstraction.cpp.

References graph_object::key, and modifiedNodeQ.

Referenced by RemoveNode().

◆ renameNodeInAbstraction()

void MapCliqueAbstraction::renameNodeInAbstraction ( node which,
unsigned int  oldID 
)
protected

◆ RepairAbstraction()

void MapCliqueAbstraction::RepairAbstraction ( )

◆ resetLocationCache()

void MapCliqueAbstraction::resetLocationCache ( node n)
protected

◆ splitNode()

void MapCliqueAbstraction::splitNode ( node which,
int  numGroups 
)
protected

◆ transferGroup()

void MapCliqueAbstraction::transferGroup ( int  group,
node oldParent,
node newParent 
)
protected

◆ VerifyHierarchy()

void MapCliqueAbstraction::VerifyHierarchy ( )
virtual

Member Data Documentation

◆ abstractUniformly

bool MapCliqueAbstraction::abstractUniformly
private

Definition at line 92 of file MapCliqueAbstraction.h.

Referenced by cliqueAbstractGraph().

◆ displayLists

std::vector<GLuint> MapCliqueAbstraction::displayLists
private

Definition at line 88 of file MapCliqueAbstraction.h.

Referenced by buildAbstractions(), cleanMemory(), and clearDisplayLists().

◆ modifiedNodeQ

std::vector<node *> MapCliqueAbstraction::modifiedNodeQ
private

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