com.bbn.openmap.layer.link
Class LinkRectangle

java.lang.Object
  extended by 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