Package org.geotools.graph.structure.opt

Examples of org.geotools.graph.structure.opt.OptDirectedNode


    assertTrue(de.getInNode() == n1);
    assertTrue(de.getOutNode() == n2);
  }
 
  public void test_addEdge() {
    OptDirectedNode n1 = (OptDirectedNode)m_builder.buildNode();
    n1.setInDegree(0);
    n1.setOutDegree(1);

    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));
    assertTrue(n2.getInEdges().contains(e));
  }
View Full Code Here


   *
   * @see GraphBuilder#buildNode()
   * @see OptDirectedNode
   */
  public Node buildNode() {
    return(new OptDirectedNode());
  }
View Full Code Here

      entry.setValue(node);
    }
  }
 
  protected Edge generateEdge(LineSegment line) {
    OptDirectedNode n1 = (OptDirectedNode)m_in2count.get(line.p0);
    OptDirectedNode n2 = (OptDirectedNode)m_out2count.get(line.p1);
   
    Edge edge = getGraphBuilder().buildEdge(n1,n2);
    getGraphBuilder().addEdge(edge);
   
    return(edge)
View Full Code Here

  ) {
    //use maps for id since optimized graphable doesn't use id's
    HashMap node2id = new HashMap();
    HashMap edge2id = new HashMap();
   
    OptDirectedNode n1 = (OptDirectedNode)builder.buildNode();
    n1.setInDegree(0);
    n1.setOutDegree(1);
    
    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) {
        n2.setInDegree(1);
View Full Code Here

  }
 
  public static Object[] buildPerfectBinaryTree(
    OptDirectedGraphBuilder builder, int levels
  ) {
    OptDirectedNode root = (OptDirectedNode)builder.buildNode();
    root.setInDegree(0);
    root.setOutDegree(2);
    builder.addNode(root);
   
    FIFOQueue queue = new FIFOQueue((int)Math.pow(2, levels+1));
    queue.enq(root);
   
    //build a complete binary tree
    // number of nodes = 2^(n+1) - 1
    int level = 0;
    while (level < levels) {  
      int nnodes = (int)Math.pow(2, level);
      for (int i = 0; i < nnodes; i++) {
        Node n = (Node)queue.deq()
       
        OptDirectedNode ln = (OptDirectedNode) builder.buildNode();
        if (level < levels-1) {
          ln.setInDegree(1);
          ln.setOutDegree(2);
        }
        else {
          ln.setInDegree(1);
          ln.setOutDegree(0);
        }
       
        OptDirectedNode rn = (OptDirectedNode) builder.buildNode();
        if (level < levels-1) {
          rn.setInDegree(1);
          rn.setOutDegree(2);
        }
        else {
          rn.setInDegree(1);
          rn.setOutDegree(0);
        }
       
        Edge le = builder.buildEdge(n, ln);
        Edge re = builder.buildEdge(n, rn);
       
View Full Code Here

TOP

Related Classes of org.geotools.graph.structure.opt.OptDirectedNode

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.