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

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

All Implemented Interfaces:
  LinkGraphicConstants, LinkPropertiesConstants

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

Reading and writing a Link protocol version of a circle.

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

Method Summary
`static OMCircle` `read(java.io.DataInputStream dis)` Read the circle protocol off the data input, and return an OMCircle.
`static OMCircle` `read(java.io.DataInputStream dis, LinkProperties propertiesBuffer)` Read the circle protocol off the data input, and return an OMCircle.
`static void` `write(float latPoint, float lonPoint, float radius, int units, int nverts, LinkProperties properties, java.io.DataOutputStream dos)` Write a circle with a certain radius at a Lat/Lon location, and allows you to specify units of the radius, as well as the number of verticies to use to approximate the circle.
`static void` `write(float latPoint, float lonPoint, float radius, int units, LinkProperties properties, java.io.DataOutputStream dos)` Write a circle with a certain radius at a Lat/Lon location, and allows you to specify units of the radius.
`static void` `write(float latPoint, float lonPoint, float radius, LinkProperties properties, java.io.DataOutputStream dos)` Write a circle with a certain radius at a Lat/Lon location.
`static void` `write(float latPoint, float lonPoint, int offset_x1, int offset_y1, int w, int h, LinkProperties properties, java.io.DataOutputStream dos)` Writing a circle at a x, y, offset to a Lat/Lon location.
`static void` `write(float latPoint, float lonPoint, int w, int h, LinkProperties properties, java.io.DataOutputStream dos)` Write a circle with lat/lon placement.
`static void` `write(int x1, int y1, int w, int h, LinkProperties properties, java.io.DataOutputStream dos)` Write a circle with x/y placement.
`static void` `write(OMCircle circle, Link link, LinkProperties props)`

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

Constructor Detail

### LinkCircle

    public LinkCircle()

Method Detail

### write

    public static void write(float latPoint,
                             float lonPoint,
                             int w,
                             int h,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Write a circle with lat/lon placement.

  Parameters:
    `latPoint` - latitude of center point, decimal degrees
    `lonPoint` - longitude of center point, decimal degrees
    `w` - horizontal diameter of circle/ellipse, pixels
    `h` - vertical diameter of circle/ellipse, pixels
    `properties` - attributes for the circle.
    `dos` - DataOutputStream.
  Throws:
    `java.io.IOException`

### write

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

  Write a circle with x/y placement.

  Parameters:
    `x1` - window position of center point from left of window, in pixels
    `y1` - window position of center point from top of window, in pixels
    `w` - horizontal diameter of circle/ellipse, pixels
    `h` - vertical diameter of circle/ellipse, pixels
    `properties` - attributes for the circle.
    `dos` - DataOutputStream.
  Throws:
    `java.io.IOException`

### write

    public static void write(float latPoint,
                             float lonPoint,
                             int offset_x1,
                             int offset_y1,
                             int w,
                             int h,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Writing a circle at a x, y, offset to a Lat/Lon location.

  Parameters:
    `latPoint` - latitude of center of circle/ellipse.
    `lonPoint` - longitude of center of circle/ellipse.
    `offset_x1` - # pixels to the right the center will be moved from lonPoint.
    `offset_y1` - # pixels down that the center will be moved from latPoint.
    `w` - horizontal diameter of circle/ellipse, pixels.
    `h` - vertical diameter of circle/ellipse, pixels.
    `properties` - attributes for the circle.
    `dos` - DataOutputStream.
  Throws:
    `java.io.IOException`

### write

    public static void write(float latPoint,
                             float lonPoint,
                             float radius,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Write a circle with a certain radius at a Lat/Lon location. Assumes the radius is in decimal degrees.

  Parameters:
    `latPoint` - latitude of center point, decimal degrees
    `lonPoint` - longitude of center point, decimal degrees
    `radius` - distance in decimal degrees
    `properties` - attributes for the circle.
    `dos` - DataOutputStream.
  Throws:
    `java.io.IOException`

### write

    public static void write(float latPoint,
                             float lonPoint,
                             float radius,
                             int units,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Write a circle with a certain radius at a Lat/Lon location, and allows you to specify units of the radius.

  Parameters:
    `latPoint` - latitude of center of circle in decimal degrees
    `lonPoint` - longitude of center of circle in decimal degrees
    `radius` - distance
    `units` - integer value for units for distance - KM, MILES, NMILES. If < 0, assume decimal degrees.
    `properties` - attributes for the circle.
    `dos` - DataOutputStream.
  Throws:
    `java.io.IOException`

### write

    public static void write(float latPoint,
                             float lonPoint,
                             float radius,
                             int units,
                             int nverts,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

  Write a circle with a certain radius at a Lat/Lon location, and allows you to specify units of the radius, as well as the number of verticies to use to approximate the circle.

  Parameters:
    `latPoint` - latitude of center of circle in decimal degrees
    `lonPoint` - longitude of center of circle in decimal degrees
    `radius` - distance
    `units` - integer value for units for distance - OMCircle.KM, OMCircle.MILES, OMCircle.NMILES. If < 0, assume decimal degrees.
    `nverts` - number of vertices for the poly-circle (if < 3, value is generated internally).
    `properties` - attributes for the circle.
    `dos` - DataOutputStream.
  Throws:
    `java.io.IOException`

### write

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

  Throws:
    `java.io.IOException`

### read

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

  Read the circle protocol off the data input, and return an OMCircle. Assumes the header for the graphic has already been read.

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

### read

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

  Read the circle protocol off the data input, and return an OMCircle. Assumes the header for the graphic has already been read.

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

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