Package org.eclipse.draw2d.graph
Class Edge
java.lang.Object
org.eclipse.draw2d.graph.Edge
A directed Edge joining a source and target Node. Edges indicate the
dependencies between nodes. An Edge provides the information needed to
perform a graph layout, and it stores the result of the layout in its various
field. Therefore, it functions both as input and output. The input data
consists of:
source
- the source Nodetarget
- the target Nodedelta
- the minimum number of rows the edge should spanweight
- a hint indicating this edge's importancewidth
- the edge's widthpadding
- the amount of space to leave on either side of the edge- [
offsetSource
] - the edge's attachment point at the source node - [
offsetTarget
] - the edge's attachment point at the target node
The output of a layout consists of bending longer edges, and potentially inverting edges to remove cycles in the graph. The output consists of:
vNodes
- the virtual nodes (if any) which make up the bendpointsisFeedback
-true
if the edge points backwards
- Since:
- 2.1.2
-
Field Summary
FieldsModifier and TypeFieldDescriptionAn arbitrary data field for use by clients.int
Deprecated.use accessors insteadDeprecated.usegetPoints()
boolean
Deprecated.INTERNAL field, use accessor method Indicates an edge was inverted during the layoutint
Deprecated.use accessors insteadint
Deprecated.use accessors insteadint
Deprecated.use accessors insteadThe source Node.Deprecated.usegetPoints()
The target Node.The virtual nodes used to bend edges which go across one or more ranks.int
A hint indicating how straight and short the edge should be relative to other edges in the graph.int
Deprecated.use accessors instead -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a new edge with the given data object, source, and target node.Constructs a new edge with the given source and target nodes.Constructs a new edge with the given source, target, delta, and weight. -
Method Summary
Modifier and TypeMethodDescriptionint
getDelta()
Returns the delta value.int
For internal use only.int
Returns the path connecting the edge's source and target.int
Returns the effective source offset for this edge.int
Returns the effective target offset for this edge.int
getWidth()
void
invert()
Swaps the source and target nodes.boolean
Returnstrue
if the edge was a feedback edge.For internal use only.void
setDelta
(int delta) Sets the delta value.void
setPadding
(int padding) Sets the padding for this edge.void
Sets the source node and adds this edge to the new source's outgoing edges.void
setSourceOffset
(int offset) void
Sets the target node and adds this edge to the new target's incoming edges.void
setTargetOffset
(int offset) void
setWidth
(int width) Sets the width of the edge.
-
Field Details
-
data
An arbitrary data field for use by clients. -
delta
Deprecated.use accessors insteadThe minimum rank separation between the source and target nodes. The default value is 1. -
end
Deprecated.usegetPoints()
The ending point. -
isFeedback
Deprecated.INTERNAL field, use accessor method Indicates an edge was inverted during the layout -
offsetSource
Deprecated.use accessors insteadThe edge's attachment point at the source node. The default value is -1, which indicates that the edge should use the node's defaultoutgoing
attachment point. -
offsetTarget
Deprecated.use accessors insteadThe edge's attachment point at the target node. The default value is -1, which indicates that the edge should use the node's defaultincoming
attachment point. -
padding
Deprecated.use accessors insteadThe minimum amount of space to leave on both the left and right sides of the edge. -
source
The source Node. -
start
Deprecated.usegetPoints()
The starting point. -
target
The target Node. -
vNodes
The virtual nodes used to bend edges which go across one or more ranks. Each virtual node is just a regular node which occupies some small amount of space on a row. It's width is equivalent to the edge's width. Clients can use each virtual node's location (x, y, width, and height) as the way to position an edge which spans multiple rows. -
weight
public int weightA hint indicating how straight and short the edge should be relative to other edges in the graph. The default value is1
. -
width
Deprecated.use accessors instead
-
-
Constructor Details
-
Edge
Constructs a new edge with the given source and target nodes. All other fields will have their default values.- Parameters:
source
- the source Nodetarget
- the target Node
-
Edge
Constructs a new edge with the given source, target, delta, and weight.- Parameters:
source
- the source Nodetarget
- the target Nodedelta
- the minimum edge spanweight
- the weight hint
-
Edge
Constructs a new edge with the given data object, source, and target node.- Parameters:
data
- an arbitrary data objectsource
- the source nodetarget
- the target node
-
-
Method Details
-
getDelta
public int getDelta()Returns the delta value. The delta is the minimum rank separation for the edge's source and target nodes.- Returns:
- the delta.
- Since:
- 3.2
-
getLength
public int getLength()For internal use only. Returns the target node's row minus the source node's row.- Returns:
- the distance from the source to target ranks
-
getPadding
public int getPadding() -
getPoints
Returns the path connecting the edge's source and target.- Returns:
- a point list
- Since:
- 3.2
-
getSourceOffset
public int getSourceOffset()Returns the effective source offset for this edge. The effective source offset is either theoffsetSource
field, or the source node's default outgoing offset if that field's value is -1.- Returns:
- the source offset
-
getTargetOffset
public int getTargetOffset()Returns the effective target offset for this edge. The effective target offset is either theoffsetTarget
field, or the target node's default incoming offset if that field's value is -1.- Returns:
- the target offset
-
getWidth
public int getWidth() -
invert
public void invert()Swaps the source and target nodes. If any positional data has been calculated, it is inverted as well to reflect the new direction.- Since:
- 2.1.2
-
isFeedback
public boolean isFeedback()Returnstrue
if the edge was a feedback edge. The layout algorithm may invert one or more edges to remove all cycles from the input. The set of edges that are inverted are referred to as the "feedback" set.- Returns:
true
if the edge is feedback- Since:
- 3.2
-
opposite
For internal use only. Returns the node opposite the given node on this edge.- Parameters:
end
- one end- Returns:
- the other end
-
setDelta
public void setDelta(int delta) Sets the delta value.- Parameters:
delta
- the new delta value- Since:
- 3.2
-
setPadding
public void setPadding(int padding) Sets the padding for this edge.- Parameters:
padding
- the padding- Since:
- 3.2
-
setSource
Sets the source node and adds this edge to the new source's outgoing edges. If the source node is previously set, removes this edge from the old source's outgoing edges.- Parameters:
node
- the new source- Since:
- 3.2
-
setSourceOffset
public void setSourceOffset(int offset) -
setTarget
Sets the target node and adds this edge to the new target's incoming edges. If the target node is previously set, removes this edge from the old target's incoming edges.- Parameters:
node
- the new target- Since:
- 3.2
-
setTargetOffset
public void setTargetOffset(int offset) -
setWidth
public void setWidth(int width) Sets the width of the edge.- Parameters:
width
- the new width- Since:
- 3.2
-