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

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

All Implemented Interfaces:
  LinkGraphicConstants, LinkPropertiesConstants

public class LinkArc
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
`LinkArc()`

Method Summary
`static OMArc` `read(java.io.DataInputStream dis)` Read the arc protocol off the data input, and return an OMArc.
`static OMArc` `read(java.io.DataInputStream dis, LinkProperties propertiesBuffer)` Read the arc protocol off the data input, and return an OMArc.
`static void` `write(float latPoint, float lonPoint, float radius, float s, float e, LinkProperties properties, java.io.DataOutputStream dos)` Write an arc with a certain radius at a Lat/Lon location.
`static void` `write(float latPoint, float lonPoint, float radius, int units, float s, float e, LinkProperties properties, java.io.DataOutputStream dos)` Write an arc 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, int units, int nverts, float s, float e, LinkProperties properties, java.io.DataOutputStream dos)` Write an arc 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 arc.
`static void` `write(float latPoint, float lonPoint, int w, int h, float s, float e, LinkProperties properties, java.io.DataOutputStream dos)` Write an arc with lat/lon placement.
`static void` `write(float latPoint, float lonPoint, int offset_x1, int offset_y1, int w, int h, float s, float e, LinkProperties properties, java.io.DataOutputStream dos)` Writing an arc at a x, y, offset to a Lat/Lon location.
`static void` `write(int x1, int y1, int w, int h, float s, float e, LinkProperties properties, java.io.DataOutputStream dos)` Write an arc with x/y placement.
`static void` `write(OMArc arc, Link link, LinkProperties props)`

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

Constructor Detail

### LinkArc

    public LinkArc()

Method Detail

### write

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

  Write an arc with lat/lon placement.

  Parameters:
    `latPoint` - latitude of center point, decimal degrees
    `lonPoint` - longitude of center point, decimal degrees
    `w` - horizontal diameter of arc, pixels
    `h` - vertical diameter of arc, pixels
    `s` - starting angle of arc, decimal degrees
    `e` - angular extent of arc, decimal degrees
    `properties` - attributes for the arc.
    `dos` - DataOutputStream.
  Throws:
    `java.io.IOException`

### write

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

  Write an arc 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 arc, pixels
    `h` - vertical diameter of arc, pixels
    `s` - starting angle of arc, decimal degrees
    `e` - angular extent of arc, decimal degrees
    `properties` - attributes for the arc.
    `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,
                             float s,
                             float e,
                             LinkProperties properties,
                             java.io.DataOutputStream dos)
                      throws java.io.IOException

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

  Parameters:
    `latPoint` - latitude of center of arc.
    `lonPoint` - longitude of center of arc.
    `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 arc, pixels.
    `h` - vertical diameter of arc, pixels.
    `s` - starting angle of arc, decimal degrees
    `e` - angular extent of arc, decimal degrees
    `properties` - attributes for the arc.
    `dos` - DataOutputStream.
  Throws:
    `java.io.IOException`

### write

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

  Write an arc 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
    `s` - starting angle of arc, decimal degrees
    `e` - angular extent of arc, decimal degrees
    `properties` - attributes for the arc.
    `dos` - DataOutputStream.
  Throws:
    `java.io.IOException`

### write

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

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

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

### write

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

  Write an arc 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 arc.

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

### write

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

  Throws:
    `java.io.IOException`

### read

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

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

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

### read

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

  Read the arc protocol off the data input, and return an OMArc. 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 OMArc being read.
  Returns:
    OMArc
  Throws:
    `java.io.IOException`
  See Also:
    `OMArc`

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