OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Class representing node in undirected graph, used by Sloan profile optimizer. More...
#include <sloangraphnode.h>
Public Types | |
enum | SloanGraphNode_StatusType { Inactive, Preactive, Active, Postactive } |
Status type definition. More... | |
Public Member Functions | |
SloanGraphNode (SloanGraph *graph, int numOld) | |
Creates node belonging to given graph with given old number. More... | |
~SloanGraphNode () | |
Destructor. More... | |
void | addNeighbor (int neighbor) |
Add neighbouring node to corresponding list. More... | |
int | giveNewNumber () |
Returns new number of receiver. More... | |
int | giveOldNumber () |
Returns old number of receiver. More... | |
SloanGraphNode_StatusType | giveStatus () |
Returns receiver status. More... | |
int | giveDegree () |
Return the receiver's degree. More... | |
int | giveDistance () |
Returns distance of receiver. More... | |
int | givePriority () |
Returns priority of receiver. More... | |
std::list< int > & | giveNeighborList () |
Returns the neighbor list of receiver. More... | |
void | assignOldNumber () |
sets new number equal to old one. More... | |
void | setDistance (int d) |
Sets the receiver distance to given number. More... | |
void | setPriority (int p) |
Sets the receiver priority to given value. More... | |
void | setStatus (SloanGraphNode_StatusType s) |
Sets the status of receiver to given value. More... | |
void | setNewNumber (int n) |
Sets the new number of receiver. More... | |
void | increasePriorityBy (int p) |
Increases the priority of receiver by given value. More... | |
int | computeProfileHeight () |
Computes the profile height corresponding to receiver from current new and old numbers. More... | |
Private Attributes | |
SloanGraph * | graph |
Associated graph structure, to which node belongs. More... | |
int | NumberOld |
Old (original) number. More... | |
int | NumberNew |
New (optimized) number. More... | |
SloanGraphNode_StatusType | nodeStatus |
Status of node. More... | |
int | Degree |
Node degree (number of adjacent edges). More... | |
int | Distance |
Node distance. More... | |
int | Priority |
Node priority. More... | |
std::list< int > | neighborList |
List of neighbouring nodes (represent graph edges). More... | |
Class representing node in undirected graph, used by Sloan profile optimizer.
Node keeps its old and new number, status, degree, distance and corresponding priority. The list of neighbouring nodes is also kept.
Definition at line 52 of file sloangraphnode.h.
Status type definition.
Enumerator | |
---|---|
Inactive | |
Preactive | |
Active | |
Postactive |
Definition at line 56 of file sloangraphnode.h.
oofem::SloanGraphNode::SloanGraphNode | ( | SloanGraph * | graph, |
int | numOld | ||
) |
Creates node belonging to given graph with given old number.
Definition at line 43 of file sloangraphnode.C.
References Degree, Distance, graph, Inactive, nodeStatus, NumberNew, NumberOld, and Priority.
oofem::SloanGraphNode::~SloanGraphNode | ( | ) |
Destructor.
Definition at line 54 of file sloangraphnode.C.
void oofem::SloanGraphNode::addNeighbor | ( | int | neighbor | ) |
Add neighbouring node to corresponding list.
The entry is added only if not exist before, the Degree member is updated accordingly.
Definition at line 57 of file sloangraphnode.C.
References Degree, and neighborList.
Referenced by oofem::SloanGraph::initialize().
|
inline |
sets new number equal to old one.
Definition at line 104 of file sloangraphnode.h.
int oofem::SloanGraphNode::computeProfileHeight | ( | ) |
Computes the profile height corresponding to receiver from current new and old numbers.
Definition at line 70 of file sloangraphnode.C.
References giveNewNumber(), oofem::SloanGraph::giveNode(), graph, oofem::min(), neighborList, and NumberNew.
|
inline |
Return the receiver's degree.
Definition at line 96 of file sloangraphnode.h.
Referenced by oofem::SloanGraph::extractCandidates(), oofem::SloanGraph::giveNodeWithMinDegree(), oofem::SloanGraph::initStatusAndPriority(), and oofem::SloanNodalDegreeOrderingCrit::operator()().
|
inline |
Returns distance of receiver.
Definition at line 98 of file sloangraphnode.h.
|
inline |
Returns the neighbor list of receiver.
Definition at line 102 of file sloangraphnode.h.
Referenced by oofem::SloanGraph::insertNeigborsOf(), and oofem::SloanGraph::modifyPriorityAround().
|
inline |
Returns new number of receiver.
Definition at line 90 of file sloangraphnode.h.
Referenced by computeProfileHeight(), and oofem::SloanGraph::writeRenumberingTable().
|
inline |
Returns old number of receiver.
Definition at line 92 of file sloangraphnode.h.
|
inline |
Returns priority of receiver.
Definition at line 100 of file sloangraphnode.h.
Referenced by oofem::SloanGraph::findTopPriorityInQueue().
|
inline |
Returns receiver status.
Definition at line 94 of file sloangraphnode.h.
Referenced by oofem::SloanGraph::assignNewNumbers(), oofem::SloanGraph::insertNeigborsOf(), and oofem::SloanGraph::modifyPriorityAround().
|
inline |
Increases the priority of receiver by given value.
Definition at line 115 of file sloangraphnode.h.
Referenced by oofem::SloanGraph::modifyPriorityAround().
|
inline |
Sets the receiver distance to given number.
Definition at line 107 of file sloangraphnode.h.
Referenced by oofem::SloanGraph::evaluateNodeDistances(), and oofem::SloanGraph::initStatusAndPriority().
|
inline |
Sets the new number of receiver.
Definition at line 113 of file sloangraphnode.h.
Referenced by oofem::SloanGraph::assignNewNumbers().
|
inline |
Sets the receiver priority to given value.
Definition at line 109 of file sloangraphnode.h.
Referenced by oofem::SloanGraph::initStatusAndPriority().
|
inline |
Sets the status of receiver to given value.
Definition at line 111 of file sloangraphnode.h.
Referenced by oofem::SloanGraph::assignNewNumbers(), oofem::SloanGraph::initStatusAndPriority(), oofem::SloanGraph::insertNeigborsOf(), and oofem::SloanGraph::modifyPriorityAround().
|
private |
Node degree (number of adjacent edges).
Definition at line 68 of file sloangraphnode.h.
Referenced by addNeighbor(), and SloanGraphNode().
|
private |
|
private |
Associated graph structure, to which node belongs.
Definition at line 60 of file sloangraphnode.h.
Referenced by computeProfileHeight(), and SloanGraphNode().
|
private |
List of neighbouring nodes (represent graph edges).
Definition at line 74 of file sloangraphnode.h.
Referenced by addNeighbor(), and computeProfileHeight().
|
private |
|
private |
New (optimized) number.
Definition at line 64 of file sloangraphnode.h.
Referenced by computeProfileHeight(), and SloanGraphNode().
|
private |
Old (original) number.
Definition at line 62 of file sloangraphnode.h.
Referenced by SloanGraphNode().
|
private |