Search in sources :

Example 86 with GraphModel

use of org.gephi.graph.api.GraphModel in project gephi by gephi.

the class GraphDistanceNGTest method testDirectedCyclicGraphCloseness.

@Test
public void testDirectedCyclicGraphCloseness() {
    GraphModel graphModel = GraphGenerator.generateCyclicDirectedGraph(5);
    GraphDistance d = new GraphDistance();
    d.initializeStartValues();
    DirectedGraph directedGraph = graphModel.getDirectedGraph();
    HashMap<Node, Integer> indicies = d.createIndiciesMap(graphModel.getGraph());
    HashMap<String, double[]> metricsMap = (HashMap) d.calculateDistanceMetrics(graphModel.getGraph(), indicies, true, false);
    double[] closeness = metricsMap.get(GraphDistance.CLOSENESS);
    Node n2 = directedGraph.getNode("1");
    int index2 = indicies.get(n2);
    assertEquals(closeness[index2], 1.0 / 2.5, TOLERANCE);
}
Also used : DirectedGraph(org.gephi.graph.api.DirectedGraph) HashMap(java.util.HashMap) GraphModel(org.gephi.graph.api.GraphModel) Node(org.gephi.graph.api.Node) Test(org.testng.annotations.Test)

Example 87 with GraphModel

use of org.gephi.graph.api.GraphModel in project gephi by gephi.

the class GraphDistanceNGTest method testDirectedPathGraphCloseness.

@Test
public void testDirectedPathGraphCloseness() {
    GraphModel graphModel = GraphGenerator.generatePathDirectedGraph(4);
    GraphDistance d = new GraphDistance();
    d.initializeStartValues();
    DirectedGraph directedGraph = graphModel.getDirectedGraph();
    HashMap<Node, Integer> indicies = d.createIndiciesMap(graphModel.getGraph());
    HashMap<String, double[]> metricsMap = (HashMap) d.calculateDistanceMetrics(graphModel.getGraph(), indicies, true, false);
    double[] closeness = metricsMap.get(GraphDistance.CLOSENESS);
    Node n1 = directedGraph.getNode("0");
    Node n3 = directedGraph.getNode("2");
    int index1 = indicies.get(n1);
    int index3 = indicies.get(n3);
    assertEquals(closeness[index1], 1.0 / 2.0, TOLERANCE);
    assertEquals(closeness[index3], 1.0, TOLERANCE);
}
Also used : DirectedGraph(org.gephi.graph.api.DirectedGraph) HashMap(java.util.HashMap) GraphModel(org.gephi.graph.api.GraphModel) Node(org.gephi.graph.api.Node) Test(org.testng.annotations.Test)

Example 88 with GraphModel

use of org.gephi.graph.api.GraphModel in project gephi by gephi.

the class GraphDistanceNGTest method testSpecial1DirectedGraphCloseness.

@Test
public void testSpecial1DirectedGraphCloseness() {
    GraphModel graphModel = Lookup.getDefault().lookup(GraphController.class).getGraphModel();
    DirectedGraph directedGraph = graphModel.getDirectedGraph();
    Node node1 = graphModel.factory().newNode("0");
    Node node2 = graphModel.factory().newNode("1");
    Node node3 = graphModel.factory().newNode("2");
    Node node4 = graphModel.factory().newNode("3");
    Node node5 = graphModel.factory().newNode("4");
    directedGraph.addNode(node1);
    directedGraph.addNode(node2);
    directedGraph.addNode(node3);
    directedGraph.addNode(node4);
    directedGraph.addNode(node5);
    Edge edge13 = graphModel.factory().newEdge(node1, node3);
    Edge edge32 = graphModel.factory().newEdge(node3, node2);
    Edge edge21 = graphModel.factory().newEdge(node2, node1);
    Edge edge34 = graphModel.factory().newEdge(node3, node4);
    Edge edge45 = graphModel.factory().newEdge(node4, node5);
    Edge edge53 = graphModel.factory().newEdge(node5, node3);
    directedGraph.addEdge(edge13);
    directedGraph.addEdge(edge32);
    directedGraph.addEdge(edge21);
    directedGraph.addEdge(edge34);
    directedGraph.addEdge(edge45);
    directedGraph.addEdge(edge53);
    GraphDistance d = new GraphDistance();
    d.initializeStartValues();
    HashMap<Node, Integer> indicies = d.createIndiciesMap(graphModel.getGraph());
    HashMap<String, double[]> metricsMap = (HashMap) d.calculateDistanceMetrics(graphModel.getGraph(), indicies, true, false);
    double[] closeness = metricsMap.get(GraphDistance.CLOSENESS);
    int index2 = indicies.get(node2);
    int index3 = indicies.get(node3);
    assertEquals(closeness[index2], 1.0 / 2.5, TOLERANCE);
    assertEquals(closeness[index3], 1.0 / 1.5, TOLERANCE);
}
Also used : HashMap(java.util.HashMap) Node(org.gephi.graph.api.Node) DirectedGraph(org.gephi.graph.api.DirectedGraph) GraphModel(org.gephi.graph.api.GraphModel) Edge(org.gephi.graph.api.Edge) GraphController(org.gephi.graph.api.GraphController) Test(org.testng.annotations.Test)

