Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::FastMultipoleEmbedder Class Reference

The fast multipole embedder approach for force-directed layout. More...

#include <ogdf/energybased/FastMultipoleEmbedder.h>

+ Inheritance diagram for ogdf::FastMultipoleEmbedder:

Public Member Functions

 FastMultipoleEmbedder ()
 constructor More...
 
 ~FastMultipoleEmbedder ()
 destructor More...
 
void call (const Graph &G, NodeArray< float > &nodeXPosition, NodeArray< float > &nodeYPosition, const EdgeArray< float > &edgeLength, const NodeArray< float > &nodeSize)
 Calls the algorithm for graph G with the given edgelength and returns the layout information in nodeXPosition, nodeYPosition. More...
 
virtual void call (GraphAttributes &GA) override
 Calls the algorithm for graph GA and returns the layout information in GA. More...
 
void call (GraphAttributes &GA, const EdgeArray< float > &edgeLength, const NodeArray< float > &nodeSize)
 Calls the algorithm for graph GA with the given edgeLength and returns the layout information in GA. More...
 
void setDefaultEdgeLength (float edgeLength)
 
void setDefaultNodeSize (float nodeSize)
 
void setMultipolePrec (uint32_t precision)
 sets the number of coefficients for the expansions. default = 4 More...
 
void setNumberOfThreads (uint32_t numThreads)
 
void setNumIterations (uint32_t numIterations)
 sets the maximum number of iterations More...
 
void setRandomize (bool b)
 if true, layout algorithm will randomize the layout in the beginning 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...
 

Private Types

using ArrayGraph = fast_multipole_embedder::ArrayGraph
 
using FMEGlobalContext = fast_multipole_embedder::FMEGlobalContext
 
using FMEGlobalOptions = fast_multipole_embedder::FMEGlobalOptions
 
using FMESingleKernel = fast_multipole_embedder::FMESingleKernel
 
using FMEThreadPool = fast_multipole_embedder::FMEThreadPool
 

Private Member Functions

void allocate (uint32_t numNodes, uint32_t numEdges)
 allocates the memory More...
 
void deallocate ()
 frees the memory More...
 
void initOptions ()
 
void run (uint32_t numIterations)
 runs the simulation with the given number of iterations More...
 
void runMultipole ()
 
void runSingle ()
 

Private Attributes

float m_defaultEdgeLength
 
float m_defaultNodeSize
 
uint32_t m_maxNumberOfThreads
 
uint32_t m_numberOfThreads
 
uint32_t m_numIterations
 
ArrayGraphm_pGraph
 
FMEGlobalOptionsm_pOptions
 
uint32_t m_precisionParameter
 
bool m_randomize
 
FMEThreadPoolm_threadPool
 

Detailed Description

The fast multipole embedder approach for force-directed layout.

Definition at line 52 of file FastMultipoleEmbedder.h.

Member Typedef Documentation

◆ ArrayGraph

◆ FMEGlobalContext

◆ FMEGlobalOptions

◆ FMESingleKernel

◆ FMEThreadPool

Constructor & Destructor Documentation

◆ FastMultipoleEmbedder()

ogdf::FastMultipoleEmbedder::FastMultipoleEmbedder ( )

constructor

◆ ~FastMultipoleEmbedder()

ogdf::FastMultipoleEmbedder::~FastMultipoleEmbedder ( )

destructor

Member Function Documentation

◆ allocate()

void ogdf::FastMultipoleEmbedder::allocate ( uint32_t  numNodes,
uint32_t  numEdges 
)
private

allocates the memory

◆ call() [1/3]

void ogdf::FastMultipoleEmbedder::call ( const Graph G,
NodeArray< float > &  nodeXPosition,
NodeArray< float > &  nodeYPosition,
const EdgeArray< float > &  edgeLength,
const NodeArray< float > &  nodeSize 
)

Calls the algorithm for graph G with the given edgelength and returns the layout information in nodeXPosition, nodeYPosition.

◆ call() [2/3]

virtual void ogdf::FastMultipoleEmbedder::call ( GraphAttributes GA)
overridevirtual

