Examples of AbstractEdge


Examples of org.gephi.graph.dhns.edge.AbstractEdge

        ParamAVLIterator<AbstractEdge> edgeIterator = new ParamAVLIterator<AbstractEdge>();
        for (TreeListIterator itr = new TreeListIterator(treeStructure.getTree(), 1); itr.hasNext();) {
            AbstractNode node = itr.next();
            if (!node.getEdgesOutTree().isEmpty()) {
                for (edgeIterator.setNode(node.getEdgesOutTree()); edgeIterator.hasNext();) {
                    AbstractEdge edge = edgeIterator.next();
                    AbstractEdge edgeCopy;
                    AbstractNode sourceCopy = newStructure.getNodeAt(edge.getSource(view.getViewId()).getPre());
                    AbstractNode targetCopy = newStructure.getNodeAt(edge.getTarget(view.getViewId()).getPre());
                    if (edge.isMixed()) {
                        edgeCopy = factory.newEdge(edge.getEdgeData().getId(), sourceCopy, targetCopy, edge.getWeight(), edge.isDirected());
                        if (edge.isDirected()) {
                            destination.touchDirected();
                        } else {
                            destination.touchUndirected();
                        }
                    } else {
                        edgeCopy = factory.newEdge(sourceCopy, targetCopy);
                        edgeCopy.setWeight(edge.getWeight());
                        destination.touchDirected();
                    }
                    duplicateEdgeData(edge.getEdgeData(), edgeCopy.getEdgeData());
                    sourceCopy.getEdgesOutTree().add(edgeCopy);
                    targetCopy.getEdgesInTree().add(edgeCopy);
                    newGraphStructure.addToDictionnary(edgeCopy);
                }
            }
View Full Code Here

Examples of org.gephi.graph.dhns.edge.AbstractEdge

            AbstractNode absSourceNode = (AbstractNode) sourceNode;
            AbstractNode nodeCopy = nodeMap.get(absSourceNode);
            int sourceView = absSourceNode.getViewId();
            if (!absSourceNode.getEdgesOutTree().isEmpty()) {
                for (edgeIterator.setNode(absSourceNode.getEdgesOutTree()); edgeIterator.hasNext();) {
                    AbstractEdge edge = edgeIterator.next();
                    AbstractNode originalTargetNode = edge.getTarget(sourceView);
                    AbstractNode copyTargetNode = nodeMap.get(originalTargetNode);
                    if (copyTargetNode != null) {
                        AbstractEdge edgeCopy = factory.newEdge(edge.getEdgeData().getId(), nodeCopy, copyTargetNode, edge.getWeight(), edge.isDirected());
                        destGraph.addEdge(edgeCopy);
                        duplicateEdgeData(edge.getEdgeData(), edgeCopy.getEdgeData());
                    }
                }
            }
            if (!absSourceNode.getMetaEdgesOutTree().isEmpty()) {
                for (edgeIterator.setNode(absSourceNode.getMetaEdgesOutTree()); edgeIterator.hasNext();) {
                    AbstractEdge edge = edgeIterator.next();
                    AbstractNode originalTargetNode = edge.getTarget(sourceView);
                    AbstractNode copyTargetNode = nodeMap.get(originalTargetNode);
                    if (copyTargetNode != null) {
                        AbstractEdge edgeCopy = factory.newEdge(edge.getEdgeData().getId(), nodeCopy, copyTargetNode, edge.getWeight(), edge.isDirected());
                        destGraph.addEdge(edgeCopy);
                        duplicateEdgeData(edge.getEdgeData(), edgeCopy.getEdgeData());
                    }
                }
            }
        }
View Full Code Here

Examples of org.gephi.graph.dhns.edge.AbstractEdge

        int i = 0;

        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);
                clearedEdges[i] = edge;
                i++;
            }
            node.getEdgesOutTree().clear();
        }
View Full Code Here

Examples of org.gephi.graph.dhns.edge.AbstractEdge

    public void clearEdgesWithoutRemove(AbstractNode node) {
        if (node.getEdgesInTree().getCount() > 0) {
            edgeIterator.setNode(node.getEdgesInTree());
            while (edgeIterator.hasNext()) {
                AbstractEdge edge = edgeIterator.next();
                removeEdgeFromMetaEdge(edge);
            }
        }

        if (node.getEdgesOutTree().getCount() > 0) {
            edgeIterator.setNode(node.getEdgesOutTree());
            while (edgeIterator.hasNext()) {
                AbstractEdge edge = edgeIterator.next();
                removeEdgeFromMetaEdge(edge);
            }
        }
    }
View Full Code Here

Examples of org.gephi.graph.dhns.edge.AbstractEdge

    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();
        }

        if (node.getMetaEdgesOutTree().getCount() > 0) {
            edgeIterator.setNode(node.getMetaEdgesOutTree());
            while (edgeIterator.hasNext()) {
                AbstractEdge edge = edgeIterator.next();
                edge.getTarget(viewId).getMetaEdgesInTree().remove((MetaEdgeImpl) edge);
                view.decMetaEdgesCount(1);
            }
            node.getMetaEdgesOutTree().clear();
        }
    }
View Full Code Here

Examples of org.gephi.graph.dhns.edge.AbstractEdge

        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();
View Full Code Here

Examples of org.gephi.graph.dhns.edge.AbstractEdge

        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);
                            }
                        }
                    }
//                    AbstractNode sourceNode = treeStructure.getEnabledAncestorOrSelf(edge.getSource(viewId));
View Full Code Here

Examples of org.gephi.graph.dhns.edge.AbstractEdge

            newEdges = new AbstractEdge[node.getMetaEdgesInTree().getCount() + node.getMetaEdgesOutTree().getCount()];
        }
        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);
View Full Code Here

Examples of org.gephi.graph.dhns.edge.AbstractEdge

        return newEdges;
    }

    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

Examples of org.gephi.graph.dhns.edge.AbstractEdge

        }
    }

    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
TOP
Copyright © 2018 www.massapi.com. 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.