## com.bbn.openmap.layer.link
Class LinkPoly

    java.lang.Object
      com.bbn.openmap.layer.link.LinkPoly

All Implemented Interfaces:
  LinkGraphicConstants, LinkPropertiesConstants

public class LinkPoly
extends java.lang.Object
implements LinkGraphicConstants, LinkPropertiesConstants

Read and write a Link protocol polyline/polygon.

Field Summary

Fields inherited from interface com.bbn.openmap.layer.link.LinkGraphicConstants

`BASELINE_BOTTOM, BASELINE_MIDDLE, BASELINE_TOP, BLACK_COLOR_STRING, CLEAR_COLOR_STRING, COLORMODEL_DIRECT, COLORMODEL_INDEXED, COLORMODEL_URL, COLUMN_MAJOR, COORDMODE_ORIGIN, COORDMODE_PREVIOUS, DECIMAL_DEGREES, GRAPHICTYPE_ARC, GRAPHICTYPE_BITMAP, GRAPHICTYPE_CIRCLE, GRAPHICTYPE_ELLIPSE, GRAPHICTYPE_GRAPHIC, GRAPHICTYPE_GRID, GRAPHICTYPE_LINE, GRAPHICTYPE_POINT, GRAPHICTYPE_POLY, GRAPHICTYPE_RASTER, GRAPHICTYPE_RECTANGLE, GRAPHICTYPE_TEXT, JUSTIFY_CENTER, JUSTIFY_LEFT, JUSTIFY_RIGHT, KM, LINETYPE_GREATCIRCLE, LINETYPE_RHUMB, LINETYPE_STRAIGHT, LINETYPE_UNKNOWN, MILES, NMILES, RADIANS, RENDERTYPE_LATLON, RENDERTYPE_OFFSET, RENDERTYPE_UNKNOWN, RENDERTYPE_XY, ROW_MAJOR`

Fields inherited from interface com.bbn.openmap.layer.link.LinkPropertiesConstants

`LPC_BACKWARD_DIAG_PATTERN, LPC_CENTER_LAT, LPC_CENTER_LONG, LPC_CLEAR_PROPERTIES, LPC_CLEAR_PROPERTIES_CHAR, LPC_CROSS_PATTERN, LPC_DASH, LPC_DASH_DOT, LPC_DASH_DOT_DOT, LPC_DIAG_CROSS_PATTERN, LPC_DOT, LPC_FILLCOLOR, LPC_FILLPATTERN, LPC_FORWARD_DIAG_PATTERN, LPC_GRAPHICID, LPC_HEIGHT, LPC_HIGHLIGHTCOLOR, LPC_HORIZONTAL_PATTERN, LPC_HTML, LPC_INFO, LPC_LATMAX, LPC_LATMIN, LPC_LINECOLOR, LPC_LINESTYLE, LPC_LINEWIDTH, LPC_LINKRASTERIMAGEURL, LPC_LINKROTATION, LPC_LINKTEXTBASELINE, LPC_LINKTEXTFONT, LPC_LINKTEXTSTRING, LPC_LONG_DASH, LPC_LONMAX, LPC_LONMIN, LPC_MESSAGE, LPC_OLD_FILLCOLOR, LPC_OLD_FILLPATTERN, LPC_OLD_HIGHLIGHTCOLOR, LPC_OLD_LINECOLOR, LPC_OLD_LINESTYLE, LPC_OLD_LINEWIDTH, LPC_OLD_LINKTEXTFONT, LPC_OLD_LINKTEXTSTRING, LPC_PROJECTION, LPC_PROPERY_MANAGEMENT_POLICY, LPC_PROPERY_MANAGEMENT_POLICY_CHAR, LPC_REUSE_PROPERTIES, LPC_REUSE_PROPERTIES_CHAR, LPC_SCALE, LPC_SOLID, LPC_SOLID_PATTERN, LPC_TIME, LPC_URL, LPC_VERTICAL_PATTERN, LPC_WIDTH`

Constructor Summary
`LinkPoly()`

Method Summary
`static OMPoly` `read(java.io.DataInputStream dis)` Read the DataInputStream to create a OMPoly.
`static OMPoly` `read(java.io.DataInputStream dis, LinkProperties propertiesBuffer)` Read the DataInputStream to create a OMPoly.
`static void` `write(float[] latpoints, float[] lonpoints, int units, int lType, int nsegs, LinkProperties properties, java.io.DataOutputStream dos)` Write a poly.
`static void` `write(float[] llpoints, int units, int lType, int nsegs, LinkProperties properties, java.io.DataOutputStream dos)` Write a poly.
`static void` `write(float[] llPoints, int units, int lType, LinkProperties properties, java.io.DataOutputStream dos)` Write a poly, with an array of alternating lat/lon points.
`static void` `write(float latPoint, float lonPoint, int[] xpoints, int[] ypoints, int cMode, LinkProperties properties, java.io.DataOutputStream dos)` Write a poly.
`static void` `write(float latPoint, float lonPoint, int[] xypoints, int cMode, LinkProperties properties, java.io.DataOutputStream dos)` Write a poly.
`static void` `write(int[] xpoints, int[] ypoints, LinkProperties properties, java.io.DataOutputStream dos)` Write a poly in the response.
`static void` `write(int[] xypoints, LinkProperties properties, java.io.DataOutputStream dos)` Write a poly.
`static void` `write(OMPoly poly, Link link, LinkProperties props)` Write a poly to the link.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### LinkPoly

    public LinkPoly()

