Package org.gephi.graph.dhns.node

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


    public AbstractNode getNodeAt(int pre) {
        return tree.get(pre);
    }

    public AbstractNode getEnabledAncestorOrSelf(AbstractNode node) {
        AbstractNode parent = node;
        while (!parent.isEnabled()) {
            parent = parent.parent;
            if (parent == null || parent.getPre() == 0) {
                return null;
            }
        }
        return parent;
    }
View Full Code Here


        }
        return parent;
    }

    public AbstractNode[] getEnabledAncestorsOrSelf(AbstractNode node) {
        AbstractNode enabled = getEnabledAncestorOrSelf(node);
        if (enabled != null) {
            return new AbstractNode[]{enabled};
        } else {
            return null;
        }
View Full Code Here

    }
    return nodeList.toArray(new AbstractNode[0]);
    }
    }*/
    public AbstractNode getEnabledAncestor(AbstractNode node) {
        AbstractNode parent = node.parent;
        while (!parent.isEnabled()) {
            if (parent.getPre() == 0) {
                return null;
            }
            parent = parent.parent;
        }
        return parent;
View Full Code Here

        }
    }

    public void move(AbstractNode node, AbstractNode newParent) {

        AbstractNode sourceParent = node.parent;
        int sourceSize = 1 + node.size;

        tree.move(node.getPre(), newParent.getPre());

        if (sourceParent != null) {
View Full Code Here

        }*/
    }

    public void deleteAtPre(AbstractNode node) {
        int pre = node.getPre();
        AbstractNode n = tree.remove(pre);
        n.removeFromView(view.getViewId());
        for (int i = 0; i < node.size; i++) {
            n = tree.remove(pre);
            n.removeFromView(view.getViewId());
        }
    }
View Full Code Here

        deleteAtPre(node);
    }

    public void deleteOnlySelf(AbstractNode node) {
        int pre = node.getPre();
        AbstractNode n = tree.remove(pre);
        n.removeFromView(view.getViewId());
    }
View Full Code Here

        }
    }

    public boolean hasEnabledDescendant(AbstractNode node) {
        for (int i = node.getPre() + 1; i <= node.pre + node.size; i++) {
            AbstractNode descendant = tree.get(i);
            if (descendant.isEnabled()) {
                return true;
            }
        }
        return false;
    }
View Full Code Here

    }

    public void clear() {
        //Clean nodes
        for (TreeListIterator itr = new TreeListIterator(tree); itr.hasNext();) {
            AbstractNode preNode = itr.next();
            preNode.avlNode = null;
            preNode.parent = null;
        }
        tree.clear();
        root = null;
View Full Code Here

        GraphViewImpl viewCopy = new GraphViewImpl(dhns, viewId.getAndIncrement());
        TreeStructure newStructure = viewCopy.getStructure();
        dhns.writeLock();

        for (TreeListIterator itr = new TreeListIterator(view.getStructure().getTree(), 1); itr.hasNext();) {
            AbstractNode node = itr.next();
            AbstractNode nodeCopy = new AbstractNode(node.getNodeData(), viewCopy.getViewId());
            nodeCopy.setEnabled(node.isEnabled());
            nodeCopy.setEnabledInDegree(node.getEnabledInDegree());
            nodeCopy.setEnabledOutDegree(node.getEnabledOutDegree());
            nodeCopy.setEnabledMutualDegree(node.getEnabledMutualDegree());
            AbstractNode parentCopy = node.parent != null ? newStructure.getNodeAt(node.parent.getPre()) : null;
            newStructure.insertAsChild(nodeCopy, parentCopy);
        }

        //Edges
        ParamAVLIterator<AbstractEdge> edgeIterator = new ParamAVLIterator<AbstractEdge>();
        for (TreeListIterator itr = new TreeListIterator(view.getStructure().getTree(), 1); itr.hasNext();) {
            AbstractNode node = itr.next();
            if (!node.getEdgesOutTree().isEmpty()) {
                for (edgeIterator.setNode(node.getEdgesOutTree()); edgeIterator.hasNext();) {
                    AbstractEdge edge = edgeIterator.next();
                    AbstractNode sourceCopy = newStructure.getNodeAt(edge.getSource().getPre());
                    AbstractNode targetCopy = newStructure.getNodeAt(edge.getTarget().getPre());
                    sourceCopy.getEdgesOutTree().add(edge);
                    targetCopy.getEdgesInTree().add(edge);
                    addToDictionnary(edge);
                }
            }
        }
        viewCopy.setNodesEnabled(view.getNodesEnabled());
View Full Code Here

        private void destroyView(GraphStructure structure, GraphViewImpl view) {
            //Logger.getLogger("").log(Level.WARNING, "Destroy view {0}", view.getViewId());
            structure.dhns.writeLock();
            ParamAVLIterator<AbstractEdge> edgeIterator = new ParamAVLIterator<AbstractEdge>();
            for (TreeListIterator itr = new TreeListIterator(structure.mainView.getStructure().getTree(), 1); itr.hasNext();) {
                AbstractNode node = itr.next();
                AbstractNode nodeInView = node.getNodeData().getNodes().get(view.getViewId());
                if (nodeInView != null) {
                    node.getNodeData().getNodes().remove(view.getViewId());
                    if (!nodeInView.getEdgesOutTree().isEmpty()) {
                        for (edgeIterator.setNode(nodeInView.getEdgesOutTree()); edgeIterator.hasNext();) {
                            AbstractEdge edge = edgeIterator.next();
                            structure.removeFromDictionnary(edge);
                        }
                    }
                }
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.