xc
Public Member Functions | Protected Member Functions | List of all members

Vertex of a graph. More...

#include <Vertex.h>

Inheritance diagram for XC::Vertex:
XC::TaggedObject XC::MovableObject XC::DistributedBase

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.
 
- Public Member Functions inherited from XC::TaggedObject
 TaggedObject (int tag, CommandEntity *owr=nullptr)
 Constructor. More...
 
virtual TaggedObjectgetCopy (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.
 
- Public Member Functions inherited from XC::MovableObject
 MovableObject (int classTag, int dbTag)
 Constructor. More...
 
 MovableObject (int classTag)
 Constructor. More...
 
 MovableObject (const MovableObject &)
 Copy constructor. Doesn't copy the dbTag.
 
MovableObjectoperator= (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 &param)
 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.
 
- Public Member Functions inherited from XC::DistributedBase
 DistributedBase (void)
 Constructor.
 
virtual DbTagDatagetDbTagData (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.
 
- Protected Member Functions inherited from XC::TaggedObject
void setTag (int newTag)
 Set tag. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

§ Vertex()

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.

Member Function Documentation

§ addEdge()

int XC::Vertex::addEdge ( int  otherTag)
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.

§ getAdjacency()

const std::set< int > & XC::Vertex::getAdjacency ( void  ) const
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.

§ Print()

void XC::Vertex::Print ( std::ostream &  s,
int  flag = 0 
)
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.


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