## com.bbn.openmap.geo
Class GeoPath.Impl

    java.lang.Object
      com.bbn.openmap.geo.GeoPath.Impl

All Implemented Interfaces:
  GeoExtent, GeoPath

Direct Known Subclasses:
  GeoRegion.Impl

Enclosing class:
  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 inherited from class 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(float[] lls)` Create a path of LatLon pairs.
`` `GeoPath.Impl(float[] lls, boolean isDegrees)` Create a path of LatLon pairs.
`` `GeoPath.Impl(Geo[] geos)` Create a path from Geos.

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(float[] lls)

  Create a path of LatLon pairs.

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

### GeoPath.Impl

    public GeoPath.Impl(float[] 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(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