giny.util
Class SpringEmbeddedLayouter
java.lang.Object
  
giny.util.SpringEmbeddedLayouter
- public class SpringEmbeddedLayouter
- extends java.lang.Object
  
An implementation of Kamada and Kawai's spring embedded layout algorithm.
 
 
| 
Method Summary | 
protected  giny.util.SpringEmbeddedLayouter.PartialDerivatives | 
calculatePartials(giny.util.SpringEmbeddedLayouter.PartialDerivatives partials,
                  java.util.List partials_list,
                  giny.util.SpringEmbeddedLayouter.PotentialEnergy potential_energy,
                  boolean reversed)
 
          If partials_list is given, adjust all partials (bidirectional) for the
 current location of the given partials and return the new furthest node's
 partials. | 
protected  java.util.List | 
createPartialsList()
 
            | 
 void | 
doLayout()
 
            | 
 GraphView | 
getGraphView()
 
            | 
protected  void | 
initializeSpringEmbeddedLayouter()
 
            | 
protected  giny.util.SpringEmbeddedLayouter.PartialDerivatives | 
moveNode(giny.util.SpringEmbeddedLayouter.PartialDerivatives partials,
         java.util.List partials_list,
         giny.util.SpringEmbeddedLayouter.PotentialEnergy potential_energy)
 
          Move the node with the given partials and adjust all partials in the given
 List to reflect that move, and adjust the potential energy too. | 
 void | 
setGraphView(GraphView new_graph_view)
 
            | 
protected  void | 
setupForLayoutPass()
 
          Called at the beginning of each layoutPass iteration. | 
protected  void | 
setupNodeDistanceSprings()
 
            | 
protected  void | 
simpleMoveNode(giny.util.SpringEmbeddedLayouter.PartialDerivatives partials)
 
            | 
 
| Methods inherited from class java.lang.Object | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
DEFAULT_NUM_LAYOUT_PASSES
public static final int DEFAULT_NUM_LAYOUT_PASSES
- See Also:
 - Constant Field Values
 
DEFAULT_AVERAGE_ITERATIONS_PER_NODE
public static final double DEFAULT_AVERAGE_ITERATIONS_PER_NODE
- See Also:
 - Constant Field Values
 
DEFAULT_NODE_DISTANCE_SPRING_SCALARS
public static final double[] DEFAULT_NODE_DISTANCE_SPRING_SCALARS
DEFAULT_NODE_DISTANCE_STRENGTH_CONSTANT
public static final double DEFAULT_NODE_DISTANCE_STRENGTH_CONSTANT
- See Also:
 - Constant Field Values
 
DEFAULT_NODE_DISTANCE_REST_LENGTH_CONSTANT
public static final double DEFAULT_NODE_DISTANCE_REST_LENGTH_CONSTANT
- See Also:
 - Constant Field Values
 
DEFAULT_DISCONNECTED_NODE_DISTANCE_SPRING_STRENGTH
public static final double DEFAULT_DISCONNECTED_NODE_DISTANCE_SPRING_STRENGTH
- See Also:
 - Constant Field Values
 
DEFAULT_DISCONNECTED_NODE_DISTANCE_SPRING_REST_LENGTH
public static final double DEFAULT_DISCONNECTED_NODE_DISTANCE_SPRING_REST_LENGTH
- See Also:
 - Constant Field Values
 
DEFAULT_ANTICOLLISION_SPRING_SCALARS
public static final double[] DEFAULT_ANTICOLLISION_SPRING_SCALARS
DEFAULT_ANTICOLLISION_SPRING_STRENGTH
public static final double DEFAULT_ANTICOLLISION_SPRING_STRENGTH
- See Also:
 - Constant Field Values
 
numLayoutPasses
protected int numLayoutPasses
averageIterationsPerNode
protected double averageIterationsPerNode
nodeDistanceSpringScalars
protected double[] nodeDistanceSpringScalars
nodeDistanceStrengthConstant
protected double nodeDistanceStrengthConstant
nodeDistanceRestLengthConstant
protected double nodeDistanceRestLengthConstant
disconnectedNodeDistanceSpringStrength
protected double disconnectedNodeDistanceSpringStrength
disconnectedNodeDistanceSpringRestLength
protected double disconnectedNodeDistanceSpringRestLength
nodeDistanceSpringStrengths
protected double[][] nodeDistanceSpringStrengths
nodeDistanceSpringRestLengths
protected double[][] nodeDistanceSpringRestLengths
anticollisionSpringScalars
protected double[] anticollisionSpringScalars
anticollisionSpringStrength
protected double anticollisionSpringStrength
graphView
protected GraphView graphView
nodeCount
protected int nodeCount
edgeCount
protected int edgeCount
layoutPass
protected int layoutPass
nodeIndexToMatrixIndexMap
protected java.util.HashMap nodeIndexToMatrixIndexMap
matrixIndexToNodeIndexMap
protected java.util.TreeMap matrixIndexToNodeIndexMap
SpringEmbeddedLayouter
public SpringEmbeddedLayouter(GraphView graph_view)
setGraphView
public void setGraphView(GraphView new_graph_view)
 
getGraphView
public GraphView getGraphView()
 
initializeSpringEmbeddedLayouter
protected void initializeSpringEmbeddedLayouter()
 
doLayout
public void doLayout()
 
setupForLayoutPass
protected void setupForLayoutPass()
- Called at the beginning of each layoutPass iteration.
 
 
setupNodeDistanceSprings
protected void setupNodeDistanceSprings()
 
calculatePartials
protected giny.util.SpringEmbeddedLayouter.PartialDerivatives calculatePartials(giny.util.SpringEmbeddedLayouter.PartialDerivatives partials,
                                                                                java.util.List partials_list,
                                                                                giny.util.SpringEmbeddedLayouter.PotentialEnergy potential_energy,
                                                                                boolean reversed)
- If partials_list is given, adjust all partials (bidirectional) for the
 current location of the given partials and return the new furthest node's
 partials.  Otherwise, just adjust the given partials (using the
 graphView's nodeViewsIterator), and return it.  If reversed is true then
 partials_list must be provided and all adjustments made by a non-reversed
 call (with the same partials with the same graphNodeView at the same
 location) will be undone.
 Complexity is O( #Nodes ).
 
 
moveNode
protected giny.util.SpringEmbeddedLayouter.PartialDerivatives moveNode(giny.util.SpringEmbeddedLayouter.PartialDerivatives partials,
                                                                       java.util.List partials_list,
                                                                       giny.util.SpringEmbeddedLayouter.PotentialEnergy potential_energy)
- Move the node with the given partials and adjust all partials in the given
 List to reflect that move, and adjust the potential energy too.
- Returns:
 - the PartialDerivatives of the furthest node after the move.
 
 
 
simpleMoveNode
protected void simpleMoveNode(giny.util.SpringEmbeddedLayouter.PartialDerivatives partials)
 
createPartialsList
protected java.util.List createPartialsList()