## com.bbn.openmap.omGraphics.labeled
Class LabeledOMSpline

    java.lang.Object
      com.bbn.openmap.omGraphics.geom.BasicGeometry
          com.bbn.openmap.omGraphics.OMGraphic
              com.bbn.openmap.omGraphics.OMAbstractLine
                  com.bbn.openmap.omGraphics.OMPoly
                      com.bbn.openmap.omGraphics.OMSpline
                          com.bbn.openmap.omGraphics.labeled.LabeledOMSpline

All Implemented Interfaces:
  java.lang.Cloneable, LabeledOMGraphic, OMGeometry, OMGraphicConstants, java.io.Serializable

public class LabeledOMSpline
extends OMSpline
implements LabeledOMGraphic

LabeledOMSpline Copied from LabeledOMPoly, because both OMSpline and LabeledOMPoly inherits from OMPoly

Version:
  15 juil. 2002
Author:
  Eric LEPICIER
See Also:
  Serialized Form

Field Summary
`protected int` `index`
`protected OMText` `label`
`protected boolean` `locateAtCenter`
`protected java.awt.Point` `offset`

Fields inherited from class com.bbn.openmap.omGraphics.OMPoly
`coordMode, COORDMODE_ORIGIN, COORDMODE_PREVIOUS, doShapes, geometryClosed, isPolygon, lat, lon, rawllpts, units, xs, ys`

Fields inherited from class com.bbn.openmap.omGraphics.OMAbstractLine
`nsegs, xpoints, ypoints`

Fields inherited from class com.bbn.openmap.omGraphics.OMGraphic
`declutterType, displayPaint, edgeMatchesFill, fillPaint, hasLabel, linePaint, matted, mattingPaint, renderType, selected, selectPaint, showEditablePalette, stroke, textureMask`

Fields inherited from class com.bbn.openmap.omGraphics.geom.BasicGeometry
`APP_OBJECT_KEY, appObject, ATT_MAP_KEY, lineType, needToRegenerate, shape, visible`

Fields inherited from interface com.bbn.openmap.omGraphics.OMGraphicConstants

`ADD_GRAPHIC_MASK, BASIC_STROKE, CHANGE_APPEARANCE, clear, DECIMAL_DEGREES, DECLUTTERTYPE_LINE, DECLUTTERTYPE_MOVE, DECLUTTERTYPE_NONE, DECLUTTERTYPE_SPACE, DEFAULT_ROTATIONANGLE, DELETE_GRAPHIC_MASK, DESELECT_GRAPHIC_MASK, DESELECTALL_GRAPHIC_MASK, GRAPHICTYPE_ARC, GRAPHICTYPE_BITMAP, GRAPHICTYPE_CIRCLE, GRAPHICTYPE_ELLIPSE, GRAPHICTYPE_GRAPHIC, GRAPHICTYPE_GRID, GRAPHICTYPE_LINE, GRAPHICTYPE_POINT, GRAPHICTYPE_POLY, GRAPHICTYPE_RASTER, GRAPHICTYPE_RECTANGLE, GRAPHICTYPE_TEXT, INFOLINE, LABEL, LINETYPE_GREATCIRCLE, LINETYPE_RHUMB, LINETYPE_STRAIGHT, LINETYPE_UNKNOWN, LOWER_GRAPHIC_MASK, LOWER_TO_BOTTOM_GRAPHIC_MASK, RADIANS, RAISE_GRAPHIC_MASK, RAISE_TO_TOP_GRAPHIC_MASK, REMOVABLE, RENDERTYPE_LATLON, RENDERTYPE_OFFSET, RENDERTYPE_UNKNOWN, RENDERTYPE_XY, SELECT_GRAPHIC_MASK, SORT_GRAPHICS_MASK, TOOLTIP, UPDATE_GRAPHIC_MASK`

