org.eclipse.elk.alg.layered.intermediate.NodePromotion.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~ 6org/eclipse/elk/alg/layered/intermediate/NodePromotion java/lang/Object )org/eclipse/elk/core/alg/ILayoutProcessor MODEL_ORDER_NODE_COMPARATOR_DESC Ljava/util/Comparator; Signature ALjava/util/Comparator; MODEL_ORDER_NODE_COMPARATOR_ASC masterGraph *Lorg/eclipse/elk/alg/layered/graph/LGraph; nodesWithIncomingEdges Ljava/util/List; ;Ljava/util/List; nodes currentWidth %Ljava/util/List; currentWidthPixel $Ljava/util/List; layers [I
degreeDiff [[I maxWidth I
maxWidthPixel D dummyNodeCount maxHeight
nodeSizeAffix dummySize promotionStrategy ;Lorg/eclipse/elk/alg/layered/options/NodePromotionStrategy;
biLayerMap ?Lorg/eclipse/elk/alg/layered/intermediate/BiLinkedHashMultiMap; }Lorg/eclipse/elk/alg/layered/intermediate/BiLinkedHashMultiMap; G$SWITCH_TABLE$org$eclipse$elk$alg$layered$options$NodePromotionStrategy ()V Code , 8org/eclipse/elk/alg/layered/intermediate/NodePromotion$1
+ . / ) 1 3 8org/eclipse/elk/alg/layered/intermediate/NodePromotion$2
2 . 6 LineNumberTable LocalVariableTable
. ; =org/eclipse/elk/alg/layered/intermediate/BiLinkedHashMultiMap
: . > $ % this 8Lorg/eclipse/elk/alg/layered/intermediate/NodePromotion; process \(Lorg/eclipse/elk/alg/layered/graph/LGraph;Lorg/eclipse/elk/core/util/IElkProgressMonitor;)V D Node promotion heuristic F H G -org/eclipse/elk/core/util/IElkProgressMonitor I J begin (Ljava/lang/String;F)Z L
N P O 2org/eclipse/elk/alg/layered/options/LayeredOptions Q R LAYERING_NODE_PROMOTION_STRATEGY ,Lorg/eclipse/elk/graph/properties/IProperty;
T V U (org/eclipse/elk/alg/layered/graph/LGraph W X getProperty @(Lorg/eclipse/elk/graph/properties/IProperty;)Ljava/lang/Object; Z 9org/eclipse/elk/alg/layered/options/NodePromotionStrategy \ " # Y ^ _ # MODEL_ORDER_LEFT_TO_RIGHT Y a b # MODEL_ORDER_RIGHT_TO_LEFT
d e ) precalculateAndSetInformation
g h ) 'precalculateAndSetInformationModelOrder N j k R &LAYERING_NODE_PROMOTION_MAX_ITERATIONS m java/lang/Integer
l o p q intValue ()I s t u apply #()Lcom/google/common/base/Function;
w ' x ()[I
Y z { q ordinal
} ~ promotionMagic $(Lcom/google/common/base/Function;)V Y ? ? # NO_BOUNDARY ? ? ? ? java/util/List ? ? iterator ()Ljava/util/Iterator; ? ? ? java/util/Iterator ? ? next ()Ljava/lang/Object;
? ? ? java/lang/Math ? ? max (II)I ? ? ? ? hasNext ()Z ? Y ? ? # NIKOLOV ? ? java/lang/Double
? ? ? ? doubleValue ()D
? ? ? ? (DD)D ? Y ? ? #
NIKOLOV_PIXEL ? @Y
? ? ? ? ceil (D)D ? t ? $(I)Lcom/google/common/base/Function; ? ?
? ? ? modelOrderNodePromotion (Z)V
? ? ? setNewLayering -(Lorg/eclipse/elk/alg/layered/graph/LGraph;)V
? ? ? setNewLayeringModelOrder F ? ? ) done layeredGraph progressMonitor /Lorg/eclipse/elk/core/util/IElkProgressMonitor; promoteUntil funFunction !Lcom/google/common/base/Function; newMaxWidth martha Ljava/lang/Integer; newMaxWidthPixel donna Ljava/lang/Double;
promoteUntilN
promoteUntilD LocalVariableTypeTable ~Lcom/google/common/base/Function;Ljava/lang/Boolean;>;
StackMapTable ? com/google/common/base/Function N ? ? R SPACING_NODE_NODE ? N ? ? R SPACING_EDGE_NODE_BETWEEN_LAYERS ? !
T ? ? ? getLayers ()Ljava/util/List; ? ? ? q size ?
? ? ? com/google/common/collect/Lists ? ? newArrayList *([Ljava/lang/Object;)Ljava/util/ArrayList; ? 'org/eclipse/elk/alg/layered/graph/Layer ? ? ? id
? ? ? ? getNodes 'org/eclipse/elk/alg/layered/graph/LNode ?
? ? ()Ljava/util/ArrayList;
T ?
getLayer +()Lorg/eclipse/elk/alg/layered/graph/Layer;
getSize %()Lorg/eclipse/elk/core/math/KVector; !org/eclipse/elk/core/math/KVector y
getIncomingEdges ()Ljava/lang/Iterable;
"! #com/google/common/collect/Iterables ?# (Ljava/lang/Iterable;)I
%& getOutgoingEdges ?()* add (Ljava/lang/Object;)Z
l,-. valueOf (I)Ljava/lang/Integer; ?012 set '(ILjava/lang/Object;)Ljava/lang/Object;
?4-5 (D)Ljava/lang/Double; layerID nodeID layer )Lorg/eclipse/elk/alg/layered/graph/Layer; node )Lorg/eclipse/elk/alg/layered/graph/LNode; dummyBaggage incoming outcoming layerSize layerSizePixel inDegree outDegree
nodesNdummies ?EFG sort (Ljava/util/Comparator;)V
:IJK putAll )(Ljava/lang/Comparable;Ljava/util/List;)V nodeId layerId leftToRight Z modelOrderComparatorR java/util/Comparator
:TUV keySet ()Ljava/util/Set;X ?Y
java/util/Set
:[\] getValues .(Ljava/lang/Comparable;)Ljava/util/LinkedList;
_a` java/util/LinkedListbc get (I)Ljava/lang/Object; egf 6org/eclipse/elk/alg/layered/options/InternalPropertiesh R MODEL_ORDER
jkl hasProperty /(Lorg/eclipse/elk/graph/properties/IProperty;)Z
:nop isMaximalKey (Ljava/lang/Comparable;)Z
:rsp isMinimalKey
V
_ ?
_ ?
xyz getType 4()Lorg/eclipse/elk/alg/layered/graph/LNode$NodeType; |~} 0org/eclipse/elk/alg/layered/graph/LNode$NodeType? LABEL 2Lorg/eclipse/elk/alg/layered/graph/LNode$NodeType;? ?? java/lang/Iterable? 'org/eclipse/elk/alg/layered/graph/LEdge
???? getSource +()Lorg/eclipse/elk/alg/layered/graph/LPort;
??? 'org/eclipse/elk/alg/layered/graph/LPort?? getNode +()Lorg/eclipse/elk/alg/layered/graph/LNode;
???? getTarget
??* equals
:??? getKey *(Ljava/lang/Object;)Ljava/lang/Comparable; |??? NORMAL
??? promoteNodeByModelOrder E(Lorg/eclipse/elk/alg/layered/graph/LNode;Z)Ljava/util/LinkedHashSet;
? ?? java/util/LinkedHashSet
???* remove
???? addAll (Ljava/util/Collection;)Z
??? ? isEmpty somethingChanged currentLayerId currentLayer Ljava/util/LinkedList; nodeIndex shallBePromoted otherNodeIndex otherNode nextLayerId nextLayer modelOrderAllowsPromotion promoteThroughDummyLayer containsLabels
nextLayerNode nodeConnectedToNextLayer
connectedNode nodesToPromote Ljava/util/LinkedHashSet;
nodeToPromote ALjava/util/LinkedList; DLjava/util/LinkedHashSet; p(Lorg/eclipse/elk/alg/layered/graph/LNode;Z)Ljava/util/LinkedHashSet;
:??? put +(Ljava/lang/Comparable;Ljava/lang/Object;)V
? .
?(
oldLayerId edge )Lorg/eclipse/elk/alg/layered/graph/LEdge; nextNode ?(Lcom/google/common/base/Function;Ljava/lang/Boolean;>;)V
??? java/util/Arrays?? copyOf ([II)[I
??? promoteNode K(Lorg/eclipse/elk/alg/layered/graph/LNode;)Lorg/eclipse/elk/core/util/Pair;
??? org/eclipse/elk/core/util/Pair? ? getSecond? java/lang/Boolean
??? ? booleanValue
??? ? getFirst
?? ?? +(Ljava/lang/Iterable;)Ljava/util/ArrayList;
???? of F(Ljava/lang/Object;Ljava/lang/Object;)Lorg/eclipse/elk/core/util/Pair; ?? t? &(Ljava/lang/Object;)Ljava/lang/Object; funky
promotions
promotionFlag iterationCounter reducedDummies layeringBackup dummyBackup heightBackup currentWidthBackup currentWidthPixelBackup
promotionPair Lorg/eclipse/elk/core/util/Pair; HLorg/eclipse/elk/core/util/Pair; s(Lorg/eclipse/elk/alg/layered/graph/LNode;)Lorg/eclipse/elk/core/util/Pair; ?a
?- (Z)Ljava/lang/Boolean;
? / '(Ljava/lang/Object;Ljava/lang/Object;)V maxWidthNotExceeded dummydiff nodeLayerPos nodeSize dummiesBuilt dummiesReduced
masterNode promotion
? / ?
setLayer ,(Lorg/eclipse/elk/alg/layered/graph/Layer;)V ?? ?? ) ? ) clear ?? layList i laLaLayer layerIt Ljava/util/Iterator; possiblyEvilLayer ;Ljava/util/List; ?Ljava/util/Iterator;X$%& stream ()Ljava/util/stream/Stream;(*) java/util/stream/Stream+& sorted
-/. java/util/stream/Collectors01 toList ()Ljava/util/stream/Collector;(345 collect 0(Ljava/util/stream/Collector;)Ljava/lang/Object;
_? layerList
layerIndex
layerNodes newLayer D(Ljava/lang/Object;Lorg/eclipse/elk/core/util/IElkProgressMonitor;)V
= A B ? '
YABC values >()[Lorg/eclipse/elk/alg/layered/options/NodePromotionStrategy; YEF # DUMMYNODE_PERCENTAGE YHI # NIKOLOV_IMPROVED YKL # NIKOLOV_IMPROVED_PIXEL YNO # NODECOUNT_PERCENTAGE YQR # NONET java/lang/NoSuchFieldError lambda$0 5(Lorg/eclipse/elk/core/util/Pair;)Ljava/lang/Boolean; pair HLorg/eclipse/elk/core/util/Pair; lambda$1 6(ILorg/eclipse/elk/core/util/Pair;)Ljava/lang/Boolean; lambda$2
SourceFile NodePromotion.java iLjava/lang/Object;Lorg/eclipse/elk/core/alg/ILayoutProcessor; BootstrapMethods
acb "java/lang/invoke/LambdaMetafactoryde metafactory ?(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;`?
iUVhV?
nYZmV?
s[ZrV InnerClassesx %java/lang/invoke/MethodHandles$Lookupz java/lang/invoke/MethodHandles Lookup NodeType NestMembers !
! " # $ % &J ' ( ) * = ? +Y? -? 0? 2Y? 4? 5? 7 E
R ] 8 / ) * B *? 9*? :Y?