Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
ogdf::FixedEmbeddingInserter Class Reference

Inserts edges optimally into an embedding. More...

#include <ogdf/planarity/FixedEmbeddingInserter.h>

+ Inheritance diagram for ogdf::FixedEmbeddingInserter:

Public Member Functions

 FixedEmbeddingInserter ()
 Creates an instance of fixed embedding edge inserter with default settings.
 
 FixedEmbeddingInserter (const FixedEmbeddingInserter &inserter)
 Creates an instance of fixed embedding edge inserter with the same settings as inserter.
 
 ~FixedEmbeddingInserter ()
 Destructor.
 
virtual EdgeInsertionModuleclone () const override
 Returns a new instance of the fixed embedding inserter with the same option settings.
 
FixedEmbeddingInserteroperator= (const FixedEmbeddingInserter &inserter)
 Assignment operator. Copies option settings only.
 
Optional parameters
void removeReinsert (RemoveReinsertType rrOption)
 Sets the remove-reinsert postprocessing method.
 
RemoveReinsertType removeReinsert () const
 Returns the current setting of the remove-reinsert postprocessing method.
 
void percentMostCrossed (double percent)
 Sets the option percentMostCrossed to percent.
 
double percentMostCrossed () const
 Returns the current setting of option percentMostCrossed.
 
void keepEmbedding (bool keep)
 Sets the option keepEmbedding to keep.
 
bool keepEmbeding () const
 Returns the current setting of option keepEmbedding.
 
Further information
int runsPostprocessing () const
 Returns the number of runs performed by the remove-reinsert method after the algorithm has been called.
 
- Public Member Functions inherited from ogdf::EdgeInsertionModule
 EdgeInsertionModule ()
 Initializes an edge insertion module (default constructor).
 
 EdgeInsertionModule (const EdgeInsertionModule &eim)
 Initializes an edge insertion module (copy constructor).
 
virtual ~EdgeInsertionModule ()
 Destructor.
 
ReturnType call (PlanRepLight &pr, const Array< edge > &origEdges)
 Inserts all edges in origEdges into pr.
 
ReturnType call (PlanRepLight &pr, const EdgeArray< bool > &forbiddenOrig, const Array< edge > &origEdges)
 Inserts all edges in origEdges with given forbidden edges into pr.
 
ReturnType call (PlanRepLight &pr, const EdgeArray< int > &costOrig, const Array< edge > &origEdges)
 Inserts all edges in origEdges with given costs into pr.
 
ReturnType call (PlanRepLight &pr, const EdgeArray< int > &costOrig, const Array< edge > &origEdges, const EdgeArray< uint32_t > &edgeSubGraphs)
 Inserts all edges in origEdges with given costs and subgraphs (for simultaneous drawing) into pr.
 
ReturnType call (PlanRepLight &pr, const EdgeArray< int > &costOrig, const EdgeArray< bool > &forbiddenOrig, const Array< edge > &origEdges)
 Inserts all edges in origEdges with given costs and forbidden edges into pr.
 
ReturnType call (PlanRepLight &pr, const EdgeArray< int > &costOrig, const EdgeArray< bool > &forbiddenOrig, const Array< edge > &origEdges, const EdgeArray< uint32_t > &edgeSubGraphs)
 Inserts all edges in origEdges with given costs, forbidden edges, and subgraphs (for simultaneous drawing) into pr.
 
ReturnType callEx (PlanRepLight &pr, const Array< edge > &origEdges, const EdgeArray< int > *pCostOrig=nullptr, const EdgeArray< bool > *pForbiddenOrig=nullptr, const EdgeArray< uint32_t > *pEdgeSubGraphs=nullptr)
 Inserts all edges in origEdges into pr, optionally costs, forbidden edges, and subgraphs (for simultaneous drawing) may be given.
 
- Public Member Functions inherited from ogdf::Module
 Module ()
 Initializes a module.
 
virtual ~Module ()
 
- Public Member Functions inherited from ogdf::Timeouter
 Timeouter ()
 timeout is turned of by default
 
 Timeouter (bool t)
 timeout is turned off (false) or on (true) (with 0 second)
 
 Timeouter (const Timeouter &t)
 
 Timeouter (double t)
 timeout is set to the given value (seconds)
 
 ~Timeouter ()
 
bool isTimeLimit () const
 returns whether any time limit is set or not
 
Timeouteroperator= (const Timeouter &t)
 
double timeLimit () const
 returns the current time limit for the call
 
void timeLimit (bool t)
 shorthand to turn timelimit off or on (with 0 seconds)
 
void timeLimit (double t)
 sets the time limit for the call (in seconds); <0 means no limit.
 

Private Member Functions

virtual ReturnType doCall (PlanRepLight &pr, const Array< edge > &origEdges, const EdgeArray< int > *costOrig, const EdgeArray< bool > *pForbiddenOrig, const EdgeArray< uint32_t > *pEdgeSubGraphs) override
 Implements the algorithm call.
 

Private Attributes

bool m_keepEmbedding
 
double m_percentMostCrossed
 The portion of most crossed edges considered.
 
RemoveReinsertType m_rrOption
 The remove-reinsert method.
 
int m_runsPostprocessing
 Runs of remove-reinsert method.
 

Additional Inherited Members

- Public Types inherited from ogdf::Module
enum class  ReturnType { Feasible , Optimal , NoFeasibleSolution , TimeoutFeasible , TimeoutInfeasible , Error }
 The return type of a module. More...
 