Constructor Summary
`LabeledOMSpline()` Default constructor.
`LabeledOMSpline(float[] llPoints, int units, int lType)` Create an LabeledOMSpline from a list of float lat/lon pairs.
`LabeledOMSpline(float[] llPoints, int units, int lType, int nsegs)` Create an LabeledOMSpline from a list of float lat/lon pairs.
`LabeledOMSpline(float latPoint, float lonPoint, int[] xypoints, int cMode)` Create an x/y LabeledOMSpline at an offset from lat/lon.
`LabeledOMSpline(float latPoint, float lonPoint, int[] xPoints, int[] yPoints, int cMode)` Create an x/y LabeledOMSpline at an offset from lat/lon.
`LabeledOMSpline(int[] xypoints)` Create an LabeledOMSpline from a list of xy pairs.
`LabeledOMSpline(int[] xPoints, int[] yPoints)` Create an x/y LabeledOMSpline.

Method Summary
`boolean` `generate(Projection proj)` Prepare the spline for rendering.
`java.awt.Point` `getCenter()` Get the calculated center where the label string is drawn.
`java.awt.Font` `getFont()` Get the Font for the label.
`int` `getIndex()` Get the index of the OMGraphic where the String will be rendered.
`int` `getJustify()` Get the justification setting for the label.
`protected OMText` `getLabel()`
`java.awt.Point` `getOffset()` Get the x, y pixel offsets set for the rendering of the point.
`double` `getRotationAngle()` Get the current rotation of the text.
`java.lang.String` `getText()` Get the String for the label.
`protected java.awt.Point` `getTextPoint(Projection proj)`
`boolean` `isLocateAtCenter()` Get whether the LabeledOMGraphic is placing the label String in the center of the OMGraphic.
`void` `render(java.awt.Graphics g)` Paint the poly.
`void` `setFont(java.awt.Font f)` Set the Font for the label.
`void` `setIndex(int index)` Set the index of the OMGraphic coordinates where the drawing point of the label should be attached.
`void` `setJustify(int just)` Set the justification setting for the label.
`void` `setLinePaint(java.awt.Paint paint)` Set the line paint for the polygon.
`void` `setLocateAtCenter(boolean set)` Tell the LabeledOMGraphic to calculate the location of the String that would put it in the middle of the OMGraphic.
`void` `setOffset(java.awt.Point p)` Set the x, y pixel offsets where the String should be rendered, from the location determined from the index point, or from the calculated center point.
`void` `setRotationAngle(double angle)` Set the angle by which the text is to rotated.
`void` `setText(java.lang.String label)` Set the String for the label.
`void` `setTextPaint(java.awt.Paint paint)` If not set to null, the text will be painted in a different color.

Methods inherited from class com.bbn.openmap.omGraphics.OMPoly
`checkPoints, createShape, distance, getCoordMode, getDoShapes, getLat, getLatLonArray, getLon, getNumSegs, getRawllpts, getShape, getUnits, getXs, getYs, isGeometryClosed, isPolygon, setCoordMode, setDoShapes, setFillPaint, setIsPolygon, setLat, setLocation, setLocation, setLocation, setLocation, setLocation, setLon, setNumSegs, setXs, setYs, shouldRenderFill`

Methods inherited from class com.bbn.openmap.omGraphics.OMAbstractLine
`addArrowHead, addArrowHead, addArrowHead, addArrowHead, createArrowHeads, getArrowDirectionType, getArrowHead, getArrowLocation, getWingLength, getWingTip, hasArrowHead, setArrowHead`

Methods inherited from class com.bbn.openmap.omGraphics.OMGraphic

