org.eclipse.elk.alg.layered.p2layers.StretchWidthLayerer.class Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of plantuml-epl Show documentation
Show all versions of plantuml-epl Show documentation
PlantUML is a component that allows to quickly write diagrams from text.
???? 7? 8org/eclipse/elk/alg/layered/p2layers/StretchWidthLayerer java/lang/Object %org/eclipse/elk/core/alg/ILayoutPhase widthCurrent D widthUp maxWidth currentGraph *Lorg/eclipse/elk/alg/layered/graph/LGraph; upperLayerInfluence sortedLayerlessNodes Ljava/util/List; Signature ;Ljava/util/List; alreadyPlacedNodes Ljava/util/Set; :Ljava/util/Set; alreadyPlacedInOtherLayers tempLayerlessNodes
successors LLjava/util/List;>; outDegree [I remainingOutGoing inDegree selectedNode )Lorg/eclipse/elk/alg/layered/graph/LNode; minimumNodeSize maximumNodeSize normSize [D dummySize ()V Code
( $ % * , .
0 2 1 com/google/common/collect/Sets 3 4
newHashSet ()Ljava/util/HashSet; 6 8 LineNumberTable LocalVariableTable this :Lorg/eclipse/elk/alg/layered/p2layers/StretchWidthLayerer; getLayoutProcessorConfiguration c(Lorg/eclipse/elk/alg/layered/graph/LGraph;)Lorg/eclipse/elk/core/alg/LayoutProcessorConfiguration; ?(Lorg/eclipse/elk/alg/layered/graph/LGraph;)Lorg/eclipse/elk/core/alg/LayoutProcessorConfiguration;
A C B 5org/eclipse/elk/core/alg/LayoutProcessorConfiguration D E create 9()Lorg/eclipse/elk/core/alg/LayoutProcessorConfiguration; G I H )org/eclipse/elk/alg/layered/LayeredPhases J K P1_CYCLE_BREAKING +Lorg/eclipse/elk/alg/layered/LayeredPhases; M O N Forg/eclipse/elk/alg/layered/intermediate/IntermediateProcessorStrategy P Q 'EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER HLorg/eclipse/elk/alg/layered/intermediate/IntermediateProcessorStrategy;
A S T U addBefore {(Ljava/lang/Enum;Lorg/eclipse/elk/core/alg/ILayoutProcessorFactory;)Lorg/eclipse/elk/core/alg/LayoutProcessorConfiguration; G W X K P2_LAYERING M Z [ Q LAYER_CONSTRAINT_PREPROCESSOR G ] ^ K P3_NODE_ORDERING M ` a Q LAYER_CONSTRAINT_POSTPROCESSOR graph process \(Lorg/eclipse/elk/alg/layered/graph/LGraph;Lorg/eclipse/elk/core/util/IElkProgressMonitor;)V f StretchWidth layering h j i -org/eclipse/elk/core/util/IElkProgressMonitor k l begin (Ljava/lang/String;F)Z
n p o (org/eclipse/elk/alg/layered/graph/LGraph q r getLayerlessNodes ()Ljava/util/List; t v u java/util/List w x isEmpty ()Z h z { % done } ? ? ?? ? ? ? ? 2org/eclipse/elk/alg/layered/options/LayeredOptions ? ? SPACING_EDGE_EDGE ,Lorg/eclipse/elk/graph/properties/IProperty;
n ? ? ? getProperty @(Lorg/eclipse/elk/graph/properties/IProperty;)Ljava/lang/Object; ? java/lang/Double
? ? ? ? doubleValue ()D ? #
? ? % computeSortedNodes
? ? % computeSuccessors
? ? % computeDegrees
? ? % minMaxNodeSize
? ? % computeNormalizedSize
? ? ? java/lang/Math ? ? max (DD)D
? ? ? getAverageOutDegree ()F ?
? 'org/eclipse/elk/alg/layered/graph/Layer
? ? $ ? -(Lorg/eclipse/elk/alg/layered/graph/LGraph;)V
n ? ? r getLayers t ? ? ? add (Ljava/lang/Object;)Z ?
? ? ? com/google/common/collect/Lists ? ? newArrayList +(Ljava/lang/Iterable;)Ljava/util/ArrayList; ? ?
? ? ? java/util/Arrays ? ? copyOf ([II)[I ?
? ? ?
selectNode +()Lorg/eclipse/elk/alg/layered/graph/LNode; ?
? ? x
conditionGoUp ? v ?
java/util/Set
? ? ? updateOutGoing ,(Lorg/eclipse/elk/alg/layered/graph/Layer;)V ? ? ? ? addAll (Ljava/util/Collection;)Z ? ? ? % clear t ?
? ? ? 'org/eclipse/elk/alg/layered/graph/LNode ? ? setLayer t ? ? ? remove ? ? ? ? ? ? id I ? ! " ?
? ? ? java/util/Collections reverse (Ljava/util/List;)V layeredGraph progressMonitor /Lorg/eclipse/elk/core/util/IElkProgressMonitor; currentLayer )Lorg/eclipse/elk/alg/layered/graph/Layer;
StackMapTable a Z b t
iterator ()Ljava/util/Iterator; java/util/Iterator next ()Ljava/lang/Object; x hasNext node
getRank >(Lorg/eclipse/elk/alg/layered/graph/LNode;)Ljava/lang/Integer;
java/lang/Integer!" intValue ()I$ :org/eclipse/elk/alg/layered/p2layers/StretchWidthLayerer$1
#& $' =(Lorg/eclipse/elk/alg/layered/p2layers/StretchWidthLayerer;)V
?)*+ sort )(Ljava/util/List;Ljava/util/Comparator;)V
unsortedNodes LocalVariableTypeTable
?/01 getOutgoingEdges ()Ljava/lang/Iterable;
354 #com/google/common/collect/Iterables67 size (Ljava/lang/Iterable;)I
?9:1 getIncomingEdges<= java/lang/Iterable? 'org/eclipse/elk/alg/layered/graph/LEdge
>ABC getSource +()Lorg/eclipse/elk/alg/layered/graph/LPort;
EGF 'org/eclipse/elk/alg/layered/graph/LPortH ? getNode
?J ?K (II)I
MNO valueOf (I)Ljava/lang/Integer; temp pre preEdge )Lorg/eclipse/elk/alg/layered/graph/LEdge;
?U ?V ()Ljava/util/ArrayList; X
>Z[C getTarget ? ?
0^ 3_ )(Ljava/lang/Iterable;)Ljava/util/HashSet; i currSucc edge td6"
?fgh getType 4()Lorg/eclipse/elk/alg/layered/graph/LNode$NodeType; jlk 0org/eclipse/elk/alg/layered/graph/LNode$NodeTypemn NORMAL 2Lorg/eclipse/elk/alg/layered/graph/LNode$NodeType;
?pqr getSize %()Lorg/eclipse/elk/core/math/KVector; tvu !org/eclipse/elk/core/math/KVectorw y
?yz ? min avereageNodeSize sum allOut F
??? r getNodes pos D(Ljava/lang/Object;Lorg/eclipse/elk/core/util/IElkProgressMonitor;)V
? c d K(Ljava/lang/Object;)Lorg/eclipse/elk/core/alg/LayoutProcessorConfiguration;
? = >
SourceFile StretchWidthLayerer.java ?Ljava/lang/Object;Lorg/eclipse/elk/core/alg/ILayoutPhase; InnerClasses NodeType NestMembers !
! " # $ % &