- Static Public Member Functions inherited from ogdf::Module
static bool isSolution (ReturnType ret)
 Returns true iff ret indicates that the module returned a feasible solution.
 
- Protected Attributes inherited from ogdf::Timeouter
double m_timeLimit
 Time limit for module calls (< 0 means no limit).
 

Detailed Description

Inserts edges optimally into an embedding.

Iteratively inserts edges (optimally for each insertion step) into a possibly fixed embedding. Note that by default the embedding is not fixed and will be changed regardless of the input. If the input can be guaranteed to be a planar embedding you may flip keepEmbedding to preserve it.

Definition at line 48 of file FixedEmbeddingInserter.h.

Constructor & Destructor Documentation

◆ FixedEmbeddingInserter() [1/2]

ogdf::FixedEmbeddingInserter::FixedEmbeddingInserter ( )

Creates an instance of fixed embedding edge inserter with default settings.

◆ FixedEmbeddingInserter() [2/2]

ogdf::FixedEmbeddingInserter::FixedEmbeddingInserter ( const FixedEmbeddingInserter inserter)

Creates an instance of fixed embedding edge inserter with the same settings as inserter.

◆ ~FixedEmbeddingInserter()

ogdf::FixedEmbeddingInserter::~FixedEmbeddingInserter ( )
inline

Destructor.

Definition at line 57 of file FixedEmbeddingInserter.h.

Member Function Documentation

◆ clone()

virtual EdgeInsertionModule * ogdf::FixedEmbeddingInserter::clone ( ) const
overridevirtual

Returns a new instance of the fixed embedding inserter with the same option settings.

Implements ogdf::EdgeInsertionModule.

◆ doCall()

virtual ReturnType ogdf::FixedEmbeddingInserter::doCall ( PlanRepLight pr,
const Array< edge > &  origEdges,
const EdgeArray< int > *  costOrig,
const EdgeArray< bool > *  pForbiddenOrig,
const EdgeArray< uint32_t > *  pEdgeSubGraphs 
)
overrideprivatevirtual

Implements the algorithm call.

Implements ogdf::EdgeInsertionModule.

◆ keepEmbedding()

void ogdf::FixedEmbeddingInserter::keepEmbedding ( bool  keep)
inline

Sets the option keepEmbedding to keep.

This option determines if the planar embedding of the planarized representation PG passed to the call-method is preserved, or if always a new embedding is computed. If keepEmbedding is set to true, PG must always be planarly embedded.

Definition at line 96 of file FixedEmbeddingInserter.h.

◆ keepEmbeding()

bool ogdf::FixedEmbeddingInserter::keepEmbeding ( ) const
inline

Returns the current setting of option keepEmbedding.

Definition at line 99 of file FixedEmbeddingInserter.h.

◆ operator=()

FixedEmbeddingInserter & ogdf::FixedEmbeddingInserter::operator= ( const FixedEmbeddingInserter inserter)

Assignment operator. Copies option settings only.

◆ percentMostCrossed() [1/2]

double ogdf::FixedEmbeddingInserter::percentMostCrossed ( ) const
inline

Returns the current setting of option percentMostCrossed.

Definition at line 88 of file FixedEmbeddingInserter.h.

◆ percentMostCrossed() [2/2]

void ogdf::FixedEmbeddingInserter::percentMostCrossed ( double  percent)
inline

Sets the option percentMostCrossed to percent.

This option determines the portion of most crossed edges used if the remove-reinsert method is set to RemoveReinsertType::MostCrossed. This portion is number of edges * percentMostCrossed() / 100.

Definition at line 85 of file FixedEmbeddingInserter.h.

◆ removeReinsert() [1/2]

RemoveReinsertType ogdf::FixedEmbeddingInserter::removeReinsert ( ) const
inline

Returns the current setting of the remove-reinsert postprocessing method.

Definition at line 78 of file FixedEmbeddingInserter.h.

◆ removeReinsert() [2/2]

void ogdf::FixedEmbeddingInserter::removeReinsert ( RemoveReinsertType  rrOption)
inline

Sets the remove-reinsert postprocessing method.

This might alter the input embedding.

Definition at line 75 of file FixedEmbeddingInserter.h.

◆ runsPostprocessing()

int ogdf::FixedEmbeddingInserter::runsPostprocessing ( ) const
inline

Returns the number of runs performed by the remove-reinsert method after the algorithm has been called.

Definition at line 107 of file FixedEmbeddingInserter.h.

Member Data Documentation

◆ m_keepEmbedding

bool ogdf::FixedEmbeddingInserter::m_keepEmbedding
private

Definition at line 119 of file FixedEmbeddingInserter.h.

◆ m_percentMostCrossed

double ogdf::FixedEmbeddingInserter::m_percentMostCrossed
private

The portion of most crossed edges considered.

Definition at line 118 of file FixedEmbeddingInserter.h.

◆ m_rrOption

RemoveReinsertType ogdf::FixedEmbeddingInserter::m_rrOption
private

The remove-reinsert method.

Definition at line 117 of file FixedEmbeddingInserter.h.

◆ m_runsPostprocessing

int ogdf::FixedEmbeddingInserter::m_runsPostprocessing
private

Runs of remove-reinsert method.

Definition at line 121 of file FixedEmbeddingInserter.h.


The documentation for this class was generated from the following file: