Package org.gephi.graph.dhns.node

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


    private MetaEdgeImpl getMetaEdge(AbstractEdge edge) {
        if (edge.isSelfLoop()) {
            return null;
        }
        AbstractNode sourceParent = treeStructure.getEnabledAncestorOrSelf(edge.getSource(viewId));
        AbstractNode targetParent = treeStructure.getEnabledAncestorOrSelf(edge.getTarget(viewId));

        if (sourceParent != null && targetParent != null && sourceParent != targetParent) {
            return getMetaEdge(sourceParent, targetParent);
        }
        return null;
View Full Code Here


        }
        int i = 0;
        if (!node.getMetaEdgesInTree().isEmpty()) {
            for (edgeIterator.setNode(node.getMetaEdgesInTree()); edgeIterator.hasNext();) {
                AbstractEdge edge = edgeIterator.next();
                AbstractNode source = edge.getSource(viewId);
                edgeIterator.remove();
                source.getMetaEdgesOutTree().remove((MetaEdgeImpl) edge);
                view.decMetaEdgesCount(1);

                if (!node.getEdgesInTree().hasNeighbour(source)) {
                    AbstractEdge realEdge = dhns.factory().newEdge(source, node, edge.getWeight(), edge.isDirected());
                    realEdge.getEdgeData().moveFrom(edge.getEdgeData());
                    realEdge.setWeight(edge.getWeight());
                    newEdges[i] = realEdge;

                    source.getEdgesOutTree().add(realEdge);
                    node.getEdgesInTree().add(realEdge);

                    source.incEnabledOutDegree();
                    node.incEnabledInDegree();
                    view.incEdgesCountEnabled(1);
                    view.incEdgesCountTotal(1);

                    if (source.getEdgesInTree().hasNeighbour(node)) {
                        //Mutual
                        source.incEnabledMutualDegree();
                        node.incEnabledMutualDegree();
                        view.incMutualEdgesEnabled(1);
                        view.incMutualEdgesTotal(1);
                    }
                }
                i++;
            }
        }
        if (!node.getMetaEdgesOutTree().isEmpty()) {
            for (edgeIterator.setNode(node.getMetaEdgesOutTree()); edgeIterator.hasNext();) {
                AbstractEdge edge = edgeIterator.next();
                AbstractNode target = edge.getTarget(viewId);
                edgeIterator.remove();
                target.getMetaEdgesInTree().remove((MetaEdgeImpl) edge);
                view.decMetaEdgesCount(1);

                if (!node.getEdgesOutTree().hasNeighbour(target)) {
                    AbstractEdge realEdge = dhns.factory().newEdge(node, target, edge.getWeight(), edge.isDirected());
                    realEdge.getEdgeData().moveFrom(edge.getEdgeData());
                    realEdge.setWeight(edge.getWeight());
                    newEdges[i] = realEdge;

                    node.getEdgesOutTree().add(realEdge);
                    target.getEdgesInTree().add(realEdge);

                    node.incEnabledOutDegree();
                    target.incEnabledInDegree();
                    view.incEdgesCountEnabled(1);
                    view.incEdgesCountTotal(1);

                    if (target.getEdgesOutTree().hasNeighbour(node)) {
                        //Mutual
                        node.incEnabledMutualDegree();
                        target.incEnabledMutualDegree();
                        view.incMutualEdgesEnabled(1);
                        view.incMutualEdgesTotal(1);
                    }
                }
                i++;
View Full Code Here

    }

    public void incrementEdgesCounting(AbstractNode enabledNode, AbstractNode parent) {
        for (edgeIterator.setNode(enabledNode.getEdgesOutTree()); edgeIterator.hasNext();) {
            AbstractEdge edge = edgeIterator.next();
            AbstractNode target = edge.getTarget(view.getViewId());
            if (target.isEnabled()) {
                view.incEdgesCountEnabled(1);
                enabledNode.incEnabledOutDegree();
                target.incEnabledInDegree();
                if (target.getEdgesOutTree().hasNeighbour(enabledNode)) {
                    if (parent == null || (parent != null && target.parent != parent) || (parent != null && target.parent == parent && target.getId() < enabledNode.getId())) {
                        view.incMutualEdgesEnabled(1);
                        enabledNode.incEnabledMutualDegree();
                        target.incEnabledMutualDegree();
                    }
                }
            }
        }
        for (edgeIterator.setNode(enabledNode.getEdgesInTree()); edgeIterator.hasNext();) {
            AbstractEdge edge = edgeIterator.next();
            AbstractNode source = edge.getSource(view.getViewId());
            if (source.isEnabled() && (parent == null || source.parent != parent)) {
                view.incEdgesCountEnabled(1);
                enabledNode.incEnabledInDegree();
                source.incEnabledOutDegree();
            }
        }
    }
View Full Code Here

    }

    public void decrementEdgesCouting(AbstractNode disabledNode, AbstractNode parent) {
        for (edgeIterator.setNode(disabledNode.getEdgesOutTree()); edgeIterator.hasNext();) {
            AbstractEdge edge = edgeIterator.next();
            AbstractNode target = edge.getTarget(view.getViewId());
            if (target.isEnabled() || (parent != null && target.parent == parent)) {
                target.decEnabledInDegree();
                disabledNode.decEnabledOutDegree();
                view.decEdgesCountEnabled(1);
                if (target.getEdgesOutTree().hasNeighbour(disabledNode) && (parent == null || (parent != null && target.parent == parent && target.getId() < disabledNode.getId()))) {
                    target.decEnabledMutualDegree();
                    disabledNode.decEnabledMutualDegree();
                    view.decMutualEdgesEnabled(1);
                }
            }
        }
        for (edgeIterator.setNode(disabledNode.getEdgesInTree()); edgeIterator.hasNext();) {
            AbstractEdge edge = edgeIterator.next();
            AbstractNode source = edge.getSource(view.getViewId());
            if (source.isEnabled()) {
                view.decEdgesCountEnabled(1);
                disabledNode.decEnabledInDegree();
                source.decEnabledOutDegree();
            }
        }
    }
