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

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

All Implemented Interfaces:
  LinkGraphicConstants, LinkPropertiesConstants

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

Read and write a Link protocol version of a line.

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
`LinkLine()`

Method Summary
`static OMLine` `read(java.io.DataInputStream dis)` Read the line Link protocol off a DataInputStream, and create an OMLine from it.
`static OMLine` `read(java.io.DataInputStream dis, LinkProperties propertiesBuffer)` Read the line Link protocol off a DataInputStream, and create an OMLine from it.
`static void` `write(float lat_1, float lon_1, float lat_2, float lon_2, int lineType, int nsegs, LinkProperties properties, java.io.DataOutputStream dos)` Write a line using lat/lon endpoints.
`static void` `write(float lat_1, float lon_1, float lat_2, float lon_2, int lineType, LinkProperties properties, java.io.DataOutputStream dos)` Write a line using lat/lon endpoints.
`static void` `write(float lat_1, float lon_1, int x1, int y1, int x2, int y2, LinkProperties properties, java.io.DataOutputStream dos)` Write a line located at an x/y pixel offset from a lat/lon location.
`static void` `write(int x1, int y1, int x2, int y2, LinkProperties properties, java.io.DataOutputStream dos)` Write a line with x/y pixel endpoints.
`static void` `write(OMLine line, Link link, LinkProperties props)` Write an OMLine to the link.

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

Constructor Detail

### LinkLine

    public LinkLine()

Method Detail

### write

    public static void write(float lat_1,
                             float lon_1,
                             float lat_2,
                             float lon_2,
                             int lineType,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Write a line using lat/lon endpoints. The lat/lons are in decimal degrees. .

  Parameters:
    `lat_1` - latitude of placement of start of line.
    `lon_1` - longitude of placement of start of line.
    `lat_2` - latitude of placement of end of line.
    `lon_2` - longitude of placement of end of line.
    `lineType` - type of line - straight, rhumb, great circle..
    `properties` - Properties containing attributes.
    `dos` - DataOutputStream to write to.
  Throws:
    `java.io.IOException`

### write

    public static void write(float lat_1,
                             float lon_1,
                             float lat_2,
                             float lon_2,
                             int lineType,
                             int nsegs,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Write a line using lat/lon endpoints. The lat/lons are in decimal degrees. This method gives you the option of specifying a number of segments to use in approximating a curved line.

  Parameters:
    `lat_1` - latitude of placement of start of line.
    `lon_1` - longitude of placement of start of line.
    `lat_2` - latitude of placement of end of line.
    `lon_2` - longitude of placement of end of line.
    `lineType` - type of line - straight, rhumb, great circle..
    `nsegs` - number of points to use to approximate curved line..
    `properties` - Properties containing attributes.
    `dos` - DataOutputStream to write to.
  Throws:
    `java.io.IOException`

### write

    public static void write(int x1,
                             int y1,
                             int x2,
                             int y2,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Write a line with x/y pixel endpoints.

  Parameters:
    `x1` - Horizontal pixel placement of start of line.
    `y1` - Vertical pixel placement of start of line.
    `x2` - Horizontal pixel placement of end of line.
    `y2` - Vertical pixel placement of end of line.
    `properties` - Properties containing attributes.
    `dos` - DataOutputStream to write to.
  Throws:
    `java.io.IOException`

### write

    public static void write(float lat_1,
                             float lon_1,
                             int x1,
                             int y1,
                             int x2,
                             int y2,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Write a line located at an x/y pixel offset from a lat/lon location.

  Parameters:
    `lat_1` - latitude of placement of line.
    `lon_1` - longitude of placement of line.
    `x1` - Horizontal pixel offset of start of line.
    `y1` - Vertical pixel offset of start of line.
    `x2` - Horizontal pixel offset of end of line.
    `y2` - Vertical pixel offset of end of line.
    `properties` - Properties containing attributes.
    `dos` - DataOutputStream to write to.
  Throws:
    `java.io.IOException`

### write

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

  Write an OMLine to the link.

  Throws:
    `java.io.IOException`

### read

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

  Read the line Link protocol off a DataInputStream, and create an OMLine from it. Assumes that the header has already been read.

  Parameters:
    `dis` - DataInputStream to read from.
  Returns:
    OMLine
  Throws:
    `java.io.IOException`
  See Also:
    `OMLine`

### read

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

  Read the line Link protocol off a DataInputStream, and create an OMLine from it. Assumes that the header has already been read.

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

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