`clone, deselect, getDeclutterType, getDescription, getDescription, getDisplayColor, getDisplayPaint, getEdgeMatchesFill, getFillColor, getFillPaint, getHasLabel, getLineColor, getLinePaint, getMattingPaint, getRenderType, getSelectColor, getSelectPaint, getShowEditablePalette, getStroke, getTextureMask, hasLineTypeChoice, initLabelingDuringGenerate, isClear, isMatted, isSelected, normalizeDistanceForLineWidth, regenerate, renderLabel, select, setDeclutterType, setEdgeMatchesFill, setFillColor, setGraphicsColor, setGraphicsForEdge, setGraphicsForFill, setHasLabel, setLabelLocation, setLabelLocation, setLabelLocation, setLineColor, setMatted, setMattingPaint, setRenderType, setSelectColor, setSelected, setSelectPaint, setShape, setShowEditablePalette, setStroke, setTextureMask, shouldRenderEdge`

Methods inherited from class com.bbn.openmap.omGraphics.geom.BasicGeometry

`_distance, appendShapeEdge, appendShapeEdge, appendShapeEdge, appendShapeEdge, checkAttributeMap, checkAttributeMap, clearAttributes, contains, createAttributeMap, createBoxShape, createShape, createShape, describeShapeDetail, describeShapeDetail, distanceToEdge, draw, fill, getAppObject, getAppObject, getAttribute, getAttributeMap, getAttributes, getLineType, getNeedToRegenerate, isRenderable, isVisible, putAttribute, removeAttribute, replaceAppObjectWithAttributeMap, setAppObject, setAppObject, setAttributes, setLineType, setNeedToRegenerate, setVisible`

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

Methods inherited from interface com.bbn.openmap.omGraphics.OMGeometry
`clearAttributes, contains, draw, fill, getAppObject, getAttribute, getAttributes, getLineType, getNeedToRegenerate, isRenderable, isVisible, putAttribute, removeAttribute, setAppObject, setAttributes, setLineType, setNeedToRegenerate, setVisible`

Field Detail

### label

    protected OMText label

### offset

    protected java.awt.Point offset

### locateAtCenter

    protected boolean locateAtCenter

### index

    protected int index

Constructor Detail

### LabeledOMSpline

    public LabeledOMSpline()

  Default constructor.

### LabeledOMSpline

    public LabeledOMSpline(float[] llPoints,
                           int units,
                           int lType)

  Create an LabeledOMSpline from a list of float lat/lon pairs.

### LabeledOMSpline

    public LabeledOMSpline(float[] llPoints,
                           int units,
                           int lType,
                           int nsegs)

  Create an LabeledOMSpline from a list of float lat/lon pairs.

### LabeledOMSpline

    public LabeledOMSpline(int[] xypoints)

  Create an LabeledOMSpline from a list of xy pairs.

### LabeledOMSpline

    public LabeledOMSpline(int[] xPoints,
                           int[] yPoints)

  Create an x/y LabeledOMSpline.

### LabeledOMSpline

    public LabeledOMSpline(float latPoint,
                           float lonPoint,
                           int[] xypoints,
                           int cMode)

  Create an x/y LabeledOMSpline at an offset from lat/lon.

### LabeledOMSpline

    public LabeledOMSpline(float latPoint,
                           float lonPoint,
                           int[] xPoints,
                           int[] yPoints,
                           int cMode)

  Create an x/y LabeledOMSpline at an offset from lat/lon.

Method Detail

### setText

    public void setText(java.lang.String label)

  Set the String for the label.

  Specified by:
    `setText` in interface `LabeledOMGraphic`

### getText

    public java.lang.String getText()

  Get the String for the label.

  Specified by:
    `getText` in interface `LabeledOMGraphic`

### getLabel

    protected OMText getLabel()

### setFont

    public void setFont(java.awt.Font f)

  Set the Font for the label.

  Specified by:
    `setFont` in interface `LabeledOMGraphic`

### getFont

    public java.awt.Font getFont()

  Get the Font for the label.

  Specified by:
    `getFont` in interface `LabeledOMGraphic`

### setJustify

    public void setJustify(int just)

  Set the justification setting for the label.

  Specified by:
    `setJustify` in interface `LabeledOMGraphic`
  See Also:
    `OMText.JUSTIFY_LEFT`, `OMText.JUSTIFY_CENTER`, `OMText.JUSTIFY_RIGHT`

