Class GraphPosLengthUtils

java.lang.Object
org.graphstream.ui.graphicGraph.GraphPosLengthUtils

public class GraphPosLengthUtils
extends Object
Lots of small often used measuring algorithms on graphs.

Use this class with a static import.

  • Constructor Details

  • Method Details

    • nodePosition

      public static double[] nodePosition​(Graph graph, String id)
      Retrieve a node position from its attributes ("x", "y", "z", or "xy", or "xyz").
      Parameters:
      id - The node identifier.
      Returns:
      A newly allocated array of three floats containing the (x,y,z) position of the node, or null if the node is not part of the graph.
    • nodePointPosition

      public static Point3 nodePointPosition​(Graph graph, String id)
      Retrieve a node position from its attributes ("x", "y", "z", or "xy", or "xyz").
      Parameters:
      id - The node identifier.
      Returns:
      A newly allocated point containing the (x,y,z) position of the node, or null if the node is not part of the graph.
    • nodePosition

      public static double[] nodePosition​(Node node)
      Like nodePosition(Graph,String) but use an existing node as argument.
      Parameters:
      node - The node to consider.
      Returns:
      A newly allocated array of three floats containing the (x,y,z) position of the node.
    • nodePointPosition

      public static Point3 nodePointPosition​(Node node)
      Like nodePointPosition(Graph,String) but use an existing node as argument.
      Parameters:
      node - The node to consider.
      Returns:
      A newly allocated point containing the (x,y,z) position of the node.
    • nodePosition

      public static void nodePosition​(Graph graph, String id, double[] xyz)
      Like nodePosition(Graph,String), but instead of returning a newly allocated array, fill up the array given as parameter. This array must have at least three cells.
      Parameters:
      id - The node identifier.
      xyz - An array of at least three cells.
      Throws:
      RuntimeException - If the node with the given identifier does not exist.
    • nodePosition

      public static Point3 nodePosition​(Graph graph, String id, Point3 pos)
      Like nodePointPosition(Graph,String), but instead of returning a newly allocated array, fill up the array given as parameter. This array must have at least three cells.
      Parameters:
      id - The node identifier.
      pos - A point that will receive the node position.
      Throws:
      RuntimeException - If the node with the given identifier does not exist.
    • nodePosition

      public static void nodePosition​(Node node, double[] xyz)
      Like nodePosition(Graph,String,double[]) but use an existing node as argument.
      Parameters:
      node - The node to consider.
      xyz - An array of at least three cells.
    • nodePosition

      public static Point3 nodePosition​(Node node, Point3 pos)
      Like nodePosition(Graph,String,Point3) but use an existing node as argument.
      Parameters:
      node - The node to consider.
      pos - A point that will serve as the default position if node doesn't have position
    • positionFromObject

      public static void positionFromObject​(Object o, double[] xyz)
      Try to convert an object to a position. The object can be an array of numbers, an array of base numeric types or their object counterparts.
      Parameters:
      o - The object to try to convert.
      xyz - The result.
    • positionFromObject

      public static Point3 positionFromObject​(Object o, Point3 pos)
      Try to convert an object to a position. The object can be an array of numbers, an array of base numeric types or their object counterparts.
      Parameters:
      o - The object to try to convert.
      pos - The default position if object doesn't have position data.
    • edgeLength

      public static double edgeLength​(Graph graph, String id)
      Compute the edge length of the given edge according to its two nodes positions.
      Parameters:
      id - The identifier of the edge.
      Returns:
      The edge length or -1 if the nodes of the edge have no positions.
      Throws:
      RuntimeException - If the edge cannot be found.
    • edgeLength

      public static double edgeLength​(Edge edge)
      Like edgeLength(Graph,String) but use an existing edge as argument.
      Parameters:
      edge -
      Returns:
      The edge length or -1 if the nodes of the edge have no positions.