67 #include "utility/actor/actor/MovableObject.h" 68 #include "utility/tagged/storage/ArrayOfTaggedObjects.h" 69 #include "solution/graph/graph/VertexIter.h" 74 class TaggedObjectStorage;
76 class FEM_ObjectBroker;
101 void inic(
const size_t &);
102 void copy(
const Graph &other);
107 Graph(
int numVertices= 32);
111 virtual bool addVertex(
const Vertex &vertexPtr,
bool checkAdjacency =
true);
112 virtual int addEdge(
int vertexTag,
int otherVertexTag);
120 virtual bool removeVertex(
int tag,
bool removeEdgeFlag =
true);
121 const Vertex *BuscaRef(
int ref)
const;
122 void getBand(
int &,
int &)
const;
129 virtual void Print(std::ostream &os,
int flag =0);
133 friend std::ostream &operator<<(std::ostream &,
Graph &);
136 std::ostream &operator<<(std::ostream &,
Graph &);
virtual bool addVertex(const Vertex &vertexPtr, bool checkAdjacency=true)
Appends a vertex to the graph.
Definition: Graph.cpp:146
Vertex of a graph.
Definition: Vertex.h:79
Object that can move between processes.
Definition: MovableObject.h:99
int recvSelf(const CommParameters &)
Receives object through the channel being passed as parameter.
Definition: Graph.cpp:507
Graph & operator=(const Graph &other)
Assignment operator.
Definition: Graph.cpp:127
int recvData(const CommParameters &)
Receives object members through the channel being passed as parameter.
Definition: Graph.cpp:482
virtual int getFreeTag(void)
Returns the siguiente identifier (tag) libre.
Definition: Graph.cpp:301
virtual int addEdge(int vertexTag, int otherVertexTag)
Adds an edge to the graph.
Definition: Graph.cpp:203
virtual int merge(Graph &other)
Mezcla los dos grafos.
Definition: Graph.cpp:334
ArrayOfTaggedObjects is a storage class.
Definition: ArrayOfTaggedObjects.h:91
Graph(int numVertices=32)
Constructor.
Definition: Graph.cpp:118
virtual VertexIter & getVertices(void)
Returns an iterator to the vertices of the graph.
Definition: Graph.cpp:285
int sendSelf(CommParameters &)
Sends object through the channel being passed as parameter.
Definition: Graph.cpp:491
virtual int getNumEdge(void) const
Return the number of edges in the graph.
Definition: Graph.cpp:297
int getVertexDiffExtrema(void) const
Returns the extreme (positive or negative) of the difference between vertices indexes.
Definition: Graph.cpp:433
virtual int getNumVertex(void) const
Return the number of vertices in the graph.
Definition: Graph.cpp:293
The Graph class provides the abstraction of a graph.
Definition: Graph.h:93
virtual void Print(std::ostream &os, int flag=0)
Prints the graph.
Definition: Graph.cpp:462
virtual bool removeVertex(int tag, bool removeEdgeFlag=true)
Removes from the graph the vertex identified by the tag being passed as parameter.
Definition: Graph.cpp:314
int getVertexDiffMaxima(void) const
Returns the maximum (positive) of the difference between vertices indexes.
Definition: Graph.cpp:409
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
Communication parameters between processes.
Definition: CommParameters.h:65
int sendData(CommParameters &)
Send object members through the channel being passed as parameter.
Definition: Graph.cpp:473
Iterator over the vertices of the graph.
Definition: VertexIter.h:75
void getBand(int &, int &) const
Returns the extremos del ancho de banda.
Definition: Graph.cpp:379
virtual Vertex * getVertexPtr(int vertexTag)
Returns a pointer to the vertex identified by the tag being passed as parameter.
Definition: Graph.cpp:257