Package org.gephi.graph.dhns.node

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


        if (node.getEdgesInTree().getCount() > 0) {
            edgeIterator.setNode(node.getEdgesInTree());
            while (edgeIterator.hasNext()) {
                AbstractEdge edge = edgeIterator.next();
                removeEdgeFromMetaEdge(edge);
                AbstractNode source = edge.getSource(viewId);
                view.decEdgesCountTotal(1);
                boolean mutual = !edge.isSelfLoop() && node.getEdgesOutTree().hasNeighbour(source);
                if (node.isEnabled() && source.isEnabled()) {
                    view.decEdgesCountEnabled(1);
                    node.decEnabledInDegree();
                    source.decEnabledOutDegree();
                    if (mutual) {
                        source.decEnabledMutualDegree();
                        node.decEnabledMutualDegree();
                        view.decMutualEdgesEnabled(1);
                    }
                }
                if (mutual) {
                    view.decMutualEdgesTotal(1);
                }

                source.getEdgesOutTree().remove(edge);
                clearedEdges[i] = edge;
                i++;
            }
            node.getEdgesInTree().clear();
        }

        if (node.getEdgesOutTree().getCount() > 0) {
            edgeIterator.setNode(node.getEdgesOutTree());
            while (edgeIterator.hasNext()) {
                AbstractEdge edge = edgeIterator.next();
                removeEdgeFromMetaEdge(edge);
                AbstractNode target = edge.getTarget(viewId);

                if (!edge.isSelfLoop()) {
                    view.decEdgesCountTotal(1);
                    if (node.isEnabled()) {
                        node.decEnabledOutDegree();
                        target.decEnabledInDegree();
                        view.decEdgesCountEnabled(1);
                    }
                }

                edge.getTarget(viewId).getEdgesInTree().remove(edge);
View Full Code Here


    public void clearMetaEdges(AbstractNode node) {
        if (node.getMetaEdgesInTree().getCount() > 0) {
            edgeIterator.setNode(node.getMetaEdgesInTree());
            while (edgeIterator.hasNext()) {
                AbstractEdge edge = edgeIterator.next();
                AbstractNode source = edge.getSource(viewId);
                if (!edge.isSelfLoop() && node.getEdgesOutTree().hasNeighbour(source)) {
                    node.decMutualMetaEdgeDegree();
                    source.decMutualMetaEdgeDegree();
                    view.decMutualMetaEdgesTotal(1);
                }
                source.getMetaEdgesOutTree().remove((MetaEdgeImpl) edge);
                view.decMetaEdgesCount(1);

            }
            node.getMetaEdgesInTree().clear();
        }
View Full Code Here

        int rangeLimit = rangeStart + rangeNode.size;
        if (enabledNode.getMetaEdgesOutTree().getCount() > 0) {
            edgeIterator.setNode(enabledNode.getMetaEdgesOutTree());
            while (edgeIterator.hasNext()) {
                MetaEdgeImpl metaEdge = (MetaEdgeImpl) edgeIterator.next();
                AbstractNode target = metaEdge.getTarget(viewId);
                int targetPre = target.getPre();
                if (targetPre >= rangeStart && targetPre <= rangeLimit) {
                    //The meta edge has to be removed because it's in the range
                    if (!metaEdge.isSelfLoop() && target.getEdgesInTree().hasNeighbour(enabledNode)) {
                        enabledNode.decMutualMetaEdgeDegree();
                        target.decMutualMetaEdgeDegree();
                        view.decMutualMetaEdgesTotal(1);
                    }
                    edgeIterator.remove();
                    target.getMetaEdgesInTree().remove(metaEdge);
                    view.decMetaEdgesCount(1);
                }
            }
        }
View Full Code Here

    public AbstractEdge[] clearAllEdges() {
        AbstractEdge[] edges = new AbstractEdge[view.getEdgesCountTotal()];
        int i = 0;
        for (TreeListIterator itr = new TreeListIterator(treeStructure.getTree()); itr.hasNext();) {
            AbstractNode node = itr.next();
            edgeIterator.setNode(node.getEdgesOutTree());
            while (edgeIterator.hasNext()) {
                AbstractEdge edge = edgeIterator.next();
                dhns.getGraphStructure().removeFromDictionnary(edge);
                edges[i++] = edge;
            }
            node.getEdgesInTree().clear();
            node.getEdgesOutTree().clear();
            node.setEnabledInDegree(0);
            node.setEnabledOutDegree(0);
            node.setEnabledMutualDegree(0);
            node.clearMetaEdges();
        }
        view.setEdgesCountTotal(0);
        view.setEdgesCountEnabled(0);
        view.setMutualEdgesEnabled(0);
        view.setMutualEdgesTotal(0);
View Full Code Here

        return edges;
    }

    public void clearAllMetaEdges() {
        for (TreeListIterator itr = new TreeListIterator(treeStructure.getTree()); itr.hasNext();) {
            AbstractNode node = itr.next();
            node.clearMetaEdges();
            node.setMutualMetaEdgeDegree(0);
        }
        view.setMetaEdgesCountTotal(0);
        view.setMutualMetaEdgesTotal(0);
    }
View Full Code Here

        if (enabledAncestor == null) {
            enabledAncestor = node;
        }
        int clusterEnd = node.getPre() + node.size;
        for (int i = node.pre; i <= clusterEnd; i++) {
            AbstractNode desc = treeStructure.getNodeAt(i);
            if (desc.getEdgesOutTree().getCount() > 0) {
                edgeIterator.setNode(desc.getEdgesOutTree());
                while (edgeIterator.hasNext()) {
                    AbstractEdge edge = edgeIterator.next();
                    AbstractNode[] enabledAncestors = treeStructure.getEnabledAncestorsOrSelf(edge.getTarget(viewId));
                    if (enabledAncestors != null) {
                        for (int j = 0; j < enabledAncestors.length; j++) {
                            AbstractNode targetNode = enabledAncestors[j];
                            if (!(targetNode == edge.getTarget(viewId) && enabledAncestor == edge.getSource(viewId))) {
                                createMetaEdge(enabledAncestor, targetNode, edge);
                            }
                        }
                    }

//                    AbstractNode targetNode = treeStructure.getEnabledAncestorOrSelf(edge.getTarget(viewId));
//                    if (targetNode != null && !(targetNode == edge.getTarget(viewId) && enabledAncestor == edge.getSource(viewId))) {
//                    //Create Meta Edge if not exist
//                    createMetaEdge(enabledAncestor, targetNode, edge);
//                    }
                }
            }
            if (desc.getEdgesInTree().getCount() > 0) {
                edgeIterator.setNode(desc.getEdgesInTree());
                while (edgeIterator.hasNext()) {
                    AbstractEdge edge = edgeIterator.next();
                    AbstractNode[] enabledAncestors = treeStructure.getEnabledAncestorsOrSelf(edge.getSource(viewId));
                    if (enabledAncestors != null) {
                        for (int j = 0; j < enabledAncestors.length; j++) {
                            AbstractNode sourceNode = enabledAncestors[j];
                            if (!(sourceNode == edge.getSource(viewId) && enabledAncestor == edge.getTarget(viewId))) {
                                createMetaEdge(sourceNode, enabledAncestor, edge);
                            }
                        }
                    }
View Full Code Here

        }
    }

    public void computeMetaEdges() {
        for (TreeIterator itr = new TreeIterator(treeStructure, true, Tautology.instance); itr.hasNext();) {
            AbstractNode node = itr.next();
            computeMetaEdges(node, node);
        }
    }
View Full Code Here

            computeMetaEdges(node, node);
        }
    }

    private void createMetaEdge(AbstractNode source, AbstractNode target, AbstractEdge edge) {
        AbstractNode edgeSource = edge.getSource(viewId);
        AbstractNode edgeTarget = edge.getTarget(viewId);
        if (edgeSource == source && edgeTarget == target) {
            return;
        }
        if (source == target) {
            return;
View Full Code Here

        AbstractNode[] targetAncestors = treeStructure.getEnabledAncestorsOrSelf(edge.getTarget(viewId));

        if (sourceAncestors != null && targetAncestors != null) {
            for (int i = 0; i < sourceAncestors.length; i++) {
                for (int j = 0; j < targetAncestors.length; j++) {
                    AbstractNode sourceParent = sourceAncestors[i];
                    AbstractNode targetParent = targetAncestors[j];
                    if (sourceParent != targetParent) {
                        createMetaEdge(sourceParent, targetParent, edge);
                    }
                }
            }
View Full Code Here


        MetaEdgeImpl metaEdge = getMetaEdge(edge);
        if (metaEdge != null) {
            if (metaEdge.removeEdge(edge)) {
                AbstractNode edgeSource = edge.getSource(viewId);
                AbstractNode edgeTarget = edge.getTarget(viewId);
                dhns.getSettingsManager().getMetaEdgeBuilder().pullEdge(edge, edgeSource, edgeTarget, metaEdge);
            }
            if (metaEdge.isEmpty()) {
                AbstractNode source = metaEdge.getSource(viewId);
                AbstractNode target = metaEdge.getTarget(viewId);
                if(!metaEdge.isSelfLoop() && source.getMetaEdgesInTree().hasNeighbour(target)) {
                    source.decMutualMetaEdgeDegree();
                    target.decMutualMetaEdgeDegree();
                    view.decMutualMetaEdgesTotal(1);
                }
                source.getMetaEdgesOutTree().remove(metaEdge);
                target.getMetaEdgesInTree().remove(metaEdge);
                view.decMetaEdgesCount(1);
            }
        }
    }
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.