Package org.geotools.graph.structure

Examples of org.geotools.graph.structure.Node


  }

  public void test_buildNode() {
    assertTrue(m_builder.getNodes().isEmpty());
   
    Node n = m_builder.buildNode();
 
    assertTrue(n != null)
  }
View Full Code Here


            if (!(shortEdges.isEmpty())){
                Vector shortlyConnectedComponents = new Vector();
                Iterator shortIt = shortEdges.iterator();
                while (shortIt.hasNext()){
                    Edge nextEdge = (Edge) shortIt.next();
                    Node other = nextEdge.getOtherNode(next);
                    Graph g = getMyComponent(other, connectedComponents);
                    if (!(shortlyConnectedComponents.contains(g))){
                        shortlyConnectedComponents.add(g);
                    }
                }
                Graph cv = null;
                if (shortlyConnectedComponents.size() > 1){
                    Iterator sccIt = shortlyConnectedComponents.iterator();
                    int maxSize = 0;
                    while (sccIt.hasNext()){
                        Graph nextGraph = (Graph) sccIt.next();
                        int size = nextGraph.getNodes().size();
                        if (size > maxSize){
                            maxSize = size;
                            cv = nextGraph;
                        }
                    }
                } else {
                    cv = (Graph) shortlyConnectedComponents.get(0);
                }
                Iterator shortIt2 = shortEdges.iterator();
                while (shortIt2.hasNext()){
                    Edge nextEdge = (Edge) shortIt2.next();
                    Node other = nextEdge.getOtherNode(next);
                    if (cv.equals(getMyComponent(other, shortlyConnectedComponents))){
                        edges.add(nextEdge);
                    }
                }
            } //end if shortEdges isn't empty
            Graph gr = getMyComponent(next, connectedComponents);
            if (gr.getNodes().size() == 1){
                Vector shortlyConnectedComponents = new Vector();
                Iterator shortIt = shortEdges.iterator();
                while (shortIt.hasNext()){
                    Edge nextEdge = (Edge) shortIt.next();
                    Node other = nextEdge.getOtherNode(next);
                    Graph g = getMyComponent(other, connectedComponents);
                    if (!(shortlyConnectedComponents.contains(g))){
                        shortlyConnectedComponents.add(g);
                    }
                }
                if (shortlyConnectedComponents.size() == 1){
                    edges.addAll(shortEdges);
                }
            }
        } //end nodeIt4 while loop.
       
        LOGGER.fine("End of phase two and ");
        LOGGER.fine("Nodes are " + nodes);
        LOGGER.fine("Edges are " + edges);  
        showGraph(nodes, edges, 2);
        connectedComponents = AutoClustUtils.findConnectedComponents(nodes, edges);
       
        //Phase III
        Iterator nodeIt5 = nodes.iterator();
        while (nodeIt5.hasNext()){
            DelaunayNode next = (DelaunayNode) nodeIt5.next();
            Vector edgesWithinTwo = new Vector();
            List adjacentEdges = AutoClustUtils.findAdjacentEdges(next, edges); //yes, next.getEdges() could work, but there's no guarantee that next's edge list is current anymore
            edgesWithinTwo.addAll(adjacentEdges);
            Iterator adjacentIt = adjacentEdges.iterator();
            while (adjacentIt.hasNext()){
                Edge nextEdge = (Edge) adjacentIt.next();
                Node other = nextEdge.getOtherNode(next);
                List adjacentToOther = AutoClustUtils.findAdjacentEdges(other, edges)//yes, other.getEdges() could work, but there's no guarantee that other's edge list is current anymore
                Iterator atoIt = adjacentToOther.iterator();
                while (atoIt.hasNext()){
                    Edge nextEdge2 = (Edge) atoIt.next();
                    if (!(edgesWithinTwo.contains(nextEdge2))){
View Full Code Here

 
    assertTrue(n != null)
  }
 
  public void test_buildEdge() {
    Node n1 = m_builder.buildNode();
    Node n2 = m_builder.buildNode();
   
    assertTrue(m_builder.getEdges().isEmpty());
   
    Edge e = m_builder.buildEdge(n1, n2);
   
View Full Code Here

   
    boolean flip = false;
    for (
      Iterator itr = builder().getGraph().getNodes().iterator(); itr.hasNext();
    ) {
      Node node = (Node)itr.next();
      if (node.getID() == 0 && node.getCount() != 0) {
        flip = true;
        break;
      }
    }
    final int size = builder().getGraph().getNodes().size();
   
    for (
      Iterator itr = builder().getGraph().getNodes().iterator(); itr.hasNext();
    ) {
      Node node = (Node)itr.next()
      int id = node.getID();
      int expected = -1;
     
      if (id == (int)size/2) expected = size-1;
      else if (id < (int)size/2) {
        if (!flip) {
          expected = id*2;
        }
        else {
          expected = id*2 + 1;
        }  
      }
      else {
        if (!flip) {
          expected = (size-1 - id)*2 + 1;
        }
        else {
          expected = (size-1 - id)*2;
        }
      }
     
      assertTrue(expected == node.getCount())
    };
  }
View Full Code Here

    assertTrue(e.getNodeA() == n1 || e.getNodeA() == n2);
    assertTrue(e.getNodeB() == n1 || e.getNodeB() == n2);
  }
 
  public void test_addNode() {
    Node n1 = m_builder.buildNode();
    m_builder.addNode(n1);
    assertTrue(m_builder.getNodes().size() == 1);
    assertTrue(m_builder.getNodes().contains(n1));
  }
View Full Code Here

    assertTrue(m_builder.getNodes().size() == 1);
    assertTrue(m_builder.getNodes().contains(n1));
  }
 
  public void test_addEdge_0() {
    Node n1 = m_builder.buildNode();
    Node n2 = m_builder.buildNode();
   
    Edge e = m_builder.buildEdge(n1, n2);
   
    m_builder.addNode(n1);
    m_builder.addNode(n2);
   
    m_builder.addEdge(e);
   
    assertTrue(m_builder.getEdges().size() == 1);
    assertTrue(m_builder.getEdges().contains(e));
   
    assertTrue(n1.getEdges().contains(e));
    assertTrue(n2.getEdges().contains(e));
  }
View Full Code Here

       
        for(
          Iterator itr = builder().getGraph().getNodes().iterator();
          itr.hasNext();
        ) {
          Node other = (Node)itr.next();
          if (other.getObject().toString().length() < id.length()) {
            assertTrue(other.getCount() > component.getCount());
         
        }
        return 0;
      }
    };
View Full Code Here

    assertTrue(n2.getEdges().contains(e));
  }
 
  public void test_addEdge_1() {
    //add a loop edge, edge list size ==1 but degree == 2
    Node n1 = m_builder.buildNode();
    Edge loop = m_builder.buildEdge(n1, n1);
   
    m_builder.addNode(n1);
    m_builder.addEdge(loop)
   
    assertTrue(n1.getEdges().size() == 1);
    assertTrue(n1.getDegree() == 2);
  }
View Full Code Here

    assertTrue(n1.getEdges().size() == 1);
    assertTrue(n1.getDegree() == 2);
  }
 
  public void test_removeNode() {
    Node n1 = m_builder.buildNode();
    m_builder.addNode(n1);
   
    assertTrue(m_builder.getNodes().contains(n1));
   
    m_builder.removeNode(n1);
View Full Code Here

    m_builder.removeNode(n1);
    assertTrue(m_builder.getNodes().isEmpty());
  }
 
  public void test_removeNodes() {
    Node n1 = m_builder.buildNode();
    Node n2 = m_builder.buildNode();
   
    m_builder.addNode(n1);
    m_builder.addNode(n2);
   
    assertTrue(m_builder.getNodes().size() == 2);    
View Full Code Here

TOP

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

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.