Package org.geotools.graph.structure

Examples of org.geotools.graph.structure.DirectedEdge


 
  public void test_buildEdge() {
    Node n1 = m_builder.buildNode();
    Node n2 = m_builder.buildNode();
   
    DirectedEdge de = (DirectedEdge)m_builder.buildEdge(n1,n2);
   
    assertTrue(de != null);
    assertTrue(de.getInNode() == n1);
    assertTrue(de.getOutNode() == n2);
  }
View Full Code Here


 
  public void test_addEdge_0() {
    DirectedNode n1 = (DirectedNode)m_builder.buildNode();
    DirectedNode n2 = (DirectedNode)m_builder.buildNode();
   
    DirectedEdge e = (DirectedEdge)m_builder.buildEdge(n1,n2);
   
    m_builder.addEdge(e);
   
    assertTrue(m_builder.getEdges().contains(e));
    assertTrue(n1.getOutEdges().contains(e));
View Full Code Here

  }
 
  public void test_addEdge_1() {
    //add a loop edge, in degree == 1, out degree = 1, degree == 2
    DirectedNode n1 = (DirectedNode)m_builder.buildNode();
    DirectedEdge e = (DirectedEdge)m_builder.buildEdge(n1,n1);
   
    m_builder.addNode(n1);
    m_builder.addEdge(e);
   
    assertTrue(n1.getInEdges().size() == 1);
View Full Code Here

      assertTrue(before.getEdges().size() == after.getEdges().size());
     
      //ensure same graph structure
      GraphVisitor visitor = new GraphVisitor() {
        public int visit(Graphable component) {
          DirectedEdge e = (DirectedEdge)component;
         
          assertTrue(e.getInNode().getID() == e.getID());
          assertTrue(e.getOutNode().getID() == e.getID()+1);
         
          return(0);
        }
      };
      after.visitEdges(visitor);
     
      visitor = new GraphVisitor() {
        public int visit(Graphable component) {
          DirectedNode n = (DirectedNode)component;
         
          if (n.getDegree() == 1) {
            assertTrue(n.getID() == 0 || n.getID() == nnodes-1)
          }
          else {
            assertTrue(n.getDegree() == 2);
           
            Edge in = (Edge)n.getInEdges().get(0);
            Edge out = (Edge)n.getOutEdges().get(0);
           
            assertTrue(
              (in.getID() == n.getID()-1 && out.getID() == n.getID())
            );
           
          }
         
          return(0);
        }
      };
      after.visitNodes(visitor);
     
    }
    catch(Exception e) {
      e.printStackTrace();
      assertTrue(false)
    }
  } 
View Full Code Here

 
  public void test_buildEdge() {
    Node n1 = m_builder.buildNode();
    Node n2 = m_builder.buildNode();
   
    DirectedEdge de = (DirectedEdge)m_builder.buildEdge(n1,n2);
   
    assertTrue(de != null);
    assertTrue(de instanceof OptDirectedEdge);
    assertTrue(de.getInNode() == n1);
    assertTrue(de.getOutNode() == n2);
  }
View Full Code Here

    OptDirectedNode n2 = (OptDirectedNode)m_builder.buildNode();
    n2.setInDegree(1);
    n2.setOutDegree(0);
   
    DirectedEdge e = (DirectedEdge)m_builder.buildEdge(n1,n2);
   
    m_builder.addEdge(e);
   
    assertTrue(m_builder.getEdges().contains(e));
    assertTrue(n1.getOutEdges().contains(e));
View Full Code Here

   *
   * @see DirectedEdge
   * @see GraphBuilder#addEdge(Edge)
   */
  public void addEdge(Edge edge) {
    DirectedEdge de = (DirectedEdge)edge;
    de.getInNode().addOut(de);
    de.getOutNode().addIn(de);
    getEdges().add(de);
  }
View Full Code Here

   */
  public Edge getInEdge(DirectedNode other) {
    //must explictley check that the edge has node other, and one node this,
    // just checking other is not good enough because of loops
    for (int i = 0; i < m_in.size(); i++) {
      DirectedEdge edge = (DirectedEdge)m_in.get(i);
      if (edge.getInNode().equals(other) && edge.getOutNode().equals(this))
        return(edge);
    }
    return(null);
  }
View Full Code Here

   */
  public Edge getOutEdge(DirectedNode other) {
    //must explictley check that the edge has node other, and one node this,
    // just checking other is not good enough because of loops
    for (int i = 0; i < m_out.size(); i++) {
      DirectedEdge edge = (DirectedEdge)m_out.get(i);
      if (edge.getOutNode().equals(other) && edge.getInNode().equals(this))
        return(edge);
    }
    return(null);
  }
View Full Code Here

   * @see DirectedNode#getInEdges(DirectedNode)
   */
  public List getInEdges(DirectedNode other) {
    ArrayList edges = new ArrayList();
    for (int i = 0; i < m_in.size(); i++) {
      DirectedEdge edge = (DirectedEdge)m_in.get(i);
      if (edge.getInNode().equals(other)) edges.add(edge);
    }
    return(edges);
  }
View Full Code Here

TOP

Related Classes of org.geotools.graph.structure.DirectedEdge

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.