Package org.gephi.graph.dhns.node

Examples of org.gephi.graph.dhns.node.AbstractNode


        nodeTree = new SimpleAVLTree();
        TreeNodeImpl root = new TreeNodeImpl(treeStructure.getRoot());
        nodeTree.add(root);

        for (; iterator.hasNext();) {
            AbstractNode node = iterator.next();
            TreeNodeImpl n = new TreeNodeImpl(node);
            if (node.parent != null) {
                TreeNodeImpl parent = (TreeNodeImpl) nodeTree.get(node.parent.getNumber());
                if (parent != null) {
                    n.parent = parent;
                    parent.children.add(n);
                } else {
                    n.parent = root;
                    root.children.add(n);
                }
            }
            nodeTree.add(n);
        }

        //To array
        for (AVLItem item : nodeTree) {
            TreeNodeImpl node = (TreeNodeImpl) item;
            node.toArray();
        }
        return root;
    }
View Full Code Here


        };
    }

    public boolean addEdge(Edge edge) {
        AbstractEdge absEdge = checkEdge(edge);
        AbstractNode source = checkNode(edge.getSource());
        AbstractNode target = checkNode(edge.getTarget());
        if (checkEdgeExist(source, target)) {
            //Edge already exist
            return false;
        }
        AbstractEdge symmetricEdge = getSymmetricEdge(absEdge);
View Full Code Here

        }
        return true;
    }

    public boolean addEdge(Node source, Node target, boolean directed) {
        AbstractNode absSource = checkNode(source);
        AbstractNode absTarget = checkNode(target);
        if (directed && checkEdgeExist(absSource, absTarget)) {
            //Edge already exist
            return false;
        }
        AbstractEdge symmetricEdge = absSource.getEdgesInTree().getItem(absTarget.getNumber());
        if (symmetricEdge != null && (!symmetricEdge.isDirected() || !directed)) {
            //The symmetric edge exist and is undirected
            return false;
        }
View Full Code Here

    public Edge getEdge(Node node1, Node node2) {
        if (node1 == null || node2 == null) {
            return null;
        }
        readLock();
        AbstractNode sourceNode = checkNode(node1);
        AbstractNode targetNode = checkNode(node2);
        AbstractEdge res = sourceNode.getEdgesOutTree().getItem(targetNode.getNumber());
        if (res == null) {
            res = sourceNode.getEdgesInTree().getItem(targetNode.getNumber());
        }
        readUnlock();
        return res;
    }
View Full Code Here

        return dhns.newEdgeIterable(new EdgeIterator(structure, new TreeIterator(structure, true, Tautology.instance), false, Tautology.instance, Tautology.instance));
    }

    public NodeIterable getNeighbors(Node node) {
        readLock();
        AbstractNode absNode = checkNode(node);
        return dhns.newNodeIterable(new NeighborIterator(new EdgeNodeIterator(absNode, EdgeNodeIterator.EdgeNodeIteratorMode.BOTH, true, Tautology.instance, Tautology.instance), absNode, Tautology.instance));
    }
View Full Code Here

        return dhns.newNodeIterable(new NeighborIterator(new EdgeNodeIterator(absNode, EdgeNodeIterator.EdgeNodeIteratorMode.BOTH, true, Tautology.instance, Tautology.instance), absNode, Tautology.instance));
    }

    public EdgeIterable getEdges(Node node) {
        readLock();
        AbstractNode absNode = checkNode(node);
        return dhns.newEdgeIterable(new EdgeNodeIterator(absNode, EdgeNodeIterator.EdgeNodeIteratorMode.BOTH, false, Tautology.instance, Tautology.instance));
    }
View Full Code Here

    public int getTotalEdgeCount() {
        return view.getEdgesCountEnabled() + view.getMetaEdgesCountTotal();
    }

    public int getDegree(Node node) {
        AbstractNode absNode = checkNode(node);
        int count = absNode.getEdgesInTree().getCount() + absNode.getEdgesOutTree().getCount();
        return count;
    }
View Full Code Here

        return count;
    }

    //Directed
    public int getInDegree(Node node) {
        AbstractNode absNode = checkNode(node);
        int count = absNode.getEdgesInTree().getCount();
        return count;
    }
View Full Code Here

        TreeStructure treeStructure = dhnsGlobal.getGraphStructure().getMainView().getStructure();
        GraphFactoryImpl factory = dhnsGlobal.factory();

        //Nodes
        for (int i = 0; i < 15; i++) {
            AbstractNode node = factory.newNode();
            node.getNodeData().setLabel("Node " + i);
            graphGlobal.addNode(node);
            nodeMap.put(node.getNodeData().getLabel(), node);
        }

        //2
        controller = new DhnsGraphController();
        dhnsGlobal2 = new Dhns(controller, null);
        graphGlobal2Directed = new HierarchicalDirectedGraphImpl(dhnsGlobal2, dhnsGlobal2.getGraphStructure().getMainView());
        graphGlobal2Undirected = new HierarchicalUndirectedGraphImpl(dhnsGlobal2, dhnsGlobal2.getGraphStructure().getMainView());
        treeStructure = dhnsGlobal2.getGraphStructure().getMainView().getStructure();
        factory = dhnsGlobal2.factory();

        //Nodes
        for (int i = 0; i < 3; i++) {
            Node node = factory.newNode();
            graphGlobal2Directed.addNode(node);
        }

        int i = 0;
        for (Node n : graphGlobal2Directed.getTopNodes().toArray()) {
            AbstractNode newC = factory.newNode();
            graphGlobal2Directed.addNode(newC, n);
            nodeMap.put("Leaf " + (i++), newC);
            newC = factory.newNode();
            graphGlobal2Directed.addNode(newC, n);
            nodeMap.put("Leaf " + (i++), newC);
View Full Code Here

        return count;
    }

    //Directed
    public int getOutDegree(Node node) {
        AbstractNode absNode = checkNode(node);
        int count = absNode.getEdgesOutTree().getCount();
        return count;
    }
View Full Code Here

TOP

Related Classes of org.gephi.graph.dhns.node.AbstractNode

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.