xc
|
#include <Vertex.h>
Public Member Functions | |
Vertex (int tag=0, int ref=0, double weight=0, int color=0) | |
Constructor. More... | |
virtual void | setWeight (double newWeight) |
Assigns a weight to the vertex. | |
virtual void | setColor (int newColor) |
Assigns a color to the vertex. | |
virtual void | setTmp (int newTmp) |
To set the temporary variable of the vertex to newTmp . | |
virtual int | getRef (void) const |
Returns the vertices integer reference. | |
virtual double | getWeight (void) const |
Returns the weight of the vertex. | |
virtual int | getColor (void) const |
Returns the color of the vertex. | |
virtual int | getTmp (void) const |
Returns the vertices temporary variable. | |
virtual int | addEdge (int otherTag) |
Appends an edge to the vertex. More... | |
virtual int | getDegree (void) const |
Returns the vertex degree on the graph. | |
virtual const std::set< int > & | getAdjacency (void) const |
Return the adjacency list of the vertex in the graph. More... | |
virtual void | Print (std::ostream &os, int flag=0) |
Print stuff. More... | |
int | sendSelf (CommParameters &) |
Send vertex data. | |
int | recvSelf (const CommParameters &) |
Receives vertex data. | |
![]() | |
TaggedObject (int tag, CommandEntity *owr=nullptr) | |
Constructor. More... | |
virtual TaggedObject * | getCopy (void) const |
Virtual constructor. | |
void | assignTag (int newTag) |
Set tag (to be called from Python interface). | |
int | getTag (void) const |
Returns the tag associated with the object. | |
![]() | |
MovableObject (int classTag, int dbTag) | |
Constructor. More... | |
MovableObject (int classTag) | |
Constructor. More... | |
MovableObject (const MovableObject &) | |
Copy constructor. Doesn't copy the dbTag. | |
MovableObject & | operator= (const MovableObject &) |
Assignment operator. Doesn't copy the dbTag. | |
int | getClassTag (void) const |
Return the class identifier. | |
int | getDbTag (void) const |
Return the object identifier in the database. | |
int | getDbTag (CommParameters &) |
Return the object identifier in the database. | |
void | setDbTag (int dbTag) |
Sets the object identifier in the database. | |
void | setDbTag (CommParameters &) |
Sets the object identifier in the database if not already set. More... | |
virtual int | setParameter (const std::vector< std::string > &argv, Parameter ¶m) |
Sets the value param to the parameter argv . | |
virtual int | updateParameter (int parameterID, Information &info) |
Updates the parameter identified by parameterID with info . | |
virtual int | activateParameter (int parameterID) |
Activates the parameter identified by parameterID . | |
virtual int | setVariable (const std::string &variable, Information &) |
Set the value of the variable idenfified by var . | |
virtual int | getVariable (const std::string &variable, Information &) |
Return the value of the variable idenfified by var . | |
![]() | |
DistributedBase (void) | |
Constructor. | |
virtual DbTagData & | getDbTagData (void) const |
Returns a vector to store class dbTags. | |
const int & | getDbTagDataPos (const int &i) const |
Returns the data at the i-th position. | |
void | setDbTagDataPos (const int &i, const int &v) |
Sets the data at the i-th position. | |
void | inicComm (const int &dataSize) const |
Initializes communication. | |
Protected Member Functions | |
int | sendData (CommParameters &) |
Send object members through the channel being passed as parameter. | |
int | recvData (const CommParameters &) |
Receives object members through the channel being passed as parameter. | |
![]() | |
void | setTag (int newTag) |
Set tag. More... | |
Vertex of a graph.
Vertex is the abstraction of a vertex in a graph. It has a color, weight and a temporary integer value associated with it. Also associated with it is an integer reference, which can be used to identify an object of some type the vertex is representing and in integer temporary variable for algorithms which work with graphs.
XC::Vertex::Vertex | ( | int | tag = 0 , |
int | ref = 0 , |
||
double | weight = 0 , |
||
int | color = 0 |
||
) |
Constructor.
To construct a Vertex whose tag, reference, weight and color are as given by the arguments. The degree of the vertex is set to \(0\). The integer tag
is passed to the TaggedObject classes constructor.
|
virtual |
Appends an edge to the vertex.
If the adjacency list for that vertex does not already contain {otherTag}, otherTag
is added to the adjacency list and the degree of the vertex is incremented by \(1\). Returns a \(0\) if sucessfull, a \(1\) if edge already existed and a negative number if not. Note that no check is done by the vertex to see that a vertex with otherTag
exists in the graph. The adjacency list for a Vertex is stored in an ID object containing the adjacent Vertices tags. A check is made to see if otherTag
is in this ID using getLocation(), if it needs to be added the {[degree]} operator is invoked on the ID.
|
virtual |
Return the adjacency list of the vertex in the graph.
Returns the vertices adjacency list, this is returned as an ID whose components are tags for vertices which have been successfully added.
|
virtual |
Print stuff.
Prints the vertex. If the {flag = 0} only the vertex tag and adjacency list is printed. If the {flag =1} the vertex tag, weight and adjacency are printed. If the {flag =2} the vertex tag, color and adjacency are printed. If the {flag =3} the vertex tag, weight, color and adjacency are printed.
Reimplemented from XC::TaggedObject.