org.graphstream.ui.layout.springbox
Class NodeParticle

java.lang.Object
  extended by org.miv.pherd.Particle
      extended by org.graphstream.ui.layout.springbox.NodeParticle
Direct Known Subclasses:
LinLogNodeParticle, SpringBoxNodeParticle

public abstract class NodeParticle
extends org.miv.pherd.Particle

Base implementation of a node particle to be used in the BarnesHutLayout to represent nodes and choose their positions.

Several abstract methods have to be overrided to provide a computation of the layout (all the attraction/repulsion computation is done in this class):


Field Summary
 double attE
          Attraction energy for this node only.
 Vector3 disp
          Displacement vector.
 boolean frozen
          Should the node move?.
 double len
          Last computed displacement vector length.
 ArrayList<EdgeSpring> neighbours
          Set of edge connected to this node.
 PrintStream out
          If non null, all this node statistics will be output to this stream.
 double repE
          Repulsion energy for this node only.
 
Constructor Summary
NodeParticle(BarnesHutLayout box, String id)
          New node.
NodeParticle(BarnesHutLayout box, String id, double x, double y, double z)
          New node at a given position.
 
Method Summary
 Collection<EdgeSpring> getEdges()
          All the edges connected to this node.
 void inserted()
           
 void move(int time)
           
 void moveOf(double dx, double dy, double dz)
          Force a node to move from a given vector.
 void moveTo(double x, double y, double z)
          Force a node to move at a given position.
 void nextStep(int time)
           
 void registerEdge(EdgeSpring e)
          The given edge is connected to this node.
 void removed()
           
 void removeNeighborEdges()
          Remove all edges connected to this node.
 void unregisterEdge(EdgeSpring e)
          The given edge is no more connected to this node.
 
Methods inherited from class org.miv.pherd.Particle
closeTo, closeTo, getAttribute, getAttributeKeyIterator, getCell, getId, getPosition, getWeight, removeAttribute, setAttribute, setCell, setWeight, suicide
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

neighbours

public ArrayList<EdgeSpring> neighbours
Set of edge connected to this node.


frozen

public boolean frozen
Should the node move?.


disp

public Vector3 disp
Displacement vector.


len

public double len
Last computed displacement vector length.


attE

public double attE
Attraction energy for this node only.


repE

public double repE
Repulsion energy for this node only.


out

public PrintStream out
If non null, all this node statistics will be output to this stream.

Constructor Detail

NodeParticle

public NodeParticle(BarnesHutLayout box,
                    String id)
New node. The node is placed at random in the space of the simulation.

Parameters:
box - The spring box.
id - The node identifier.

NodeParticle

public NodeParticle(BarnesHutLayout box,
                    String id,
                    double x,
                    double y,
                    double z)
New node at a given position.

Parameters:
box - The spring box.
id - The node identifier.
x - The abscissa.
y - The ordinate.
z - The depth.
Method Detail

getEdges

public Collection<EdgeSpring> getEdges()
All the edges connected to this node.

Returns:
A set of edges.

move

public void move(int time)
Specified by:
move in class org.miv.pherd.Particle

nextStep

public void nextStep(int time)
Overrides:
nextStep in class org.miv.pherd.Particle

moveOf

public void moveOf(double dx,
                   double dy,
                   double dz)
Force a node to move from a given vector.

Parameters:
dx - The x component.
dy - The y component.
dz - The z component.

moveTo

public void moveTo(double x,
                   double y,
                   double z)
Force a node to move at a given position.

Parameters:
x - The new x.
y - The new y.
z - The new z.

registerEdge

public void registerEdge(EdgeSpring e)
The given edge is connected to this node.

Parameters:
e - The edge to connect.

unregisterEdge

public void unregisterEdge(EdgeSpring e)
The given edge is no more connected to this node.

Parameters:
e - THe edge to disconnect.

removeNeighborEdges

public void removeNeighborEdges()
Remove all edges connected to this node.


inserted

public void inserted()
Specified by:
inserted in class org.miv.pherd.Particle

removed

public void removed()
Specified by:
removed in class org.miv.pherd.Particle


Copyright © 2012. All Rights Reserved.