Eclipse Layout Kernel Documentation

FDP


Identifier: org.eclipse.elk.graphviz.fdp
Meta Data Provider: layouter.GraphvizMetaDataProvider

Description

Spring model layouts similar to those of Neato, but does this by reducing forces rather than working with energy. Fdp implements the Fruchterman-Reingold heuristic including a multigrid solver that handles larger graphs and clustered undirected graphs.

Category: Force

Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984.

Supported Graph Features

Name Description
Self Loops Edges connecting a node with itself.
Multi Edges Multiple edges with the same source and target node.
Edge Labels Labels that are associated with edges.
Clusters Edges that connect nodes from different clusters, but not the cluster parent nodes.

Supported Options

Option Type Default Value Identifier
Adapt Port Positions boolean true org​.eclipse​.elk​.graphviz​.adaptPortPositions
Concentrate Edges boolean false org​.eclipse​.elk​.graphviz​.concentrate
Debug Mode boolean false org​.eclipse​.elk​.debugMode
Edge Label Spacing double 5 org​.eclipse​.elk​.spacing​.edgeLabel
Edge Routing EdgeRouting EdgeRouting.SPLINES org​.eclipse​.elk​.edgeRouting
Interactive boolean false org​.eclipse​.elk​.interactive
Label Angle double -25 org​.eclipse​.elk​.graphviz​.labelAngle
Label Distance double 1 org​.eclipse​.elk​.graphviz​.labelDistance
Max. Iterations int 600 org​.eclipse​.elk​.graphviz​.maxiter
Node Size Constraints EnumSet<SizeConstraint> EnumSet.noneOf(SizeConstraint) org​.eclipse​.elk​.nodeSize​.constraints
Node Size Options EnumSet<SizeOptions> EnumSet.of(SizeOptions.DEFAULT_MINIMUM_SIZE, SizeOptions.APPLY_ADDITIONAL_PADDING) org​.eclipse​.elk​.nodeSize​.options
Node Spacing double 40 org​.eclipse​.elk​.spacing​.nodeNode
Overlap Removal OverlapMode OverlapMode.PRISM org​.eclipse​.elk​.graphviz​.overlapMode
Padding ElkPadding new ElkPadding(10) org​.eclipse​.elk​.padding
Separate Connected Components boolean false org​.eclipse​.elk​.separateConnectedComponents