Package org.geotools.graph.structure

Examples of org.geotools.graph.structure.Edge


            componentEdges.addAll(adjacentEdges)
//            LOGGER.finer("Adding " + adjacentEdges + " to component");
           
            Iterator aeIt = adjacentEdges.iterator();
            while (aeIt.hasNext()){
                Edge next = (Edge) aeIt.next();
//                LOGGER.finer("looking at edge " + next);
                Node additionalNode = next.getOtherNode(node);
//                LOGGER.finer("its other node is " + additionalNode);
                if (additionalNode == null){
                    throw new RuntimeException("I tried to get the other node of this edge " + next + " but it doesn't have " + node);
                }
                expandComponent(additionalNode, edges, componentNodes, componentEdges);
View Full Code Here


   
    public static Vector findAdjacentEdges(final Node node, final Collection edges){
        Vector ret = new Vector();
        Iterator it = edges.iterator();
        while (it.hasNext()){
            Edge next = (Edge) it.next();
            if ((next.getNodeA().equals(node)) || (next.getNodeB().equals(node))){
                ret.add(next);
            }
        }
        return ret;
    }
View Full Code Here

  public void test_1() {
   
    final Coordinate base = new Coordinate(0d,0d);
    final int n = 100;
    for (int i = 1; i <= n; i++) {
      Edge e = (Edge)generator().add(
        new LineSegment(
          new Coordinate(base.x + (i-1), base.y + (i-1)),
          new Coordinate(base.x + i, base.y + i)
        )
      )
    }
   
    //complete the circle
    generator().add(
      new LineSegment(new Coordinate(base.x + n, base.y + n), base)
    );
   
    generator().generate();
    Graph built = generator().getGraph();
   
    assertTrue(built.getEdges().size() == n+1);
    assertTrue(built.getNodes().size() == n+1);
   
    //all nodes should be of degree 2
    assertTrue(
      built.getNodesOfDegree(2).size() == built.getNodes().size()
    );
   
    //ensure coordinates
    GraphVisitor visitor = new GraphVisitor() {
      public int visit(Graphable component) {
        Edge e = (Edge)component;
        XYNode a = (XYNode)e.getNodeA();
        XYNode b = (XYNode)e.getNodeB();
       
        if (b.getCoordinate().equals(base)) {
          assertTrue(a.getCoordinate().equals(new Coordinate(n,n)))
        }
        else {
View Full Code Here

    assertTrue(m_node.getEdges().size() == 2);
   
    //test addition of multiple edges, different
    m_node.setDegree(2);
   
    Edge other = new OptEdge(m_node, m_otherNode);
    m_node.add(m_edge);
    m_node.add(other);
    assertTrue(m_node.getEdges().size() == 2);
    assertTrue(m_node.getEdges().contains(m_edge));
    assertTrue(m_node.getEdges().contains(other));
View Full Code Here

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

   
    assertTrue(walk.size() == builder().getGraph().getNodes().size());
    assertTrue(walk.isValid() && !walk.isClosed());
   
    //create a new edges in the graph making the graph a cycle
    Edge e = builder().buildEdge(ends[0], ends[1]);
    builder().addEdge(e);
   
    walk.add(ends[0]);
    assertTrue(walk.isValid() && walk.isClosed());
  }
View Full Code Here

       
        g.setColor(Color.RED);       
        Collection edges = graph.getEdges();
        Iterator edgeIt = edges.iterator();
        while (edgeIt.hasNext()){
            Edge next = (Edge) edgeIt.next();
            if (!((next.getNodeA() instanceof XYNode) && (next.getNodeB() instanceof XYNode))){
                throw new RuntimeException("I can't draw an edge without endpoint coordinates.");
            }
            Coordinate coordA = ((XYNode) next.getNodeA()).getCoordinate();
            Coordinate coordB = ((XYNode) next.getNodeB()).getCoordinate();
            if (colorEdges){
                if (shortEdges.contains(next)){
                    g.setColor(Color.RED);
                } else if (longEdges.contains(next)){
                    g.setColor(Color.GREEN);
View Full Code Here

    Node n1 = m_builder.buildNode();
    Node n2 = m_builder.buildNode();
   
    assertTrue(m_builder.getEdges().isEmpty());
   
    Edge e = m_builder.buildEdge(n1, n2);
   
    assertTrue(e != null);
    assertTrue(e instanceof OptEdge);
    assertTrue(e.getNodeA() == n1 || e.getNodeA() == n2);
    assertTrue(e.getNodeB() == n1 || e.getNodeB() == n2);
  }
View Full Code Here

    n1.setDegree(1);
   
    OptNode n2 = (OptNode)m_builder.buildNode();
    n2.setDegree(1);
   
    Edge e = m_builder.buildEdge(n1, n2);
   
    m_builder.addNode(n1);
    m_builder.addNode(n2);
   
    m_builder.addEdge(e);
View Full Code Here

    n1.setDegree(1);
   
    OptNode n2 = (OptNode)m_builder.buildNode();
    n2.setDegree(1);
   
    Edge e = m_builder.buildEdge(n1, n2);
   
    m_builder.addNode(n1);
    m_builder.addNode(n2);
    m_builder.addEdge(e);
   
View Full Code Here

TOP

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

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.