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

Vertex of a graph. More...

#include <Vertex.h>

Inheritance diagram for XC::Vertex:
Inheritance graph
[legend]
Collaboration diagram for XC::Vertex:
Collaboration graph
[legend]

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 setAdjacency (const std::set< int > &adj)
 
virtual void Print (std::ostream &os, int flag=0) const
 Print stuff. More...
 
int sendSelf (Communicator &)
 Send vertex data.
 
int recvSelf (const Communicator &)
 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.
 
boost::python::dict getPyDict (void) const
 Return a Python dictionary with the object members values.
 
void setPyDict (const boost::python::dict &)
 Set the values of the object members from a Python dictionary.
 
- Public Member Functions inherited from CommandEntity
 CommandEntity (CommandEntity *owr=nullptr)
 Default constructor.
 
CommandEntityOwner (void)
 Return a pointer to the object owner.
 
const CommandEntityOwner (void) const
 Return un puntero al objeto propietario de ESTE.
 
const StandardOutputWrappergetStandardOutputWrapper (void) const
 Return the regular output stream wrapper.
 
StandardOutputWrappergetStandardOutputWrapper (void)
 Return the regular output stream wrapper.
 
const std::string & getLogFileName (void) const
 Returns log file name.
 
void setLogFileName (const std::string &)
 Sets log file name.
 
const std::string & getErrFileName (void) const
 Returns err file name.
 
void setErrFileName (const std::string &)
 Sets error file name.
 
const std::string & getOutputFileName (void) const
 Returns regular output file name.
 
void setOutputFileName (const std::string &)
 Sets regular output file name.
 
boost::python::object evalPy (boost::python::object dict, const std::string &)
 Return the Python object that results from evaluating the argument.
 
boost::python::object execPy (boost::python::object dict, const std::string &)
 Return the Python objects that results from executing the code in the string argument.
 
boost::python::object execFilePy (boost::python::object dict, const std::string &)
 Return the Python object that results from executing the code in the file.
 
- Public Member Functions inherited from EntityWithProperties
 EntityWithProperties (EntityWithProperties *owr=nullptr)
 Default constructor.
 
void clearPyProps (void)
 Clear python properties map.
 
bool hasPyProp (const std::string &)
 Returns true if property exists.
 
boost::python::object getPyProp (const std::string &str)
 Return the Python object with the name being passed as parameter.
 
void setPyProp (std::string str, boost::python::object val)
 Sets/appends a value tho the Python object's dictionary.
 
void copyPropsFrom (const EntityWithProperties &)
 Copy the properties from the argument.
 
boost::python::list getPropNames (void) const
 Return the names of the object properties weightings.
 
const PythonDict & getPropertiesDict (void) const
 Return a std::map container with the properties of the object.
 
- Public Member Functions inherited from EntityWithOwner
 EntityWithOwner (EntityWithOwner *owr=nullptr)
 Default constructor.
 
 EntityWithOwner (const EntityWithOwner &)
 Copy constructor.
 
EntityWithOwneroperator= (const EntityWithOwner &)
 Assignment operator.
 
virtual bool operator== (const EntityWithOwner &) const
 Comparison operator.
 
virtual ~EntityWithOwner (void)
 Virtual destructor.
 
virtual std::string getClassName (void) const
 Returns demangled class name.
 
void set_owner (EntityWithOwner *owr)
 Assigns the owner of the object.
 
EntityWithOwnerOwner (void)
 
const EntityWithOwnerOwner (void) const
 
- 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 (Communicator &)
 Return the object identifier in the database.
 
void setDbTag (int dbTag)
 Sets the object identifier in the database.
 
void setDbTag (Communicator &)
 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 ~DistributedBase (void)
 Destructor.
 
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 (Communicator &)
 Send object members through the communicator argument.
 
int recvData (const Communicator &)
 Receives object members through the communicator argument.
 
- Protected Member Functions inherited from XC::TaggedObject
void setTag (int newTag)
 Set tag. More...
 
bool isEqual (const TaggedObject &) const
 Return true if both objects are equal.
 
- Protected Member Functions inherited from CommandEntity
template<class T >
void string_to (T &, const std::string &) const
 
- Protected Member Functions inherited from EntityWithProperties
bool isEqual (const EntityWithProperties &) const
 Return true if both objects are equal.
 
- Protected Member Functions inherited from EntityWithOwner
virtual bool isEqual (const EntityWithOwner &) const
 Return true if both objects are equal.
 

Additional Inherited Members

- Public Types inherited from EntityWithProperties
typedef std::map< std::string, boost::python::object > PythonDict
 
- Static Public Member Functions inherited from CommandEntity
static void resetStandardOutput (void)
 Reset the standard output streams to its defaults buffers.
 
- Static Public Member Functions inherited from EntityWithOwner
static int getVerbosityLevel (void)
 Get the value of the verbosity level.
 
static void setVerbosityLevel (const int &)
 Set the value of the verbosity level.
 
- Static Protected Member Functions inherited from CommandEntity
static CommandEntityentcmd_cast (boost::any &data)
 
- Static Protected Attributes inherited from EntityWithOwner
static int verbosity = 1
 Object that owns THIS ONE. 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 successful, 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 
) const
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: