Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

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

Edge insertion module that inserts each edge optimally into a fixed embedding. More...

#include <ogdf/uml/FixedEmbeddingInserterUML.h>

+ Inheritance diagram for ogdf::FixedEmbeddingInserterUML:

Public Member Functions

 FixedEmbeddingInserterUML ()
 Creates an instance of variable embedding edge inserter with default settings.
 
 FixedEmbeddingInserterUML (const FixedEmbeddingInserterUML &inserter)
 Creates an instance of fixed embedding edge inserter with the same settings as inserter.
 
 ~FixedEmbeddingInserterUML ()
 Destructor.
 
virtual UMLEdgeInsertionModuleclone () const override
 Returns a new instance of the fixed embedding inserter with the same option settings.
 
FixedEmbeddingInserterUMLoperator= (const FixedEmbeddingInserterUML &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.
 
- Public Member Functions inherited from ogdf::UMLEdgeInsertionModule
 UMLEdgeInsertionModule ()
 Initializes a UML edge insertion module (default constructor).
 
 UMLEdgeInsertionModule (const UMLEdgeInsertionModule &eim)
 Initializes a UML edge insertion module (copy constructor).
 
virtual ~UMLEdgeInsertionModule ()
 Destructor.
 
ReturnType call (PlanRepLight &pr, const Array< edge > &origEdges)
 Inserts all edges in origEdges into pr while avoiding crossings between generalizations.
 
ReturnType call (PlanRepLight &pr, const Array< edge > &origEdges, const EdgeArray< int > &costOrig)
 Inserts all edges in origEdges with given costs into pr while avoiding crossings between generalizations.
 
ReturnType callEx (PlanRepLight &pr, const Array< edge > &origEdges, const EdgeArray< int > *pCostOrig=nullptr, const EdgeArray< uint32_t > *pEdgeSubGraphs=nullptr)
 Inserts all edges in origEdges into pr while avoiding crossings between generalizations, optionally costs and subgraphs 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 > *pCostOrig, const EdgeArray< uint32_t > *pEdgeSubgraph) 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.
 

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

Edge insertion module that inserts each edge optimally into a fixed embedding.

Definition at line 40 of file FixedEmbeddingInserterUML.h.

Constructor & Destructor Documentation

◆ FixedEmbeddingInserterUML() [1/2]

ogdf::FixedEmbeddingInserterUML::FixedEmbeddingInserterUML ( )

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

◆ FixedEmbeddingInserterUML() [2/2]

ogdf::FixedEmbeddingInserterUML::FixedEmbeddingInserterUML ( const FixedEmbeddingInserterUML inserter)

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

◆ ~FixedEmbeddingInserterUML()

ogdf::FixedEmbeddingInserterUML::~FixedEmbeddingInserterUML ( )
inline

Destructor.

Definition at line 49 of file FixedEmbeddingInserterUML.h.

Member Function Documentation

◆ clone()

virtual UMLEdgeInsertionModule * ogdf::FixedEmbeddingInserterUML::clone ( ) const
overridevirtual

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

Implements ogdf::UMLEdgeInsertionModule.

◆ doCall()

virtual ReturnType ogdf::FixedEmbeddingInserterUML::doCall ( PlanRepLight pr,
const Array< edge > &  origEdges,
const EdgeArray< int > *  pCostOrig,
const EdgeArray< uint32_t > *  pEdgeSubgraph 
)
overrideprivatevirtual

Implements the algorithm call.

Implements ogdf::UMLEdgeInsertionModule.

◆ keepEmbedding()

void ogdf::FixedEmbeddingInserterUML::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 84 of file FixedEmbeddingInserterUML.h.

◆ keepEmbeding()

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

Returns the current setting of option keepEmbedding.

Definition at line 87 of file FixedEmbeddingInserterUML.h.

◆ operator=()

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

Assignment operator. Copies option settings only.

◆ percentMostCrossed() [1/2]

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

Returns the current setting of option percentMostCrossed.

Definition at line 76 of file FixedEmbeddingInserterUML.h.

◆ percentMostCrossed() [2/2]

void ogdf::FixedEmbeddingInserterUML::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 73 of file FixedEmbeddingInserterUML.h.

◆ removeReinsert() [1/2]

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

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

Definition at line 66 of file FixedEmbeddingInserterUML.h.

◆ removeReinsert() [2/2]

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

Sets the remove-reinsert postprocessing method.

Definition at line 63 of file FixedEmbeddingInserterUML.h.

Member Data Documentation

◆ m_keepEmbedding

bool ogdf::FixedEmbeddingInserterUML::m_keepEmbedding
private

Definition at line 98 of file FixedEmbeddingInserterUML.h.

◆ m_percentMostCrossed

double ogdf::FixedEmbeddingInserterUML::m_percentMostCrossed
private

The portion of most crossed edges considered.

Definition at line 97 of file FixedEmbeddingInserterUML.h.

◆ m_rrOption

RemoveReinsertType ogdf::FixedEmbeddingInserterUML::m_rrOption
private

The remove-reinsert method.

Definition at line 96 of file FixedEmbeddingInserterUML.h.


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