|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
45 class GraphAttributes;
65 template<
typename TWeight>
80 std::string& error)
override {
81 return m_module->preconditionsOk(GA, stretch, error);
90 std::unique_ptr<SpannerModule<TWeight>>
m_module;
98 int64_t timeLeft = max(
getTimeLeft(),
static_cast<int64_t
>(0));
102 int bestSize = std::numeric_limits<int>::max();
107 if (bestSize == std::numeric_limits<int>::max()) {
124 if (bestSize == std::numeric_limits<int>::max()) {
141 for (
node n : G.nodes) {
148 (*m_inSpanner)[eOrig] =
true;
155 if (bestSize == std::numeric_limits<int>::max()) {
The namespace for all OGDF objects.
Stores additional attributes of a graph (like layout information).
bool isTimelimitEnabled()
A implementation-independed wrapper class to execute a spanner algorithm multiple times.
Includes declaration of graph class.
GraphCopySimple * m_spanner
virtual SpannerModule< TWeight >::ReturnType execute() override
Executes the core algorithm.
Copies of graphs with mapping between nodes and edges.
void setOriginalGraph(const Graph *G) override
Re-initializes the copy using G (which might be null), but does not create any nodes or edges.
const Graph & constGraph() const
Returns a reference to the associated graph.
Basic module for spanner algorithms.
virtual bool preconditionsOk(const GraphAttributes &GA, double stretch, std::string &error) override
const int m_maxIterations
int numberOfEdges() const
Returns the number of edges in the graph.
int getExecutedIterations()
Decralation of GraphElement and GraphList classes.
std::unique_ptr< SpannerModule< TWeight > > m_module
node newNode(node vOrig)
Creates a new node in the graph copy with original node vOrig.
Declaration of graph copy classes.
Data type for general directed graphs (adjacency list representation).
Interface for spanner algorithms.
SpannerIteratedWrapper(SpannerModule< TWeight > *module, int maxIterations)
Initializes the wrapper.
void clear() override
Removes all nodes and edges from this copy but does not break the link with the original graph.
internal::GraphObjectContainer< EdgeElement > edges
The container containing all edge objects.
const GraphAttributes * m_GA
Class for the representation of edges.
EdgeArray< bool > * m_inSpanner
ReturnType
The return type of a module.
Class for the representation of nodes.
edge newEdge(edge eOrig)
Creates a new edge in the graph copy with original edge eOrig.
const Graph & original() const
Returns a reference to the original graph.
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.