uk.me.parabola.imgfmt.app.net
Class NOD1Part

java.lang.Object
  extended by uk.me.parabola.imgfmt.app.net.NOD1Part

public class NOD1Part
extends java.lang.Object

This is a component of the RoadNetwork. Keeps track of outside neighbours and allows subdivision to satisfy NOD1 constraints. The approach to subdivision is to tile the map into RouteCenters. One could imagine that overlapping RouteCenters would be an option, say by splitting largely independent networks (motorways, footways). Could be rolled into RouteCenter.


Nested Class Summary
 class NOD1Part.BBox
           
 
Constructor Summary
NOD1Part()
          Create an unbounded NOD1Part.
 
Method Summary
 void addNode(RouteNode node)
          Add a node to this part.
 java.util.List<RouteCenter> subdivide()
          Subdivide this part recursively until it satisfies the constraints.
protected  java.util.List<RouteCenter> subdivideHelper(int depth)
          Subdivide this part recursively until it satisfies the constraints.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NOD1Part

public NOD1Part()
Create an unbounded NOD1Part. All nodes will be accepted by addNode and all arcs will be considered internal.

Method Detail

addNode

public void addNode(RouteNode node)
Add a node to this part. The node is used to populate the tables. If an arc points outside the bbox, we know it's not an internal arc. It might still turn into an external arc at a deeper level of recursion.


subdivide

public java.util.List<RouteCenter> subdivide()
Subdivide this part recursively until it satisfies the constraints.


subdivideHelper

protected java.util.List<RouteCenter> subdivideHelper(int depth)
Subdivide this part recursively until it satisfies the constraints.