Package org.geotools.graph.structure

Examples of org.geotools.graph.structure.Edge


    
    builder.addNode(n1);
    node2id.put(n1, new Integer(0));
   
    OptDirectedNode n2 = null;
    Edge e = null;
    OptDirectedNode first = n1;
   
    for (int i = 1; i < nnodes; i++) {
      n2 = (OptDirectedNode)builder.buildNode();
      if (i < nnodes-1) {
View Full Code Here


          return(0);
        }
      }
    );
   
    Edge e = builder.buildEdge(n, (Node) bif.get(0));
    builder.addNode(n);
    builder.addEdge(e);
   
    Node[] bifends = new Node[]{ends[0], ends[1], (Node)bif.get(0)};
    return(bifends);
View Full Code Here

       
        Node rn = builder.buildNode();
        rn.setObject(n.getObject() + ".1");
        id2node.put(rn.getObject(), rn);
       
        Edge le = builder.buildEdge(n, ln);
        Edge re = builder.buildEdge(n, rn);
       
        builder.addNode(ln);
        builder.addNode(rn);
        builder.addEdge(le);
        builder.addEdge(re);
View Full Code Here

       
        OptNode rn = (OptNode) builder.buildNode();
        if (level < levels-1) rn.setDegree(3);
        else rn.setDegree(1);
       
        Edge le = builder.buildEdge(n, ln);
        Edge re = builder.buildEdge(n, rn);
       
        builder.addNode(ln);
        builder.addNode(rn);
        builder.addEdge(le);
        builder.addEdge(re);
View Full Code Here

        else {
          rn.setInDegree(1);
          rn.setOutDegree(0);
        }
       
        Edge le = builder.buildEdge(n, ln);
        Edge re = builder.buildEdge(n, rn);
       
        builder.addNode(ln);
        builder.addNode(rn);
        builder.addEdge(le);
        builder.addEdge(re);
View Full Code Here

  }
 
  public static Node[] buildCircular(GraphBuilder builder, int nnodes) {
    //build a graph with no bifurcations then join the first and last verticies
    Node[] ends = buildNoBifurcations(builder, nnodes);
    Edge e = builder.buildEdge(ends[1], ends[0]);
    builder.addEdge(e);
   
    return(ends);
  }
View Full Code Here

        m_builder.removeNodes(nodes);
       
        //add merged object to the generator
       
        //create the new edge
        Edge newEdge = m_builder.buildEdge(first, last);
       
        //set the underlying object to be the merged object we created
        m_merger.setMergedObject(newEdge, obj, edges);
       
        //add the edge to the builder
View Full Code Here

  public void test_0() {
    final Coordinate base = new Coordinate(0d,0d);
    final int n = 5;
   
    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)
        )
      );
    }
   
    generator().generate();
    Graph built = generator().getGraph();
   
    //ensure correct graph structure
    assertTrue(built.getEdges().size() == n);
    assertTrue(built.getNodes().size() == n+1);
   
    //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();
       
        //coordinats should be a distance of sqrt(2)
        //assertTrue(b.getX() == a.getX() + 1 && b.getY() == a.getY() + 1);
        assertTrue(
          b.getCoordinate().equals(
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);
   
    assertTrue(built.getNodesOfDegree(2).size() == n+1);
   
    //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();
       
        //coordinats should be a distance of sqrt(2)
        if (b.getCoordinate().equals(base))
          assertTrue(a.getCoordinate().equals(new Coordinate(n,n)));
        else
View Full Code Here

      assertTrue(before.getEdges().size() == after.getEdges().size());
     
      //ensure same graph structure
      GraphVisitor visitor = new GraphVisitor() {
        public int visit(Graphable component) {
          Edge e = (Edge)component;
         
          assertTrue(e.getNodeA().getID() == e.getID());
          assertTrue(e.getNodeB().getID() == e.getID()+1);
         
          return(0);
        }
      };
      after.visitEdges(visitor);
     
      visitor = new GraphVisitor() {
        public int visit(Graphable component) {
          Node n = (Node)component;
         
          if (n.getDegree() == 1) {
            assertTrue(n.getID() == 0 || n.getID() == nnodes-1)
          }
          else {
            assertTrue(n.getDegree() == 2);
           
            Edge e0 = (Edge)n.getEdges().get(0);
            Edge e1 = (Edge)n.getEdges().get(1);
           
            assertTrue(
              (e0.getID() == n.getID()-1 && e1.getID() == n.getID()) ||
              (e1.getID() == n.getID()-1 && e0.getID() == n.getID())
            );
           
          }
         
          return(0);
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.