68 #include "utility/actor/actor/MovableObject.h" 69 #include "utility/tagged/storage/ArrayOfTaggedObjects.h" 70 #include "solution/graph/graph/VertexIter.h" 75 class TaggedObjectStorage;
77 class FEM_ObjectBroker;
102 void inic(
const size_t &);
103 void copy(
const Graph &other);
108 Graph(
int numVertices= 32);
112 virtual bool addVertex(
const Vertex &vertexPtr,
bool checkAdjacency =
true);
113 virtual int addEdge(
int vertexTag,
int otherVertexTag);
121 virtual bool removeVertex(
int tag,
bool removeEdgeFlag =
true);
122 const Vertex *BuscaRef(
int ref)
const;
123 void getBand(
int &,
int &)
const;
130 virtual void Print(std::ostream &os,
int flag =0)
const;
134 friend std::ostream &operator<<(std::ostream &,
const Graph &);
137 std::ostream &operator<<(std::ostream &,
const 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:80
int sendData(Communicator &)
Send object members through the communicator argument.
Definition: Graph.cpp:475
Communication parameters between processes.
Definition: Communicator.h:66
Object that can move between processes.
Definition: MovableObject.h:100
Graph & operator=(const Graph &other)
Assignment operator.
Definition: Graph.cpp:127
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:92
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 recvSelf(const Communicator &)
Receives object through the communicator argument.
Definition: Graph.cpp:509
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:435
int recvData(const Communicator &)
Receives object members through the communicator argument.
Definition: Graph.cpp:484
virtual int getNumVertex(void) const
Return the number of vertices in the graph.
Definition: Graph.cpp:293
virtual void Print(std::ostream &os, int flag=0) const
Prints the graph.
Definition: Graph.cpp:464
The Graph class provides the abstraction of a graph.
Definition: Graph.h:94
int sendSelf(Communicator &)
Sends object through the communicator argument.
Definition: Graph.cpp:493
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:410
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
Iterator over the vertices of the graph.
Definition: VertexIter.h:76
void getBand(int &, int &) const
Returns the ends of the bandwidth.
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