@SuppressWarnings("unchecked") @Override public Iterator nodes() { Collection<obvious.data.Node> obvNodes = network.getNodes(); ArrayList<Node> prefNodes = new ArrayList<Node>(); for (obvious.data.Node node : obvNodes) { prefNodes.add(new WrapToPrefNode(network, (TupleImpl) node, node.getRow())); } return prefNodes.iterator(); }
@SuppressWarnings("unchecked") @Override public Iterator inNeighbors(Node n) { Collection<obvious.data.Node> obvNodes = network.getPredecessors( getObviousNode(n)); ArrayList<Node> prefNodes = new ArrayList<Node>(); for (obvious.data.Node node : obvNodes) { prefNodes.add(new WrapToPrefNode(network, (TupleImpl) node, node.getRow())); } return prefNodes.iterator(); }
@SuppressWarnings("unchecked") @Override public Iterator neighbors(Node n) { Collection<obvious.data.Node> obvNodes = network.getNeighbors( getObviousNode(n)); ArrayList<Node> prefNodes = new ArrayList<Node>(); for (obvious.data.Node node : obvNodes) { prefNodes.add(new WrapToPrefNode(network, (TupleImpl) node, node.getRow())); } return prefNodes.iterator(); }
@SuppressWarnings("unchecked") @Override public Iterator outNeighbors(Node n) { Collection<obvious.data.Node> obvNodes = network.getSuccessors( getObviousNode(n)); ArrayList<Node> prefNodes = new ArrayList<Node>(); for (obvious.data.Node node : obvNodes) { prefNodes.add(new WrapToPrefNode(network, (TupleImpl) node, node.getRow())); } return prefNodes.iterator(); }
@Override public int getTargetNode(int edge) { return network.getTarget(getObviousEdge(edge)).getRow(); }
@Override public int getSourceNode(int edge) { return network.getSource(getObviousEdge(edge)).getRow(); }
/** * Gets incident edges for a spotted node. * @param node spotted * @return collection of incident edges */ @SuppressWarnings("unchecked") public Collection<Edge> getIncidentEdges(Node node) { Collection<Edge> edge = new ArrayList<Edge>(); prefuse.data.Node prefNode = this.graph.getNodeFromKey( this.graph.getKey(node.getRow())); Iterator<Edge> i = this.graph.edges(prefNode); while (i.hasNext()) { edge.add(new PrefuseObviousEdge((prefuse.data.Edge) i.next())); } return edge; }
/** * Get out-linking edges for a specific node. * @param node spotted node * @return collection of out-linking edges */ @SuppressWarnings("unchecked") public Collection<Edge> getOutEdges(Node node) { Collection<Edge> outEdge = new ArrayList<Edge>(); prefuse.data.Node prefNode = this.graph.getNodeFromKey( this.graph.getKey(node.getRow())); Iterator<Edge> i = this.graph.outEdges(prefNode); while (i.hasNext()) { outEdge.add(new PrefuseObviousEdge((prefuse.data.Edge) i.next())); } return outEdge; }
/** * Gets in-linking edges for a specific node. * @param node spotted node * @return collection of in-linking edges */ @SuppressWarnings("unchecked") public Collection<Edge> getInEdges(Node node) { Collection<Edge> inEdge = new ArrayList<Edge>(); prefuse.data.Node prefNode = this.graph.getNodeFromKey( this.graph.getKey(node.getRow())); Iterator<Edge> i = this.graph.inEdges(prefNode); while (i.hasNext()) { inEdge.add(new PrefuseObviousEdge((prefuse.data.Edge) i.next())); } return inEdge; }
/** * Gets the neighbors node. * @param node central node to determine the neighborhood * @return collection of nodes that are neighbors */ @SuppressWarnings("unchecked") public Collection<Node> getNeighbors(Node node) { Collection<Node> neighbor = new ArrayList<Node>(); prefuse.data.Node prefNode = this.graph.getNodeFromKey( this.graph.getKey(node.getRow())); Iterator<prefuse.data.Node> i = this.graph.neighbors(prefNode); while (i.hasNext()) { neighbor.add(new PrefuseObviousNode((prefuse.data.Node) i.next())); } return neighbor; }
@Override public Node getTargetNode() { obvious.data.Node obviousNode = network.getTarget(getObviousEdge()); return new WrapToPrefNode(network, (TupleImpl) obviousNode, obviousNode.getRow()); }
@Override public int getAdjacentNode(int edge, int node) { return network.getOpposite(getObviousNode(node), getObviousEdge(edge)).getRow(); }
@Override public Node getSourceNode() { obvious.data.Node obviousNode = network.getSource(getObviousEdge()); return new WrapToPrefNode(network, (TupleImpl) obviousNode, obviousNode.getRow()); }
/** * Gets for two nodes the connecting edge. * @param v1 first node * @param v2 second node * @return connecting edge */ public Edge getConnectingEdge(Node v1, Node v2) { prefuse.data.Node prefV1 = this.graph.getNodeFromKey( this.graph.getKey(v1.getRow())); prefuse.data.Node prefV2 = this.graph.getNodeFromKey( this.graph.getKey(v2.getRow())); prefuse.data.Edge prefEdge = this.graph.getEdge(prefV1, prefV2); return new PrefuseObviousEdge(prefEdge); }
/** * Gets a collection of children of a node in the tree. * @param node a node of the tree * @return children of the node */ public Collection<Node> getChildNodes(Node node) { Collection<Node> nodeList = new ArrayList<Node>(); prefuse.data.Node prefNode = this.getPrefuseGraph().getNodeFromKey( this.getPrefuseGraph().getKey(node.getRow())); prefuse.data.Tree prefTree = (prefuse.data.Tree) this.getPrefuseGraph(); for (int i = 0; i < prefTree.getChildCount(node.getRow()); i++) { nodeList.add(new PrefuseObviousNode(prefTree.getChild(prefNode, i))); } return nodeList; }
@Override public TupleSet getNodes() { TupleSet nodes = new Table(); for (obvious.data.Node node : network.getNodes()) { nodes.addTuple(new WrapToPrefNode(network, (TupleImpl) node, node.getRow())); } return nodes; }
@Override public Node getTargetNode(Edge e) { return new WrapToPrefNode(network, (TupleImpl) network.getTarget(getObviousEdge(e)), network.getTarget(getObviousEdge(e)).getRow()); }
@Override public Node getSourceNode(Edge e) { return new WrapToPrefNode(network, (TupleImpl) network.getSource(getObviousEdge(e)), network.getSource(getObviousEdge(e)).getRow()); }
@Override public Node getAdjacentNode(Edge e, Node n) { return new WrapToPrefNode(network, (TupleImpl) network.getOpposite(getObviousNode(n), getObviousEdge(e)), network.getOpposite(getObviousNode(n), getObviousEdge(e)).getRow()); }
/** * Gets the parent edge. * @param node a node of the tree * @return parent edge */ public Edge getParentEdge(Node node) { prefuse.data.Node prefNode = this.getPrefuseGraph().getNodeFromKey( this.getPrefuseGraph().getKey(node.getRow())); prefuse.data.Edge parentEdge = ((prefuse.data.Tree) this.getPrefuseGraph()).getParentEdge(prefNode); return new PrefuseObviousEdge(parentEdge); }