com.bbn.openmap.geo
Class GeoPath.Impl

java.lang.Object
  extended by com.bbn.openmap.geo.GeoPath.Impl
All Implemented Interfaces:
GeoExtent, GeoPath
Direct Known Subclasses:
GeoRegion.Impl
Enclosing interface:
GeoPath

public static class GeoPath.Impl
extends java.lang.Object
implements GeoPath

An implementation of Path that takes an alternating lat/lon array and (optionally) an array of altitudes.


Nested Class Summary
protected  class GeoPath.Impl.PointIt
           
protected  class GeoPath.Impl.SegIt
           
 
Nested classes/interfaces inherited from interface com.bbn.openmap.geo.GeoPath
GeoPath.Impl, GeoPath.PointIterator, GeoPath.SegmentIterator
 
Field Summary
protected  BoundingCircle bc
           
protected  java.lang.Object id
           
protected  int length
           
protected  GeoArray pts
           
 
Constructor Summary
protected GeoPath.Impl()
           
  GeoPath.Impl(double[] lls)
          Create a path of LatLon pairs.
  GeoPath.Impl(double[] lls, boolean isDegrees)
          Create a path of LatLon pairs.
  GeoPath.Impl(Geo[] geos)
          Create a path from Geos.
  GeoPath.Impl(GeoArray pnts)
          Create a path from a GeoArray.
 
Method Summary
 BoundingCircle getBoundingCircle()
          compute a point and radius around the extent.
 java.lang.Object getID()
          return an object that this extent represents.
 java.lang.Object getPathID()
          Deprecated. use getID() instead.
protected  java.lang.Object getPointID(int i)
          Callback for the PointIt to find out how the GeoPath wants the points IDed.
 GeoArray getPoints()
          Return the points that make up the path as an array of Geo object.
protected  java.lang.Object getSegID(int i)
          Callback for the SegIt to find out how the GeoPath wants the segment IDed.
 boolean isSegmentNear(GeoSegment s, double epsilon)
          Does the segment s come within epsilon (in radians) of us?
 int length()
           
 GeoPath.PointIterator pointIterator()
           
 GeoPath.SegmentIterator segmentIterator()
           
 void setID(java.lang.Object id)
           
protected  void setPoints(Geo[] points)
          Method for subclasses to set pts and length of Geos.
 void setPoints(GeoArray ga)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

pts

protected GeoArray pts

length

protected int length

id

protected java.lang.Object id

bc

protected transient BoundingCircle bc
Constructor Detail

GeoPath.Impl

protected GeoPath.Impl()

GeoPath.Impl

public GeoPath.Impl(double[] lls)
Create a path of LatLon pairs.

Parameters:
lls - alternating lat/lon in decimal degrees.

GeoPath.Impl

public GeoPath.Impl(double[] lls,
                    boolean isDegrees)
Create a path of LatLon pairs.

Parameters:
lls - alternating lat/lon values.
isDegrees - true if lat/lon are in degrees, false if in radians.

GeoPath.Impl

public GeoPath.Impl(GeoArray pnts)
Create a path from a GeoArray.

Parameters:
pnts -

GeoPath.Impl

public GeoPath.Impl(Geo[] geos)
Create a path from Geos.

Parameters:
geos -
Method Detail

setPoints

public void setPoints(GeoArray ga)

getPoints

public GeoArray getPoints()
Description copied from interface: GeoPath
Return the points that make up the path as an array of Geo object. Closed paths are not specially marked. Specifically, closed paths do not have equal first and last Geo points in the returned array.

Specified by:
getPoints in interface GeoPath
Returns:
the Geo points of the Path

setPoints

protected void setPoints(Geo[] points)
Method for subclasses to set pts and length of Geos.

Parameters:
points -

isSegmentNear

public boolean isSegmentNear(GeoSegment s,
                             double epsilon)
Description copied from interface: GeoPath
Does the segment s come within epsilon (in radians) of us?

Specified by:
isSegmentNear in interface GeoPath

getBoundingCircle

public BoundingCircle getBoundingCircle()
Description copied from interface: GeoExtent
compute a point and radius around the extent.

Specified by:
getBoundingCircle in interface GeoExtent

length

public int length()
Specified by:
length in interface GeoPath
Returns:
the number of points in the path.

segmentIterator

public GeoPath.SegmentIterator segmentIterator()
Specified by:
segmentIterator in interface GeoPath
Returns:
an iterator over the segments of the path *

pointIterator

public GeoPath.PointIterator pointIterator()
Specified by:
pointIterator in interface GeoPath
Returns:
an iterator over the points of the path *

getSegID

protected java.lang.Object getSegID(int i)
Callback for the SegIt to find out how the GeoPath wants the segment IDed.

Parameters:
i - The index of the segment in question.
Returns:
Object that IDs the segment, could be this path, too. Depends on what the Intersection Algorithm wants to do in consider().

getPointID

protected java.lang.Object getPointID(int i)
Callback for the PointIt to find out how the GeoPath wants the points IDed.

Parameters:
i - The index of the point in question.
Returns:
Object that IDs the point, could be this path, too. Depends on what the Intersection Algorithm wants to do in consider().

getPathID

public java.lang.Object getPathID()
Deprecated. use getID() instead.


getID

public java.lang.Object getID()
Description copied from interface: GeoExtent
return an object that this extent represents.

Specified by:
getID in interface GeoExtent

setID

public void setID(java.lang.Object id)


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