### getJustify

    public int getJustify()

  Get the justification setting for the label.

  Specified by:
    `getJustify` in interface `LabeledOMGraphic`
  See Also:
    `OMText.JUSTIFY_LEFT`, `OMText.JUSTIFY_CENTER`, `OMText.JUSTIFY_RIGHT`

### setLocateAtCenter

    public void setLocateAtCenter(boolean set)

  Tell the LabeledOMGraphic to calculate the location of the String that would put it in the middle of the OMGraphic.

  Specified by:
    `setLocateAtCenter` in interface `LabeledOMGraphic`

### isLocateAtCenter

    public boolean isLocateAtCenter()

  Get whether the LabeledOMGraphic is placing the label String in the center of the OMGraphic.

  Specified by:
    `isLocateAtCenter` in interface `LabeledOMGraphic`

### getCenter

    public java.awt.Point getCenter()

  Get the calculated center where the label string is drawn.

  Specified by:
    `getCenter` in interface `LabeledOMGraphic`

### setIndex

    public void setIndex(int index)

  Set the index of the OMGraphic coordinates where the drawing point of the label should be attached. The meaning of the point differs between OMGraphic types.

  Specified by:
    `setIndex` in interface `LabeledOMGraphic`

### getIndex

    public int getIndex()

  Get the index of the OMGraphic where the String will be rendered. The meaning of the index differs from OMGraphic type to OMGraphic type.

  Specified by:
    `getIndex` in interface `LabeledOMGraphic`

### setOffset

    public void setOffset(java.awt.Point p)

  Set the x, y pixel offsets where the String should be rendered, from the location determined from the index point, or from the calculated center point. Point.x is the horizontal offset, Point.y is the vertical offset.

  Specified by:
    `setOffset` in interface `LabeledOMGraphic`

### getOffset

    public java.awt.Point getOffset()

  Get the x, y pixel offsets set for the rendering of the point.

  Specified by:
    `getOffset` in interface `LabeledOMGraphic`

### setRotationAngle

    public void setRotationAngle(double angle)

  Set the angle by which the text is to rotated.

  Specified by:
    `setRotationAngle` in interface `LabeledOMGraphic`
  Parameters:
    `angle` - the number of radians the text is to be rotated. Measured clockwise from horizontal. Positive numbers move the positive x axis toward the positive y axis.

### getRotationAngle

    public double getRotationAngle()

  Get the current rotation of the text.

  Specified by:
    `getRotationAngle` in interface `LabeledOMGraphic`
  Returns:
    the text rotation.

### setLinePaint

    public void setLinePaint(java.awt.Paint paint)

  Set the line paint for the polygon. If the text paint hasn't been explicitly set, then the text paint will be set to this paint, too.

  Overrides:
    `setLinePaint` in class `OMGraphic`
  Parameters:
    `paint` - the real line Paint

### setTextPaint

    public void setTextPaint(java.awt.Paint paint)

  If not set to null, the text will be painted in a different color. If set to null, the text paint will match the poly edge paint.

  Parameters:
    `paint` - the Paint object for the text

### getTextPoint

    protected java.awt.Point getTextPoint(Projection proj)

### generate

    public boolean generate(Projection proj)

  Description copied from class: `OMSpline`
  Prepare the spline for rendering.

  Specified by:
    `generate` in interface `OMGeometry`
  Overrides:
    `generate` in class `OMSpline`
  Parameters:
    `proj` - Projection
  Returns:
    true if generate was successful
  See Also:
    `OMGeometry.generate(Projection)`

### render

    public void render(java.awt.Graphics g)

  Description copied from class: `OMPoly`
  Paint the poly. This works if generate() has been successful.

  Overrides:
    `render` in class `OMPoly`
  Parameters:
    `g` - java.awt.Graphics to paint the poly onto.

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