View Full Code Here

    }

    public void computeEdgesCounting(AbstractNode node) {
        for (edgeIterator.setNode(node.getEdgesOutTree()); edgeIterator.hasNext();) {
            AbstractEdge edge = edgeIterator.next();
            AbstractNode target = edge.getTarget(view.getViewId());
            if (target.isEnabled()) {
                target.incEnabledInDegree();
                node.incEnabledOutDegree();
                view.incEdgesCountEnabled(1);
                if (target.getEdgesOutTree().hasNeighbour(node) && target.getId() < node.getId()) {
                    target.incEnabledMutualDegree();
                    node.incEnabledMutualDegree();
                    view.incMutualEdgesEnabled(1);
                }
            }
        }
View Full Code Here

            next = treeList.getNode(nextIndex);
        } else {
            next = next.next();
        }

        AbstractNode value = next.getValue();
        value.avlNode.setIndex(nextIndex);
        ++nextIndex;
        return value;
    }
View Full Code Here

        dhns.getEventManager().fireEvent(new NodeEvent(EventType.RETRACT, node, view));
    }

    public void addNode(AbstractNode node, AbstractNode parent) {
        dhns.writeLock();
        AbstractNode parentNode;
        if (parent == null) {
            parentNode = treeStructure.getRoot();
        } else {
            parentNode = (parent);
        }
View Full Code Here

    public void deleteNode(AbstractNode node) {
        if (view.isMainView() && node.getNodeData().getNodes().getCount() > 1) {
            dhns.writeLock();
            for (AbstractNodeIterator itr = node.getNodeData().getNodes().iterator(); itr.hasNext();) {
                AbstractNode nodeInOtherView = itr.next();
                if (nodeInOtherView.getViewId() != view.getViewId()) {
                    GraphViewImpl otherView = nodeInOtherView.avlNode.getList().getView();
                    business.deleteNode(nodeInOtherView, otherView);
                }
            }
            AbstractNode[] deletesNodes = business.deleteNode(node, view);
View Full Code Here

    public void resetViewToLeaves() {
        dhns.writeLock();
        edgeProcessor.clearAllMetaEdges();
        view.setNodesEnabled(0);
        for (TreeListIterator itr = new TreeListIterator(treeStructure.getTree(), 1); itr.hasNext();) {
            AbstractNode node = itr.next();
            node.setEnabled(node.size == 0);
            if (node.isEnabled()) {
                view.incNodesEnabled(1);
            }
            edgeProcessor.resetEdgesCounting(node);
        }
        view.setEdgesCountEnabled(0);
        view.setMutualEdgesEnabled(0);
        for (TreeIterator itr = new TreeIterator(treeStructure, true, Tautology.instance); itr.hasNext();) {
            AbstractNode node = itr.next();
            edgeProcessor.computeMetaEdges(node, node);
            edgeProcessor.computeEdgesCounting(node);
        }
        graphVersion.incNodeAndEdgeVersion();
        dhns.writeUnlock();
View Full Code Here

    public void resetViewToTopNodes() {
        dhns.writeLock();
        edgeProcessor.clearAllMetaEdges();
        view.setNodesEnabled(0);
        for (TreeListIterator itr = new TreeListIterator(treeStructure.getTree(), 1); itr.hasNext();) {
            AbstractNode node = itr.next();
            node.setEnabled(node.parent == treeStructure.root);
            if (node.isEnabled()) {
                view.incNodesEnabled(1);
            }
            edgeProcessor.resetEdgesCounting(node);
        }
        view.setEdgesCountEnabled(0);
        view.setMutualEdgesEnabled(0);
        for (TreeIterator itr = new TreeIterator(treeStructure, true, Tautology.instance); itr.hasNext();) {
            AbstractNode node = itr.next();
            edgeProcessor.computeMetaEdges(node, node);
            edgeProcessor.computeEdgesCounting(node);
        }
        graphVersion.incNodeAndEdgeVersion();
        dhns.writeUnlock();
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.