Class NodeParticle

java.lang.Object
org.miv.pherd.Particle
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):

  • attraction(Vector3)
  • repulsionN2(Vector3)
  • repulsionNLogN(Vector3)

  • Field Details

    • 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 Details

    • 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 Details

    • 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