Method Detail

### write

    public static void write(float[] llPoints,
                             int units,
                             int lType,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Write a poly, with an array of alternating lat/lon points. Lat/lons in decimal degrees.

  Parameters:
    `llPoints` - alternating latitude and logitude points of poly.
    `units` - degrees or radians.
    `lType` - straight, rhumb, great circle.
    `properties` - description of drawing attributes.
    `dos` - DataOutputStream
  Throws:
    `java.io.IOException`

### write

    public static void write(float[] llpoints,
                             int units,
                             int lType,
                             int nsegs,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Write a poly.

  Parameters:
    `llpoints` - alternating latitude and longitude points of poly.
    `units` - degrees or radians.
    `lType` - straight, rhumb, great circle.
    `nsegs` - number of segments to use to approimate curved poly lines..
    `properties` - description of drawing attributes.
    `dos` - DataOutputStream
  Throws:
    `java.io.IOException`

### write

    public static void write(float[] latpoints,
                             float[] lonpoints,
                             int units,
                             int lType,
                             int nsegs,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Write a poly.

  Parameters:
    `latpoints` - latitude points of poly.
    `lonpoints` - longitude points of poly.
    `units` - degrees or radians.
    `lType` - straight, rhumb, great circle.
    `nsegs` - number of segments to use to approimate curved poly lines..
    `properties` - description of drawing attributes.
    `dos` - DataOutputStream
  Throws:
    `java.io.IOException`

### write

    public static void write(int[] xypoints,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Write a poly.

  Parameters:
    `xypoints` - alternating x and y pixel locations of poly.
    `properties` - description of drawing attributes.
    `dos` - DataOutputStream
  Throws:
    `java.io.IOException`

### write

    public static void write(int[] xpoints,
                             int[] ypoints,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Write a poly in the response.

  Parameters:
    `xpoints` - horizontal pixel locations of poly.
    `ypoints` - vertical pixel locations of poly.
    `properties` - description of drawing attributes.
    `dos` - DataOutputStream
  Throws:
    `java.io.IOException`

### write

    public static void write(float latPoint,
                             float lonPoint,
                             int[] xypoints,
                             int cMode,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Write a poly.

  Parameters:
    `latPoint` - the latitude anchor point of the poly.
    `lonPoint` - the longitude anchor point of the poly.
    `xypoints` - alternating x and y offset polygon points.
    `cMode` - Coordinate Mode (Origin or Previous) that indicate whether the x and y points are relative to the first point, or to the previous point. .
    `properties` - description of drawing attributes.
    `dos` - DataOutputStream
  Throws:
    `java.io.IOException`

### write

    public static void write(float latPoint,
                             float lonPoint,
                             int[] xpoints,
                             int[] ypoints,
                             int cMode,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Write a poly.

  Parameters:
    `latPoint` - the latitude anchor point of the poly.
    `lonPoint` - the longitude anchor point of the poly.
    `xpoints` - horizontal pixel offset polygon points.
    `ypoints` - vertical pixel offset polygon points.
    `cMode` - Coordinate Mode (Origin or Previous) that indicate whether the x and y points are relative to the first point, or to the previous point. .
    `properties` - description of drawing attributes.
    `dos` - DataOutputStream
  Throws:
    `java.io.IOException`

### write

    public static void write(OMPoly poly,
                             Link link,
                             LinkProperties props)
                      throws java.io.IOException

  Write a poly to the link.

  Throws:
    `java.io.IOException`

### read

    public static OMPoly read(java.io.DataInputStream dis)
                       throws java.io.IOException

  Read the DataInputStream to create a OMPoly. Assumes the LinkPoly header has already been read.

  Parameters:
    `dis` - DataInputStream
  Returns:
    OMPoly
  Throws:
    `java.io.IOException`
  See Also:
    `OMPoly`

### read

    public static OMPoly read(java.io.DataInputStream dis,
                              LinkProperties propertiesBuffer)
                       throws java.io.IOException

  Read the DataInputStream to create a OMPoly. Assumes the LinkPoly header has already been read.

  Parameters:
    `dis` - DataInputStream
    `propertiesBuffer` - a LinkProperties object used to cache previous settings that can be set on the OMPoly being read.
  Returns:
    OMPoly
  Throws:
    `java.io.IOException`
  See Also:
    `OMPoly`

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