Example 89 with GraphModel

use of org.gephi.graph.api.GraphModel in project gephi by gephi.

the class GraphDistanceNGTest method testStarGraphBetweenness.

@Test
public void testStarGraphBetweenness() {
    GraphModel graphModel = GraphGenerator.generateStarUndirectedGraph(5);
    GraphDistance d = new GraphDistance();
    d.initializeStartValues();
    UndirectedGraph undirectedGraph = graphModel.getUndirectedGraph();
    HashMap<Node, Integer> indicies = d.createIndiciesMap(undirectedGraph);
    HashMap<String, double[]> metricsMap = (HashMap) d.calculateDistanceMetrics(graphModel.getGraph(), indicies, false, false);
    double[] betweenness = metricsMap.get(GraphDistance.BETWEENNESS);
    Node n1 = undirectedGraph.getNode("0");
    Node n2 = undirectedGraph.getNode("1");
    int index1 = indicies.get(n1);
    int index2 = indicies.get(n2);
    assertEquals(betweenness[index1], 10.0, TOLERANCE);
    assertEquals(betweenness[index2], 0.0, TOLERANCE);
}
Also used : HashMap(java.util.HashMap) GraphModel(org.gephi.graph.api.GraphModel) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) Node(org.gephi.graph.api.Node) Test(org.testng.annotations.Test)

Example 90 with GraphModel

use of org.gephi.graph.api.GraphModel in project gephi by gephi.

the class NodePencil method getListeners.

@Override
public ToolEventListener[] getListeners() {
    listeners = new ToolEventListener[1];
    listeners[0] = new MouseClickEventListener() {

        @Override
        public void mouseClick(int[] positionViewport, float[] position3d) {
            color = nodePencilPanel.getColor();
            size = nodePencilPanel.getNodeSize();
            GraphController gc = Lookup.getDefault().lookup(GraphController.class);
            GraphModel gm = gc.getGraphModel();
            Graph graph = gm.getGraph();
            Node node = gm.factory().newNode();
            node.setX(position3d[0]);
            node.setY(position3d[1]);
            node.setSize(size);
            node.setColor(color);
            graph.addNode(node);
        }
    };
    return listeners;
}
Also used : MouseClickEventListener(org.gephi.tools.spi.MouseClickEventListener) Graph(org.gephi.graph.api.Graph) GraphModel(org.gephi.graph.api.GraphModel) Node(org.gephi.graph.api.Node) GraphController(org.gephi.graph.api.GraphController)

Aggregations

GraphModel (org.gephi.graph.api.GraphModel)235 Node (org.gephi.graph.api.Node)169 Test (org.testng.annotations.Test)168 UndirectedGraph (org.gephi.graph.api.UndirectedGraph)115 GraphController (org.gephi.graph.api.GraphController)105 DirectedGraph (org.gephi.graph.api.DirectedGraph)92 Edge (org.gephi.graph.api.Edge)80 Graph (org.gephi.graph.api.Graph)57 HashMap (java.util.HashMap)52 Column (org.gephi.graph.api.Column)16 LinkedList (java.util.LinkedList)12 ArrayList (java.util.ArrayList)11 FilterBuilder (org.gephi.filters.spi.FilterBuilder)6 GraphView (org.gephi.graph.api.GraphView)6 XMLStreamException (javax.xml.stream.XMLStreamException)5 IOException (java.io.IOException)4 AppearanceController (org.gephi.appearance.api.AppearanceController)4 AppearanceModel (org.gephi.appearance.api.AppearanceModel)4 TimeFormat (org.gephi.graph.api.TimeFormat)4 Element (org.gephi.graph.api.Element)3