See: Description
Interface | Description |
---|---|
IEdgeLabelLayout |
IEdgeLabelLayout defines the properties of one edge label from the perspective of a labeling algorithm. |
IEdgeLabelLayoutModel |
This interface defines the properties of the model associated with an
IEdgeLabelLayout . |
IEdgeLayout |
An
IEdgeLayout encapsulates the layout information for an edge. |
IGroupBoundsCalculator |
A
IGroupBoundsCalculator is responsible for calculating the bounds of a group node during a layout process. |
IIntersectionCalculator |
An
IIntersectionCalculator is responsible for calculating the intersection point between an edge and the visual
representation of its source or target node. |
ILabelLayout |
ILabelLayout defines the properties of a label from the perspective of a labeling algorithm. |
ILabelLayoutFactory |
ILabelLayoutFactory provides methods to create, add and remove node/edge labels for LayoutGraph s. |
ILayoutAlgorithm |
ILayoutAlgorithm describes the general interface for algorithms that perform a layout process on a
LayoutGraph . |
ILayoutStage |
A
ILayoutStage is a layout algorithm that represents a stage of a larger layout process. |
INodeLabelLayout |
INodeLabelLayout defines the properties of one node label from the perspective of a labeling algorithm. |
INodeLabelLayoutModel |
INodeLabelLayoutModel defines the properties of the model associated with a INodeLabelLayout . |
INodeLayout |
A
INodeLayout encapsulates the layout information for a node. |
IProfitModel |
A
IProfitModel ranks LabelCandidate s used for prioritizing certain label locations over others. |
PartitionLayout.IInterEdgeRouter |
An
PartitionLayout.IInterEdgeRouter is responsible for routing inter-edges. |
PartitionLayout.IPartitionFinder |
A
PartitionLayout.IPartitionFinder is responsible for partitioning the input graph. |
PartitionLayout.IPartitionPlacer |
A
PartitionLayout.IPartitionPlacer is responsible for arranging the graph partitions. |
PortCandidateSet.ICandidateMatcher | |
PortCandidateSet.IEntry |
This interface represents an entry of a
PortCandidateSet and provides access to the actual PortCandidate
instance and the maximum number of edges allowed to connect to it. |
Class | Description |
---|---|
AbstractLabelLayout |
AbstractLabelLayout is the default implementation of the ILabelLayout interface. |
AbstractLayoutStage |
Abstract base class implementing
ILayoutStage that handles the management of the
core layout algorithm . |
BendConverter |
BendConverter replaces edge bends with dummy nodes for the core layout algorithm . |
BufferedLayout |
A
BufferedLayout is a hull algorithm that invokes its core layout algorithm
on a copy of the input graph. |
ColumnDescriptor |
This class represents a column of a
partition grid structure. |
ComponentArrangementStyles | |
ComponentLayout |
A
ComponentLayout arranges the connected components of a graph. |
ComponentLayoutData |
Specifies custom data for the
ComponentLayout . |
CompositeLayoutData |
Combines several
LayoutData instances. |
CompositeLayoutStage |
CompositeLayoutStage allows for combining multiple ILayoutStage s. |
ContextItemMapping<TItem,TValue,TContext> |
Provides different ways to define a mapping from items to values that takes a context object into consideration, too.
|
CopiedLayoutGraph |
A
CopiedLayoutGraph is a LayoutGraph that serves as a copy of another graph with layout
information. |
CurveFittingLayoutStage |
CurveFittingLayoutStage fits a piecewise cubic bezier curve to given arbitrary edge paths. |
DataMapAdapter<K,V> | |
DataProviderAdapter<TKey,TValue> |
Wraps an
IMapper into an IDataProvider . |
DefaultLayoutGraph |
DefaultLayoutGraph is a default implementation of LayoutGraph which holds the complete layout
information about the graph and its elements. |
Direction |
Direction provides four main directions and some methods to work with them. |
DiscreteEdgeLabelLayoutModel |
DiscreteEdgeLabelLayoutModel describes the placement of rotated labels at some predefined positions along the
edge. |
DiscreteEdgeLabelPositions | |
DiscreteNodeLabelLayoutModel |
DiscreteNodeLabelLayoutModel allows placing labels at eight positions around a node and at nine positions inside
the node. |
DiscreteNodeLabelPositions | |
DpKeyItemCollection<T> |
An item collection that allows to specify the data provider key the collection is registered with.
|
EdgeBundleDescriptor |
An
EdgeBundleDescriptor defines the bundling settings of an edge. |
EdgeBundling |
An
EdgeBundling instance defines if and how the edges of a graph should be bundled by a
layout algorithm , given that the algorithm supports edge bundling. |
EdgeLabelCandidate |
An
EdgeLabelCandidate describes one valid placement for an edge label considering the label model. |
EdgeLabelOrientationSupport |
EdgeLabelOrientationSupport provides orientation and mirroring support for layout algorithms
with integrated edge labeling. |
ExtendedEdgeLabelCandidate |
An
EdgeLabelCandidate that provides a candidate descriptor . |
ExtendedLabelCandidateProfitModel |
An
IProfitModel that returns the profit of a label candidate for instances of ExtendedNodeLabelCandidate
and ExtendedEdgeLabelCandidate . |
ExtendedNodeLabelCandidate |
A
NodeLabelCandidate that provides a candidate descriptor . |
FixGroupLayoutData |
Specifies custom data for the
FixGroupLayoutStage . |
FixGroupLayoutStage |
A
layout stage that can handle fixed nodes in hierarchically grouped graphs. |
FixNodeLayoutData |
Specifies custom data for the
FixNodeLayoutStage . |
FixNodeLayoutStage |
FixNodeLayoutStage fixes the initial position of either a single node or the alignment of the bounding
box of several nodes (but not the positions of the individual nodes). |
FixPortLocationStage |
FixPortLocationStage ensures that layout algorithms that cannot handle port constraints keep the ports of edges
with strong PortConstraint s. |
FreeEdgeLabelLayoutModel |
FreeEdgeLabelLayoutModel allows placing edge labels at any location. |
FreeEdgeLabelLayoutModel.ModelParameter |
This model parameter encodes a label position within
FreeEdgeLabelLayoutModel . |
FreeNodeLabelLayoutModel |
FreeNodeLabelLayoutModel allows placing node labels at any desired position. |
FreeNodeLabelLayoutModel.ModelParameter |
The model parameter that encodes a label position within
FreeNodeLabelLayoutModel . |
GraphLayoutLineWrapper |
GraphLayoutLineWrapper can line-wrap or column-wrap a graph layout. |
GraphTransformer |
This layout algorithm applies geometric transformations to (sub-)graphs.
|
GroupingKeys |
This interface defines
IDataProvider keys for those layout algorithms that can
handle hierarchically grouped graphs. |
GroupingSupport |
This class provides convenient and efficient access to the hierarchic graph structure.
|
HandleNaNCoordinatesStage |
A
ILayoutStage that temporarily removes all nodes and edges with NaN -coordinates. |
HideGroupsStage |
A
layout stage that hides the group nodes of hierarchically grouped graphs. |
InsetsGroupBoundsCalculator |
This
IGroupBoundsCalculator calculates the bounds of group nodes and allows to specify custom insets for each
group node. |
IntersectionCalculatorKeys |
Helper class that declares several keys for
IDataProvider that provide
IIntersectionCalculator . |
IsolatedGroupComponentLayout |
A special
ComponentLayout implementation that allows to lay out isolated subgraphs within a group as separate
components. |
ItemCollection<TItem> |
Provides different ways to define the items in a collection for use with
LayoutData . |
ItemMapping<TItem,TValue> |
Provides different ways to define a mapping from items to values for use with
LayoutData . |
LabelAngleOnRightSideOffsets |
Angle offset specifier for edge labels which expresses that no additional offset should be added to the angle.
|
LabelAngleOnRightSideRotations |
Angle interpretation specifier which expresses that the rotation angle should be interpreted clockwise.
|
LabelAngleReferences |
Angle interpretation specifier for edge labels which expresses that the rotation angle should be interpreted relative to
the edge slope.
|
LabelCandidate |
A
LabelCandidate describes one valid placement for a label considering the label model. |
LabelLayoutData |
LabelLayoutData encapsulates layout information for a label. |
LabelLayoutKeys |
LabelLayoutKeys are used for associating
IDataProvider s that contain label-specific information for edge and node
labels. |
LabelLayoutTranslator |
LabelLayoutTranslator automatically translates label layout information provided by the standard label layout
classes IEdgeLabelLayout and INodeLabelLayout to layout data of type LabelLayoutData that is
accessible by the keys defined in class LabelLayoutKeys . |
LabelPlacements | |
LabelSideReferences | |
LayoutData |
Base for convenience classes that specify custom data for a layout calculation done with the
LayoutExecutor . |
LayoutEventArgs |
This event argument is used by
LayoutFinished
event. |
LayoutExecutor |
Executes a
ILayoutAlgorithm and optionally animates the transition to the calculated layout. |
LayoutGraph |
A
LayoutGraph is a Graph with attached layout information that basically represents a drawing of a
graph. |
LayoutGraphAdapter |
Adapter class that can be used to obtain an
LayoutGraph from an IGraph . |
LayoutGraphUtilities |
The
LayoutGraphUtilities provides several helper and utility functions for LayoutGraph and the
layout algorithms . |
LayoutKeys |
Helper class that provides unique identifiers for some general purpose
data providers . |
LayoutMultiplexer |
A
LayoutMultiplexer delegates its layout calls to a core layout algorithm that is dynamically chosen at runtime
by inspecting the nodes of the input graph. |
MinimumNodeSizeStage |
MinimumNodeSizeStage enforces a given minimum width/height of the nodes of a graph during the layout process. |
MinimumSizeGroupBoundsCalculator |
This
IGroupBoundsCalculator allows custom insets for group nodes and guarantees that their provided minimum
sizes will be maintained. |
MirrorModes | |
MultiStageLayout |
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 algorithm itself. |
NodeHalo |
A
NodeHalo specifies a rectangular area around a specific node. |
NodeLabelCandidate |
A
NodeLabelCandidate describes one valid placement for a node label considering the label model. |
NormalizeGraphElementOrderStage |
NormalizeGraphElementOrderStage normalizes the order of the elements within a graph to ensure the same order for
multiple layout invocations. |
OrientationLayout |
OrientationLayout is a ILayoutStage that changes the orientation of the layout. |
ParallelEdgeRouter |
ParallelEdgeRouter is a ILayoutStage that routes parallel edges which connect the same pair of nodes in
a graph. |
ParallelEdgeRouterData |
Specifies custom data for the
ParallelEdgeRouter . |
PartitionCellId |
PartitionCellId represents an identifier for partition cells of a partition grid
structure. |
PartitionCellId.Cell |
This class represents a single partition cell, i.e., a pair consisting of a row and a column.
|
PartitionGrid |
This class represents a partition grid that partitions the drawing area into rectangular partition cells.
|
PartitionGridData |
Specifies a
PartitionGrid for a layout. |
PartitionLayout |
PartitionLayout provides a framework for layouts that are based on a divide and conquer approach. |
PartitionLayoutData |
Specifies custom data for the
PartitionLayout . |
PortCalculator |
PortCalculator adjusts the final port assignments after a layout has been calculated. |
PortCandidate |
This class represents a candidate port on which edges can be connected to their source and/or target node.
|
PortCandidateSet |
This class associates
PortCandidate s with the nodes of a graph. |
PortConstraint |
A
PortConstraint represents a constraint for the source or target port of an edge path. |
PortConstraintConfigurator |
The
PortConstraintConfigurator provides the possibility to create
PortConstraint s according to the initial connecting side of an edge. |
PortConstraintKeys |
PortConstraintKeys are used for associating DataProviders
that contain constraints for the edges of the input graph. |
PortDirections | |
PortPlacementStage |
The
PortPlacementStage assigns edges to the ports specified by PortConstraint s or PortCandidate s
after calling the core layout algorithm . |
PreferredPlacementDescriptor |
A
PreferredPlacementDescriptor provides placement information for automatic edge labeling. |
RecursiveGroupLayout |
This layout algorithm recursively traverses a hierarchically organized graph in a bottom-up fashion and applies a
specified layout algorithm to the contents (direct children) of each group node.
|
RecursiveGroupLayoutData |
Specifies custom data for the
RecursiveGroupLayout . |
RemoveCollinearBendsStage |
The
RemoveCollinearBendsStage removes all collinear bends found in a graph. |
ReverseEdgesStage |
ReverseEdgesStage selectively reverses 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. |
ReverseEdgesStageData |
Specifies custom data for the
ReverseEdgesStage . |
RowDescriptor |
This class represents a row of a
partition grid structure. |
SelfLoopRouter |
A
SelfLoopRouter routes the self-loops (reflexive edges) of a graph. |
SequentialLayout |
A
SequentialLayout allows for chaining multiple layout algorithms . |
SimpleProfitModel |
SimpleProfitModel implements the ranking for edge and node labels. |
SingleItemCollection<V> |
Provides different ways to define the items in a collection for use with
LayoutData , especially if the collection contains only one item. |
SliderEdgeLabelLayoutModel |
SliderEdgeLabelLayoutModel allows placement of labels at a set of continuous rotated positions along both sides
of an edge or directly on the edge path. |
SubgraphLayout |
A
SubgraphLayout is a ILayoutStage that filters out all graph elements that are not part of a specific
subgraph. |
Swimlanes |
Swimlanes provides helper classes and methods to handle swimlanes. |
Swimlanes.SwimlaneRepresentative |
A
SwimlaneRepresentative represents the position and arrangement mode for a swimlane. |
TableLayoutConfigurator |
Creates a
PartitionGrid that matches a given table configuration of an IGraph and registers IMapper
for that grid at the graph. |
YGraphAdapter |
Enum | Description |
---|---|
EdgeFlow | |
FixPointPolicy |
Fix point calculation policy specifying that the center of a rectangle containing all fixed nodes is considered
the fix point.
|
InterEdgeRoutingStyle | |
LayoutOrientation |
Orientation specifier which defines that the main layout orientation is from top to bottom.
|
MultiRowConstraint | |
NodeAlignment | |
OperationType | |
PortSide | |
RowAlignment |
Row alignment specifier which defines that each row will be aligned with its center.
|
SelfLoopStyle |
Self-loop style specifier which defines that the routes of self-loops are rounded.
|
SliderMode |
Slider mode specifier which describes continuous label positions directly on the edge path.
|
SwimlanesMode |
Provides essential classes and interfaces that constitute the infrastructure for automatic graph layout generation.
There are many classes that provide layout information for the graph or elements of the graph, e.g., LayoutGraph
, INodeLayout
, IEdgeLayout
or ILabelLayout
. They contain sizes and locations of the elements.
This package contains the abstract base class for the major layout algorithms in yFiles: MultiStageLayout
. It supports adding ILayoutStage
s to a layout algorithm that handle parts of the layout calculation. The ILayoutStage
s that are added by default as well as some other ILayoutStage
s are also provided by this package.
Aside from the layout information of the labels, there are some IEdgeLabelLayoutModel
s and INodeLabelLayoutModel
s that define valid locations for a label. This information can be used by generic labeling algorithms (e.g. GenericLabeling
). The label placement can also be configured using a PreferredPlacementDescriptor
, which is considered during integrated labeling.
To force edges to connect to specific ports, classes like PortConstraint
, PortCandidate
and PortCandidateSet
are provided.