Provides essential classes and interfaces that constitute the infrastructure for automatic graph layout generation.

The concept of layout stages is defined and several generically usable implementations thereof are provided.
Classes for labeling, the label models, and port constraints are also included.

Related Documentation

See the yFiles FLEX Developer's Guide (Analysis and Layout Part) chapter on Automatic Graph Layout for a complete discussion of the yFiles algorithms for graph layout, edge routing, and label placement.



Interfaces
 InterfaceDescription
 EdgeLabelLayout This interface defines the properties of one edge label from the perspective of a labeling algorithm.
 EdgeLabelModel This interface defines the properties of the model associated with an edge label layout.
 EdgeLayout This interface encapsulates the layout information for an edge.
 GraphLayout This interface defines the layout information of a graph.
 IntersectionCalculator Interface implemented by classes that are responsible for calculating the intersection point between an Edge and the visual representation of its source or target node.
 LabelLayout This interface defines the properties of one label from the perspective of a labeling algorithm.
 LabelLayoutFactory Factory that provides methods to create, add and remove node/edge labels for com.yworks.yfiles.layout.LayoutGraph s.
 Layouter This is a general interface for algorithms that perform a layout process on a given layout graph.
 LayoutStage Interface for a layouter that forms a stage of a larger layout process.
 NodeLabelLayout This interface defines the properties of one edge label from the perspective of a labeling algorithm.
 NodeLabelModel This interface defines the properties of the model associated with a node label layout.
 NodeLayout This interface describes the layout information for a node in the drawing of a graph.
 PartitionLayouter_InterEdgeRouter Implementations of this interface are responsible for routing inter-edges.
 PartitionLayouter_PartitionFinder Implementations of this interface are responsible to partition the input graph.
 PartitionLayouter_PartitionPlacer Implementations of this interface are responsible for arranging the graph partitions.
 PortCandidateSet_CandidateMatcher The interface that is used by com.yworks.yfiles.layout.PortCandidateSet to retrieve com.yworks.yfiles.layout.PortCandidate s from.
 PortCandidateSet_Entry An interface that is returned by the find methods in com.yworks.yfiles.layout.PortCandidateSet_CandidateMatcher and the com.yworks.yfiles.layout.PortCandidateSet.entries method.
 ProfitModel This is an interface for ranking LabelCandidates.
