|
@@ -325,12 +325,22 @@ public class LayeredNode implements LayeredGraphNode {
|
|
|
public ArrayList<LayeredGraphEdge> getOutgoingEdges() {
|
|
|
return parent.getOutgoingEdges( this );
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ArrayList<LayeredGraphEdge> getSortedOutgoingEdges() {
|
|
|
+ return parent.getSortedOutgoingEdges( this );
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
|
public ArrayList<LayeredGraphEdge> getIncomingEdges() {
|
|
|
return parent.getIncomingEdges( this );
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public ArrayList<LayeredGraphEdge> getSortedIncomingEdges() {
|
|
|
+ return parent.getSortedIncomingEdges( this );
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public ArrayList<LayeredGraphEdge> getContainedEdges() {
|
|
|
return edges;
|
|
@@ -378,6 +388,40 @@ public class LayeredNode implements LayeredGraphNode {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public ArrayList<LayeredGraphEdge> getSortedOutgoingEdges(LayeredGraphNode n) {
|
|
|
+ ArrayList<LayeredGraphEdge> result = new ArrayList<>();
|
|
|
+ if( n.getLayer() + 1 >= layers.size() )
|
|
|
+ return result;
|
|
|
+ ArrayList< LayeredGraphEdge > unsorted = getOutgoingEdges( n );
|
|
|
+ for( LayeredGraphNode node : layers.get( n.getLayer() + 1 ) )
|
|
|
+ {
|
|
|
+ for( LayeredGraphEdge e : unsorted )
|
|
|
+ {
|
|
|
+ if( e.getSources().contains( node ) )
|
|
|
+ result.add( e );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ArrayList<LayeredGraphEdge> getSortedIncomingEdges(LayeredGraphNode n) {
|
|
|
+ ArrayList<LayeredGraphEdge> result = new ArrayList<>();
|
|
|
+ if( n.getLayer() - 1 < 0 )
|
|
|
+ return result;
|
|
|
+ ArrayList< LayeredGraphEdge > unsorted = getIncomingEdges( n );
|
|
|
+ for( LayeredGraphNode node : layers.get( n.getLayer() - 1 ) )
|
|
|
+ {
|
|
|
+ for( LayeredGraphEdge e : unsorted )
|
|
|
+ {
|
|
|
+ if( e.getSources().contains( node ) )
|
|
|
+ result.add( e );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public LayeredGraphNode createNode(ElkNode original) {
|
|
|
LayeredGraphNode n = new LayeredNode( original, this );
|