Calls the algorithm for graph GA and returns the layout information in GA.

Implements ogdf::LayoutModule.

◆ call() [3/3]

void ogdf::FastMultipoleEmbedder::call ( GraphAttributes GA,
const EdgeArray< float > &  edgeLength,
const NodeArray< float > &  nodeSize 
)

Calls the algorithm for graph GA with the given edgeLength and returns the layout information in GA.

◆ deallocate()

void ogdf::FastMultipoleEmbedder::deallocate ( )
private

frees the memory

◆ initOptions()

void ogdf::FastMultipoleEmbedder::initOptions ( )
private

◆ run()

void ogdf::FastMultipoleEmbedder::run ( uint32_t  numIterations)
private

runs the simulation with the given number of iterations

◆ runMultipole()

void ogdf::FastMultipoleEmbedder::runMultipole ( )
private

◆ runSingle()

void ogdf::FastMultipoleEmbedder::runSingle ( )
private

◆ setDefaultEdgeLength()

void ogdf::FastMultipoleEmbedder::setDefaultEdgeLength ( float  edgeLength)
inline

Definition at line 87 of file FastMultipoleEmbedder.h.

◆ setDefaultNodeSize()

void ogdf::FastMultipoleEmbedder::setDefaultNodeSize ( float  nodeSize)
inline

Definition at line 90 of file FastMultipoleEmbedder.h.

◆ setMultipolePrec()

void ogdf::FastMultipoleEmbedder::setMultipolePrec ( uint32_t  precision)
inline

sets the number of coefficients for the expansions. default = 4

Definition at line 81 of file FastMultipoleEmbedder.h.

◆ setNumberOfThreads()

void ogdf::FastMultipoleEmbedder::setNumberOfThreads ( uint32_t  numThreads)
inline

Definition at line 93 of file FastMultipoleEmbedder.h.

◆ setNumIterations()

void ogdf::FastMultipoleEmbedder::setNumIterations ( uint32_t  numIterations)
inline

sets the maximum number of iterations

Definition at line 78 of file FastMultipoleEmbedder.h.

◆ setRandomize()

void ogdf::FastMultipoleEmbedder::setRandomize ( bool  b)
inline

if true, layout algorithm will randomize the layout in the beginning

Definition at line 84 of file FastMultipoleEmbedder.h.

Member Data Documentation

◆ m_defaultEdgeLength

float ogdf::FastMultipoleEmbedder::m_defaultEdgeLength
private

Definition at line 131 of file FastMultipoleEmbedder.h.

◆ m_defaultNodeSize

float ogdf::FastMultipoleEmbedder::m_defaultNodeSize
private

Definition at line 133 of file FastMultipoleEmbedder.h.

◆ m_maxNumberOfThreads

uint32_t ogdf::FastMultipoleEmbedder::m_maxNumberOfThreads
private

Definition at line 137 of file FastMultipoleEmbedder.h.

◆ m_numberOfThreads

uint32_t ogdf::FastMultipoleEmbedder::m_numberOfThreads
private

Definition at line 135 of file FastMultipoleEmbedder.h.

◆ m_numIterations

uint32_t ogdf::FastMultipoleEmbedder::m_numIterations
private

Definition at line 119 of file FastMultipoleEmbedder.h.

◆ m_pGraph

ArrayGraph* ogdf::FastMultipoleEmbedder::m_pGraph
private

Definition at line 121 of file FastMultipoleEmbedder.h.

◆ m_pOptions

FMEGlobalOptions* ogdf::FastMultipoleEmbedder::m_pOptions
private

Definition at line 125 of file FastMultipoleEmbedder.h.

◆ m_precisionParameter

uint32_t ogdf::FastMultipoleEmbedder::m_precisionParameter
private

Definition at line 127 of file FastMultipoleEmbedder.h.

◆ m_randomize

bool ogdf::FastMultipoleEmbedder::m_randomize
private

Definition at line 129 of file FastMultipoleEmbedder.h.

◆ m_threadPool

FMEThreadPool* ogdf::FastMultipoleEmbedder::m_threadPool
private

Definition at line 123 of file FastMultipoleEmbedder.h.


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