Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Simplify.h File Reference

Utilities for the SyncPlan::simplify() operation. More...

#include <ogdf/basic/Graph.h>
#include <ogdf/basic/List.h>
#include <ogdf/basic/Logger.h>
#include <ogdf/basic/SList.h>
#include <ogdf/cluster/sync_plan/SyncPlan.h>
#include <functional>
#include <iosfwd>

Go to the source code of this file.

Classes

class  ogdf::EdgeSet< SupportFastSizeQuery >
 Edge sets. More...
 
struct  ogdf::sync_plan::internal::FrozenSimplifyMapping
 
struct  ogdf::sync_plan::internal::SimplifyMapping
 
class  ogdf::sync_plan::internal::UndoSimplify
 

Namespaces

 ogdf
 The namespace for all OGDF objects.
 
 ogdf::pc_tree
 
 ogdf::sync_plan
 
 ogdf::sync_plan::internal
 all operators will only be found when using sync_plan::internal, so no namespace pollution
 

Functions

bool ogdf::sync_plan::internal::compareWithExhaustiveNodeDFS (Graph &G, adjEntry u_adj, node v, const EdgeSet<> &visited, const List< adjEntry > &found)
 Check that the method exhaustiveNodeDFS would return the same adjEntries as contained in found. More...
 
adjEntry ogdf::sync_plan::internal::continueNodeDFS (Graph &G, adjEntry u_adj, node v, EdgeSet<> &visited, List< adjEntry > &dfs_stack)
 Continue a DFS from the last node of dfs_stack until an unvisited edge incident to v is found. More...
 
int ogdf::sync_plan::internal::exhaustiveNodeDFS (Graph &G, adjEntry u_adj, node v, EdgeSet<> &visited, List< adjEntry > &out)
 Use a DFS to find all edges incident to v reachable from u_adj without crossing the node u and add them to out. More...
 
int ogdf::sync_plan::internal::findCycles (Graph &G, node u, const std::function< adjEntry(adjEntry)> &mapping, List< List< adjEntry >> &cycles, std::ostream &log)
 Find all cycles the permutation mapping defines on the order of the adjEntries of u and put all adjEntries of each cycle into their own list in cycles. More...
 
adjEntry ogdf::sync_plan::internal::startNodeDFS (Graph &G, adjEntry u_adj, node v, EdgeSet<> &visited, List< adjEntry > &dfs_stack)
 Use a DFS to find an edge incident to v reachable from u_adj without crossing the node u. More...
 
bool ogdf::sync_plan::internal::validateCollectedAdjs (node v, node u, List< SimplifyMapping > &bij_list, EdgeSet<> &visited, SyncPlanComponents &components)
 Check that /p bij_list contains all adjEntries of v which belong to a parallel bundle leading to u. More...
 
void ogdf::sync_plan::internal::validatePartnerPCTree (const NodePCRotation *u_pc, const NodePCRotation *v_pc)
 For two poles u,v of an (SPQR-Tree) parallel, check that their embedding PCTrees correctly represent all parallel bundles between u and v. More...
 

Detailed Description

Utilities for the SyncPlan::simplify() operation.

Author
Simon D. Fink ogdf@.nosp@m.niko.nosp@m..fink.nosp@m..bay.nosp@m.ern
License:
This file is part of the Open Graph Drawing Framework (OGDF).
Copyright (C)
See README.md in the OGDF root directory for details.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 2 or 3 as published by the Free Software Foundation; see the file LICENSE.txt included in the packaging of this file for details.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/copyleft/gpl.html

Definition in file Simplify.h.