com.bbn.openmap.geo
Class RibbonIterator

java.lang.Object
  extended by com.bbn.openmap.geo.RibbonIterator
All Implemented Interfaces:
java.lang.Iterable<Ribbon>, java.util.Iterator<Ribbon>

public class RibbonIterator
extends java.lang.Object
implements java.util.Iterator<Ribbon>, java.lang.Iterable<Ribbon>

Iterate along a sequence of Ribbons. A Ribbon is a three Geo set, with a RIGHT, CENTER and LEFT Geo in the Ribbon. The location of the LEFT and RIGHT Geo are perpendicular to the great circle path that the CENTER Geo resides on.


Field Summary
protected  double distance
           
protected  Geo gc
           
protected  Geo point
           
protected  double radius
           
protected  Rotation rotator
           
protected  Geo v1
           
protected  Geo v2
           
 
Constructor Summary
RibbonIterator(Geo v1, Geo v2, double radius)
          Return an iterator that returns Ribbons along the great circle between v1 and v2.
RibbonIterator(Geo v1, Geo v2, double radius, double rotationIntervalDist)
          Return an iterator that returns Ribbons along the great circle between v1 and v2.
 
Method Summary
 boolean hasNext()
          Are there more Ribbons in the iterator?
 java.util.Iterator<Ribbon> iterator()
           
 Ribbon next()
          Call after hasNext() returns true.
 void remove()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

v1

protected Geo v1

v2

protected Geo v2

radius

protected double radius

gc

protected Geo gc

rotator

protected Rotation rotator

point

protected Geo point

distance

protected double distance
Constructor Detail

RibbonIterator

public RibbonIterator(Geo v1,
                      Geo v2,
                      double radius)
Return an iterator that returns Ribbons along the great circle between v1 and v2. The Ribbon points are radius radians apart, and each Ribbon is 2*radius apart.


RibbonIterator

public RibbonIterator(Geo v1,
                      Geo v2,
                      double radius,
                      double rotationIntervalDist)
Return an iterator that returns Ribbons along the great circle between v1 and v2. The Ribbon points are radius radians apart, and each Ribbon is rotationIntervalDist apart.

Parameters:
v1 - from this Geo
v2 - to this Geo
radius - distance away from great circle lines between geos, in radians.
rotationIntervalDist - interval distance between ribbons, in radians. You want this to be smaller than the distance between the geos, obviously.
Method Detail

next

public Ribbon next()
Call after hasNext() returns true.

Specified by:
next in interface java.util.Iterator<Ribbon>
Returns:
next Ribbon containing points at offset from v1 and v2.

hasNext

public boolean hasNext()
Are there more Ribbons in the iterator?

Specified by:
hasNext in interface java.util.Iterator<Ribbon>
Returns:
true if there are, then call next().

remove

public void remove()
Specified by:
remove in interface java.util.Iterator<Ribbon>

iterator

public java.util.Iterator<Ribbon> iterator()
Specified by:
iterator in interface java.lang.Iterable<Ribbon>


Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details