Classes
 ClassDescription
 AbstractLayoutStage Partial LayoutStage implementation that handles the management of the core layouter part.
 BendConverter This layout stage replaces bends with dummy nodes, calls the core layout algorithm and recreates the bends.
 BufferedLayouter A hull layouter that invokes another layout algorithm on a copy of its input graph.
 CanonicMultiStageLayouter An abstract base class for layout algorithms that provides services to simplify and decompose the input graph before it is passed to the core layout routine itself.
 ComponentLayouter This layout stage arranges the connected components of a graph.
 CompositeLayouter A layouter that allows to express a layout stage as a chain of more basic layout stages.
 CompositeLayoutStage A composite layout stage that allows to express a layout stage as a chain of more basic layout stages.
 CopiedLayoutGraph This is a LayoutGraph implementation that serves as a copy of another LayoutGraph or as copy of a combined GraphInterface and and GraphLayout interface implementation.
 DefaultEdgeLayout This class is a default implementation of the EdgeLayout interface.
 DefaultGraphLayout This class is a default implementation of the simple GraphLayout interface.
 DefaultLayoutGraph This class is a default implementation of the abstract class LayoutGraph.
 DefaultNodeLabelLayout This class is the default implementation for the NodeLabelLayout.
 DefaultNodeLayout This class is a default implementation of the NodeLayout interface.
 Direction Class that represents directions.
 DiscreteEdgeLabelLayoutModel An edge label model that allows placement of labels at some positions along an edge.
 DiscreteNodeLabelLayoutModel A node label model that allows placement of labels at eight positions around a node and at nine positions inside the node.
 EdgeLabelCandidate A candidate position for edge labels
 EdgeLabelLayoutImpl This class is an default implementation of the EdgeLabelLayout interface.
 EdgeLabelOrientationSupport Helper for layouter with integrated edge labeling to support orientation and mirroring.
 EdgeOppositeNodeLabelLayoutModel A node label model that sets the labels at the opposite side of the outgoing edges of a node.
 EdgeReversalStage A layout stage that can be used to (selectively) reverse edges in a graph while keeping the layout and label positions of the reversed edges as close to the pre-reversal layout and positions as possible.
 FixNodeLayoutStage Layout stage that can be used to fix the position of either a single node or the alignment of the bounding box of several nodes (but not the positions of the individual nodes).
 FreeEdgeLabelLayoutModel An edge label model that allows placement of labels at a fixed offset from the source intersection point of the node.
 FreeEdgeLabelLayoutModel_ModelParameter The model parameters for the FreeEdgeLabelModel.
 FreeNodeLabelLayoutModel A node label model that allows placement of labels at a fixed offset relative to the node's upper-left corner.
 FreeNodeLabelLayoutModel_ModelParameter The model parameter that encodes a node label position within FreeNodeLabelModel.
 GraphLayoutLineWrapper A layout stage that can be used to "line-wrap" or "column-wrap" a graph layout.
 IntersectionCalculatorKeys 
 KeepStrongPortConstraintsStage This layout stage ensures that layout algorithms that cannot handle port constraints keep the ports of edges with strong port constraints.
 LabelCandidate Base class for candidate positions for labels.
 LabelLayoutConstants This interface defines constants relevant for the automatic labeling process.
 LabelLayoutData This class encapsulates layout data for a label.
 LabelLayoutDataRefinement A layout stage that improves the placement of edge labels.
 LabelLayoutImpl This class is a default implementation of the LabelLayout interface.
 LabelLayoutKeys This interface provides label-specific keys that can be used to add data providers to a layout graph.
 LabelLayoutTranslator Layout stage that automatically translates label layout information provided by the standard label layout classes com.yworks.yfiles.layout.EdgeLabelLayout and com.yworks.yfiles.layout.NodeLabelLayout to layout data of type com.yworks.yfiles.layout.LabelLayoutData that is accessible by the keys defined in class com.yworks.yfiles.layout.LabelLayoutKeys.
 LabelRanking Implements the ranking for edge and node labels for Graph2D.
 LayouterKeys 
 LayoutGraph This class represents a drawing of a graph.
 LayoutGraphCopyFactory An implementation of the copy factory interface used by com.yworks.yfiles.util.GraphCopier that can be used by implementations of com.yworks.yfiles.layout.LayoutGraph.
 LayoutGraphCopyFactory_HierarchicGraphCopyFactory An implementation of the copy factory interface used by com.yworks.yfiles.util.GraphCopier that can be used by implementations of com.yworks.yfiles.layout.LayoutGraph that are hierarchically grouped using com.yworks.yfiles.layout.grouping.GroupingKeys.
 LayoutMultiplexer This class delegates its layout calls to a core layout algorithm that is dynamically chosen at runtime by inspecting the nodes of the input graph.
 LayoutOrientation Defines some layout orientation specifiers that are used to inform a layouter which general orientation a layout should express.
 LayoutTool This class is a container for several helper and utility functions for the LayoutGraph class.
 MinNodeSizeStage This layout stage enforces a given minimum width/height of the nodes of a graph during the layout process.
 NodeHalo A NodeHalo object specifies a rectangular area around a specific node.
 NodeLabelCandidate This class represents a candidate position for label associated to a node in a graph.
 NodeLabelLayoutImpl This class is an default implementation of the NodeLabelLayout interface.
 NormalizingGraphElementOrderStage Layout stage that can be used to normalize the order of the elements within a graph.
 OrientationLayouter A layout stage that performs changes the orientation of the layout that another algorithm calculates.
 OrientationLayouter_Transformer Class that provides a method for transferring a point to its final position.
 ParallelEdgeLayouter A layout algorithm that routes parallel edges (edges that connect the same pair of nodes) of a graph.
 PartitionLayouter This layout stage provides a framework for layouts that are based on a divide and conquer approach.
 PartitionLayouter_ChannelInterEdgeRouter InterEdgeRouter implementation that routes inter-edges using com.yworks.yfiles.layout.router.ChannelEdgeRouter.
 PartitionLayouter_ComponentPartitionPlacer PartitionPlacer implementation that uses com.yworks.yfiles.layout.ComponentLayouter to place the partitions.
 PartitionLayouter_EdgeBetweennessPartitionFinder PartitionFinder implementation that uses com.yworks.yfiles.algo.Groups.edgeBetweennessClustering() as partition strategy.
 PartitionLayouter_OrthogonalInterEdgeRouter InterEdgeRouter implementation that routes inter-edges using com.yworks.yfiles.layout.router.OrthogonalEdgeRouter.
 PartitionLayouter_PolylineInterEdgeRouter InterEdgeRouter implementation that routes inter-edges using com.yworks.yfiles.layout.router.polyline.EdgeRouter.
 PortCalculator This class implements a LayoutStage that can be used to adjust the final port assignments after a layout has been calculated.
 PortCandidate This class represents a candidate for an edge's ports.
 PortCandidateAssignmentStage LayoutStage that assigns edges to the ports specified by com.yworks.yfiles.layout.PortConstraint s or com.yworks.yfiles.layout.PortCandidate s after calling the core layout.
 PortCandidateSet This class describes a set of possible com.yworks.yfiles.layout.PortCandidate s and their cardinality for a node-like entity.
 PortConstraint This class represents a constraint for either a source or target port of an edge.
 PortConstraintConfigurator Provides configuration services for the port constraints of a graph.
 PortConstraintEnforcementStage This layout stage can be used to enforce that a layout algorithm will not change the relative coordinates of ports that are associated with a strong/fixed port constraint.
 PortConstraintKeys This interface defines keys used to associate DataProviders (com.yworks.yfiles.base.DataProvider) that provide port constraints for all edges of the input graph.
 PreferredPlacementDescriptor A descriptor that holds preferred placement information for automatic edge labeling.
 RemoveColinearBendsStage This LayoutStage removes all collinear bends found in the graph.
 RotatedDiscreteEdgeLabelLayoutModel An rotated edge label model that allows placement of rotated labels at some positions along an edge.
 RotatedSliderEdgeLabelLayoutModel An edge label model that allows placement of labels at a set of continuous positions along both sides of an edge or directly on the edge path.
 SelfLoopLayouter A layout algorithm that routes the self-loops (reflexive edges) of a graph.
 SequentialLayouter This Layouter will take several com.yworks.yfiles.layout.Layouter implementations and will run these layout algorithms one after the other in the order in which they were added.
 SliderEdgeLabelLayoutModel An edge label model that allows placement of labels at a set of continuous positions along both sides of an edge or directly on the edge path.
 SliderEdgeLabelLayoutModel_ModelParameter Encodes the model parameters for the two slider edge label models specified by com.yworks.yfiles.layout.SliderEdgeLabelLayoutModel.CENTER_SLIDER and com.yworks.yfiles.layout.SliderEdgeLabelLayoutModel.SIDE_SLIDER.
 SubgraphLayouter A layout stage that filters out all graph elements that are not part of a subgraph that is induced by the selected nodes of the input graph.
 Swimlanes Helper class for swimlanes.
 Swimlanes_SwimlaneRepresentant Class that internally represents a swim lane.