Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::MultilevelLayoutModule Class Referenceabstract

Interface of general layout algorithms that also allow a MultilevelGraph as call parameter, extending the interface of a simple LayoutModule. More...

#include <ogdf/energybased/multilevel_mixer/MultilevelLayoutModule.h>

+ Inheritance diagram for ogdf::MultilevelLayoutModule:

Public Member Functions

 MultilevelLayoutModule ()
 Initializes a multilevel layout module. More...
 
virtual ~MultilevelLayoutModule ()
 
virtual void call (GraphAttributes &GA) override=0
 Computes a layout of graph GA. More...
 
virtual void call (MultilevelGraph &MLG)
 Computes a layout of graph MLG. More...
 
- Public Member Functions inherited from ogdf::LayoutModule
 LayoutModule ()
 Initializes a layout module. More...
 
virtual ~LayoutModule ()
 
void operator() (GraphAttributes &GA)
 Computes a layout of graph GA. More...
 

Detailed Description

Interface of general layout algorithms that also allow a MultilevelGraph as call parameter, extending the interface of a simple LayoutModule.

Definition at line 48 of file MultilevelLayoutModule.h.

Constructor & Destructor Documentation

◆ MultilevelLayoutModule()

ogdf::MultilevelLayoutModule::MultilevelLayoutModule ( )
inline

Initializes a multilevel layout module.

Definition at line 51 of file MultilevelLayoutModule.h.

◆ ~MultilevelLayoutModule()

virtual ogdf::MultilevelLayoutModule::~MultilevelLayoutModule ( )
inlinevirtual

Definition at line 53 of file MultilevelLayoutModule.h.

Member Function Documentation

◆ call() [1/2]

virtual void ogdf::MultilevelLayoutModule::call ( GraphAttributes GA)
overridepure virtual

Computes a layout of graph GA.

This method is the actual algorithm call and must be implemented by derived classes.

Parameters
GAis the input graph and will also be assigned the layout information.

Implements ogdf::LayoutModule.

Implemented in ogdf::PreprocessorLayout, and ogdf::ScalingLayout.

◆ call() [2/2]

virtual void ogdf::MultilevelLayoutModule::call ( MultilevelGraph MLG)
inlinevirtual

Computes a layout of graph MLG.

This method can be implemented optionally to allow a LayoutModule to modify the Graph. This allows some Layout Algorithms to save Memory, compared to a normal call(GA) DO NOT implement this if you are not sure whether this would save you Memory! This method only helps if the Graph is already in the MultiLevelGraph Format (or can be converted without creating a copy) AND the layout would need a copy otherwise. All Incremental Layouts (especially energy based) CAN be called by ModularMultilevelMixer. The standard implementation converts the MLG to GA and uses call(GA).

If implemented, the following Implementation of call(GA) is advised to ensure consistent behaviour of the two call Methods: void YourLayout::call(GraphAttributes &GA) { MultilevelGraph MLG(GA); call(MLG); MLG.exportAttributes(GA); }

Parameters
MLGis the input graph and will also be assigned the layout information.

Reimplemented in ogdf::PreprocessorLayout, and ogdf::ScalingLayout.

Definition at line 86 of file MultilevelLayoutModule.h.


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