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

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

All Implemented Interfaces:
  LinkGraphicConstants, LinkPropertiesConstants

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

Read and write the Link protocol for rectangles.

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

Method Summary
`static OMRect` `read(java.io.DataInputStream dis)` Read the DataInputStream, and create an OMRect.
`static OMRect` `read(java.io.DataInputStream dis, LinkProperties propertiesBuffer)` Read the DataInputStream, and create an OMRect.
`static void` `write(float lt1, float ln1, float lt2, float ln2, int lType, int nsegs, LinkProperties properties, java.io.DataOutputStream dos)` Create a lat/lon rectangle.
`static void` `write(float lt1, float ln1, float lt2, float ln2, int lType, LinkProperties properties, java.io.DataOutputStream dos)` Create a lat/lon rectangle.
`static void` `write(float lt1, float ln1, int px1, int py1, int px2, int py2, LinkProperties properties, java.io.DataOutputStream dos)` Construct an XY rectangle relative to a lat/lon point (RENDERTYPE_OFFSET).
`static void` `write(int px1, int py1, int px2, int py2, LinkProperties properties, java.io.DataOutputStream dos)` Construct an XY rectangle.
`static void` `write(OMRect rect, Link link, LinkProperties props)` Write an OMRect to the link.

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

Constructor Detail

### LinkRectangle

    public LinkRectangle()

Method Detail

### write

    public static void write(float lt1,
                             float ln1,
                             float lt2,
                             float ln2,
                             int lType,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Create a lat/lon rectangle.

  Parameters:
    `lt1` - latitude of north edge, decimal degrees.
    `ln1` - longitude of west edge, decimal degrees.
    `lt2` - latitude of south edge, decimal degrees.
    `ln2` - longitude of east edge, decimal degrees.
    `lType` - line type - see lineType.
    `properties` - description of drawing attributes.
    `dos` - DataOutputStream
  Throws:
    `java.io.IOException`

### write

    public static void write(float lt1,
                             float ln1,
                             float lt2,
                             float ln2,
                             int lType,
                             int nsegs,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Create a lat/lon rectangle.

  Parameters:
    `lt1` - latitude of north edge, decimal degrees.
    `ln1` - longitude of west edge, decimal degrees.
    `lt2` - latitude of south edge, decimal degrees.
    `ln2` - longitude of east edge, decimal degrees.
    `lType` - line type - see lineType.
    `nsegs` - number of segment points (only for LINETYPE_GREATCIRCLE or LINETYPE_RHUMB line types, and if < 1, this value is generated internally)
    `properties` - description of drawing attributes.
    `dos` - DataOutputStream
  Throws:
    `java.io.IOException`

### write

    public static void write(int px1,
                             int py1,
                             int px2,
                             int py2,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Construct an XY rectangle. It doesn't matter which corners of the rectangle are used, as long as they are opposite from each other.

  Parameters:
    `px1` - x pixel position of the first corner relative to the window origin
    `py1` - y pixel position of the first corner relative to the window origin
    `px2` - x pixel position of the second corner relative to the window origin
    `py2` - y pixel position of the second corner relative to the window origin
    `properties` - description of drawing attributes.
    `dos` - DataOutputStream
  Throws:
    `java.io.IOException`

### write

    public static void write(float lt1,
                             float ln1,
                             int px1,
                             int py1,
                             int px2,
                             int py2,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Construct an XY rectangle relative to a lat/lon point (RENDERTYPE_OFFSET). It doesn't matter which corners of the rectangle are used, as long as they are opposite from each other.

  Parameters:
    `lt1` - latitude of the reference point, decimal degrees.
    `ln1` - longitude of the reference point, decimal degrees.
    `px1` - x pixel position of the first corner relative to the reference point
    `py1` - y pixel position of the first corner relative to the reference point
    `px2` - x pixel position of the second corner relative to the reference point
    `py2` - y pixel position of the second corner relative to the reference point
    `properties` - description of drawing attributes.
    `dos` - DataOutputStream
  Throws:
    `java.io.IOException`

### write

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

  Write an OMRect to the link.

  Throws:
    `java.io.IOException`

### read

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

  Read the DataInputStream, and create an OMRect. Assumes that the LinkRectangle header has been read from the link.

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

### read

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

  Read the DataInputStream, and create an OMRect. Assumes that the LinkRectangle header has been read from the link.

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

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