Namespaces | |
| namespace | internal |
all operators will only be found when using sync_plan::internal, so no namespace pollution | |
| namespace | preprocess |
| Preprocessing functions for handling certain trivially (non)planar ClusterGraph configurations. | |
| namespace | spqr_utils |
Classes | |
| class | BiconnectedIsolation |
| Hides all (edges leading to) adjacent biconnected components without changing the current embedding. More... | |
| class | DoublePipeQueue |
| Base class for PipeQueues providing a "priority lane" for some pipes and sorting with different functions in both lanes/queues. More... | |
| class | NodeSPQRRotation |
| Derive embedding trees from an DynamicSPQRForest. Warning: breaks on certain parallel edge configurations! More... | |
| class | NodeSSPQRRotation |
| Derive embedding trees from Triconnectivity information. More... | |
| struct | Pipe |
| A pair of matched vertices of the same degree, whose rotation shall be synchronized. More... | |
| struct | PipeCmpPtr |
| A null-safe and priority aware comparator (wrapper) for pipes. More... | |
| struct | PipeQueue |
| A queue of all pipes, ordered by an arbitrary comparator function. More... | |
| struct | PipeQueueByDegree |
| PipeQueue yielding pipes in order of descending or ascending degree. More... | |
| struct | PipeQueueByDegreePreferContract |
| PipeQueue yielding contractable pipes first (or last), in order of descending (or ascending) degree. More... | |
| struct | PipeQueueRandom |
| PipeQueue yielding pipes in some random (but stable and deterministic) order. More... | |
| class | PMatching |
| Manages the matching of P-nodes via pipes in an instance of SyncPlan. More... | |
| class | QPartitioning |
| Manages the partitioning of Q-nodes in an instance of SyncPlan. More... | |
| class | SimplePipeQueue |
| PipeQueue CRTP base class for ordering pipes by some simple comparator function. More... | |
| struct | SimpleSPQRTree |
| Wrapper class around Triconnectivity information. More... | |
| class | SyncPlan |
| A class for modelling and solving Synchronized Planarity instances. More... | |
| class | SyncPlanComponents |
| (Bi)Connected components information maintained during the SyncPlan algorithm. More... | |
| class | SyncPlanConsistency |
| Consistency checks for debugging the SyncPlan algorithm. More... | |
| class | SyncPlanDrawer |
| Utilities by dumping a drawing of the current state of a SyncPlan instance. More... | |
Typedefs | |
| using | FrozenPipeBij = List< FrozenPipeBijPair > |
| using | FrozenPipeBijPair = std::pair< int, int > |
| template<typename Value , bool WithDefault = true> | |
| using | PartitionArray = RegisteredArray< QPartitioning, Value, WithDefault > |
RegisteredArray for labeling the partitions in a QPartitioning with an arbitrary Value. | |
| template<typename Value > | |
| using | PartitionArrayP = PartitionArray< std::unique_ptr< Value >, false > |
| Shorthand for PartitionArray storing std::unique_ptr<Value>. | |
| using | PipeBij = List< PipeBijPair > |
| using | PipeBijIterator = ZipIterator< ogdf::internal::GraphObjectContainer< AdjElement >::iterator, ogdf::internal::GraphObjectContainer< AdjElement >::reverse_iterator > |
| using | PipeBijPair = std::pair< adjEntry, adjEntry > |
| using | PipeBijRange = Range< PipeBijIterator > |
Enumerations | |
| enum class | Operation { ENCAPSULATE_CONTRACT , CONTRACT_BICON , PROPAGATE_CUT , PROPAGATE_BICON , SIMPLIFY_TERMINAL , SIMPLIFY_TRANSITIVE , SIMPLIFY_TOROIDAL , BATCH_SPQR } |
| The reduction operations (and their distinct cases) implemented by SyncPlan. More... | |
| enum class | PipeType { BlockBlock , BlockCut , CutCut } |
Functions | |
| bool | canPreprocessClusterGraph (const ogdf::ClusterGraph &C, const ogdf::Graph &G) |
| Check whether preprocessing would modify a graph. | |
| std::unique_ptr< std::pair< GraphCopy, GraphAttributes > > | drawClusterGraph (ClusterGraph &CG, GraphAttributes &GA, PlanarGridLayoutModule &layout, adjEntry adjExternal=nullptr) |
| Draw a graph using a given planar layout by turning its cluster borders into edges via planarizeClusterBorderCrossings() | |
| void | formatNode (node n, GraphAttributes *ga, int group) |
| Simple util for apply a default style to nodes, including a group-based coloring. | |
| void | freezePipeBijection (const PipeBij &in, FrozenPipeBij &out) |
| void | getFrozenPipeBijection (node u, node v, FrozenPipeBij &out) |
| PipeBijRange | getPipeBijection (node u, node v) |
| void | getPipeBijection (node u, node v, AdjEntryArray< adjEntry > &out) |
| void | getPipeBijection (node u, node v, EdgeArray< edge > &out) |
| void | getPipeBijection (node u, node v, PipeBij &out) |
| void | join (Graph &G, node u, node v, sync_plan::PipeBij &bij, const std::function< void(node)> &deleteNode, const std::function< void(edge)> &deleteEdge, List< bool > *reverse_v=nullptr) |
| void | join (Graph &G, node u, node v, sync_plan::PipeBij &bij, List< bool > *reverse_v=nullptr) |
| OGDF_DECLARE_COMPARER (FrozenPipeBijCmp, FrozenPipeBijPair, int, x.first) | |
| OGDF_DECLARE_COMPARER (PipeBijCmp, PipeBijPair, int, x.first->theEdge() ->index()) | |
| std::ostream & | operator<< (std::ostream &os, Operation op) |
| bool | preprocessClusterGraph (ogdf::ClusterGraph &C, ogdf::Graph &G) |
| Preprocess a ClusterGraph to remove trivially c-planar parts or isolate a trivially non-c-planar subgraph. | |
| std::pair< node, node > | split (Graph &G, sync_plan::PipeBij &bij, const EdgeArray< edge > *new_edges=nullptr, const EdgeArray< bool > *reverse_edges=nullptr, node src=nullptr, node tgt=nullptr) |
| void | styleClusterBorder (const ClusterGraph &CG, const EdgeArray< List< std::pair< adjEntry, cluster > > > &subdivisions, GraphAttributes &GA, const std::function< edge(edge)> &translate=[](edge e) -> edge { return e;}) |
| Properly style a cluster border inserted by planarizeClusterBorderCrossings() | |
| using ogdf::sync_plan::FrozenPipeBij = typedef List<FrozenPipeBijPair> |
Definition at line 51 of file Bijection.h.
| using ogdf::sync_plan::FrozenPipeBijPair = typedef std::pair<int, int> |
Definition at line 49 of file Bijection.h.
| using ogdf::sync_plan::PartitionArray = typedef RegisteredArray<QPartitioning, Value , WithDefault > |
RegisteredArray for labeling the partitions in a QPartitioning with an arbitrary Value.
Definition at line 42 of file QPartitioning.h.
| using ogdf::sync_plan::PartitionArrayP = typedef PartitionArray <std::unique_ptr<Value>, false> |
Shorthand for PartitionArray storing std::unique_ptr<Value>.
You may need to explicitly delete the copy constructor of classes containing a member of this type for MSVC<=16 (e.g. using OGDF_NO_COPY(MyClass)).
Definition at line 42 of file QPartitioning.h.
| using ogdf::sync_plan::PipeBij = typedef List<PipeBijPair> |
Definition at line 50 of file Bijection.h.
| using ogdf::sync_plan::PipeBijIterator = typedef ZipIterator<ogdf::internal::GraphObjectContainer<AdjElement>::iterator, ogdf::internal::GraphObjectContainer<AdjElement>::reverse_iterator> |
Definition at line 45 of file Bijection.h.
| using ogdf::sync_plan::PipeBijPair = typedef std::pair<adjEntry, adjEntry> |
Definition at line 48 of file Bijection.h.
| using ogdf::sync_plan::PipeBijRange = typedef Range<PipeBijIterator> |
Definition at line 47 of file Bijection.h.
|
strong |
The reduction operations (and their distinct cases) implemented by SyncPlan.
| Enumerator | |
|---|---|
| ENCAPSULATE_CONTRACT | |
| CONTRACT_BICON | |
| PROPAGATE_CUT | |
| PROPAGATE_BICON | |
| SIMPLIFY_TERMINAL | |
| SIMPLIFY_TRANSITIVE | |
| SIMPLIFY_TOROIDAL | |
| BATCH_SPQR | |
Definition at line 100 of file SyncPlan.h.
|
strong |
| Enumerator | |
|---|---|
| BlockBlock | |
| BlockCut | |
| CutCut | |
Definition at line 44 of file PMatching.h.
| bool ogdf::sync_plan::canPreprocessClusterGraph | ( | const ogdf::ClusterGraph & | C, |
| const ogdf::Graph & | G | ||
| ) |
Check whether preprocessing would modify a graph.
| std::unique_ptr< std::pair< GraphCopy, GraphAttributes > > ogdf::sync_plan::drawClusterGraph | ( | ClusterGraph & | CG, |
| GraphAttributes & | GA, | ||
| PlanarGridLayoutModule & | layout, | ||
| adjEntry | adjExternal = nullptr |
||
| ) |
Draw a graph using a given planar layout by turning its cluster borders into edges via planarizeClusterBorderCrossings()
| void ogdf::sync_plan::formatNode | ( | node | n, |
| GraphAttributes * | ga, | ||
| int | group | ||
| ) |
Simple util for apply a default style to nodes, including a group-based coloring.
| void ogdf::sync_plan::freezePipeBijection | ( | const PipeBij & | in, |
| FrozenPipeBij & | out | ||
| ) |
| void ogdf::sync_plan::getFrozenPipeBijection | ( | node | u, |
| node | v, | ||
| FrozenPipeBij & | out | ||
| ) |
| PipeBijRange ogdf::sync_plan::getPipeBijection | ( | node | u, |
| node | v | ||
| ) |
| void ogdf::sync_plan::getPipeBijection | ( | node | u, |
| node | v, | ||
| AdjEntryArray< adjEntry > & | out | ||
| ) |
| void ogdf::sync_plan::join | ( | Graph & | G, |
| node | u, | ||
| node | v, | ||
| sync_plan::PipeBij & | bij, | ||
| const std::function< void(node)> & | deleteNode, | ||
| const std::function< void(edge)> & | deleteEdge, | ||
| List< bool > * | reverse_v = nullptr |
||
| ) |
| void ogdf::sync_plan::join | ( | Graph & | G, |
| node | u, | ||
| node | v, | ||
| sync_plan::PipeBij & | bij, | ||
| List< bool > * | reverse_v = nullptr |
||
| ) |
| ogdf::sync_plan::OGDF_DECLARE_COMPARER | ( | FrozenPipeBijCmp | , |
| FrozenPipeBijPair | , | ||
| int | , | ||
| x. | first | ||
| ) |
| ogdf::sync_plan::OGDF_DECLARE_COMPARER | ( | PipeBijCmp | , |
| PipeBijPair | , | ||
| int | , | ||
| x.first-> | theEdge) ->index( | ||
| ) |
| std::ostream & ogdf::sync_plan::operator<< | ( | std::ostream & | os, |
| Operation | op | ||
| ) |
| bool ogdf::sync_plan::preprocessClusterGraph | ( | ogdf::ClusterGraph & | C, |
| ogdf::Graph & | G | ||
| ) |
Preprocess a ClusterGraph to remove trivially c-planar parts or isolate a trivially non-c-planar subgraph.
| std::pair< node, node > ogdf::sync_plan::split | ( | Graph & | G, |
| sync_plan::PipeBij & | bij, | ||
| const EdgeArray< edge > * | new_edges = nullptr, |
||
| const EdgeArray< bool > * | reverse_edges = nullptr, |
||
| node | src = nullptr, |
||
| node | tgt = nullptr |
||
| ) |
| void ogdf::sync_plan::styleClusterBorder | ( | const ClusterGraph & | CG, |
| const EdgeArray< List< std::pair< adjEntry, cluster > > > & | subdivisions, | ||
| GraphAttributes & | GA, | ||
| const std::function< edge(edge)> & | translate = [](edge e) -> edge { return e;} |
||
| ) |
Properly style a cluster border inserted by planarizeClusterBorderCrossings()