public class OMLine extends OMAbstractLine implements java.io.Serializable, NonRegional
The OMLine is used to create simple lines, from one point on the window to the other. If you want to have a line with several parts, use OMPoly as a polyline with no fillColor.
OMPoly
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected ArcCalc |
arc
For x-y and offset lines, there is the ability to put a curve in the
line.
|
static int |
CURVED_LINE |
protected boolean |
isPolyline
Figured out after generation, based on what's going on with the map.
|
protected double[] |
latlons
latlons is a array of 4 doubles - lat1, lon1, lat2, lon2.
|
protected int[] |
pts
pts is an array of 4 ints - px1, py1, px2, py2.
|
static int |
STRAIGHT_LINE |
arrowhead, nsegs, xpoints, ypoints
declutterType, displayPaint, edgeMatchesFill, fillPaint, hasLabel, linePaint, matted, mattingPaint, renderType, selected, selectPaint, showEditablePalette, stroke, textureMask
APP_OBJECT_KEY, appObject, ATT_MAP_KEY, lineType, needToRegenerate, shape, visible
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, OMGRAPHIC_ELT, OMGRAPHIC_TYPE_ATTR, 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, UPDATED
Constructor and Description |
---|
OMLine()
Generic constructor, attributes need to filled later.
|
OMLine(double lat_1,
double lon_1,
double lat_2,
double lon_2,
int lineType)
Create a line from lat lon points.
|
OMLine(double lat_1,
double lon_1,
double lat_2,
double lon_2,
int lineType,
int nsegs)
Create a line from lat lon points.
|
OMLine(double lat_1,
double lon_1,
int x1,
int y1,
int x2,
int y2)
Create a line between two x-y points on the window, where the x-y points
are offsets from a lat-lon point.
|
OMLine(int x1,
int y1,
int x2,
int y2)
Create a line between two xy points on the window.
|
Modifier and Type | Method and Description |
---|---|
boolean |
contains(double x,
double y)
This takes the area out of OMLines that may look like they have area,
depending on their shape.
|
boolean |
generate(Projection proj)
Prepare the line for rendering.
|
ArcCalc |
getArc()
Return the arc angle set for this line.
|
double[] |
getLL()
Get the lat lon values of the end points of the line in an array of
doubles - lat1, lon1, lat2, lon2.
|
int |
getNumSegs()
Get the number of segments of the lat/lon line.
|
int[] |
getPts()
Get the xy values of the end points of the line in an array of ints - x1,
y1, x2, y2 .
|
boolean |
isPolyline()
Check to see if this line is a polyline.
|
void |
render(java.awt.Graphics g)
Paint the line.
|
void |
restore(OMGeometry source)
Takes the generic OMGraphic settings from another OMGraphic and pushes
them to this one.
|
void |
setArc(ArcCalc ac)
Set the arc that is drawn between the points of a x-y or offset line.
|
void |
setLL(double[] lls)
Set the lat lon values of the end points of the line from an array of
doubles - lat1, lon1, lat2, lon2.
|
void |
setNumSegs(int nsegs)
Set the number of segments of the lat/lon line.
|
void |
setPts(int[] xys)
Set the xy values of the end points of the line from an array of ints -
x1, y1, x2, y2 .
|
boolean |
shouldRenderFill()
The OMLine should never render fill.
|
addArrowHead, addArrowHead, addArrowHead, addArrowHead, createArrowHeads, getArrowDirectionType, getArrowHead, getArrowLocation, getWingLength, getWingTip, hasArrowHead, restore, setArrowHead
clone, deselect, distance, getDeclutterType, getDisplayColor, getDisplayPaint, getEdgeMatchesFill, getFillColor, getFillPaint, getHasLabel, getLineColor, getLinePaint, getMattingPaint, getRenderType, getSelectColor, getSelectPaint, getShowEditablePalette, getStroke, getTextureMask, hasLineTypeChoice, initLabelingDuringGenerate, isClear, isMatted, isSelected, normalizeDistanceForLineWidth, readStroke, regenerate, renderLabel, select, setDeclutterType, setEdgeMatchesFill, setFillColor, setFillPaint, setGraphicsColor, setGraphicsForEdge, setGraphicsForFill, setHasLabel, setLabelLocation, setLabelLocation, setLabelLocation, setLabelLocation, setLineColor, setLinePaint, setMatted, setMattingPaint, setRenderType, setSelectColor, setSelected, setSelectPaint, setShape, setShowEditablePalette, setStroke, setTextureMask, shouldRenderEdge, writeStroke
_distance, appendShapeEdge, appendShapeEdge, appendShapeEdge, appendShapeEdge, checkAttributeMap, checkAttributeMap, clearAttributes, createAttributeMap, createBoxShape, createShape, createShape, describeShapeDetail, describeShapeDetail, distanceToEdge, distanceToEdge, draw, fill, getAppObject, getAppObject, getAttribute, getAttributeMap, getAttributes, getDescription, getLineType, getNeedToRegenerate, getShape, isRenderable, isVisible, putAttribute, removeAttribute, replaceAppObjectWithAttributeMap, setAppObject, setAppObject, setAttributes, setLineType, setNeedToRegenerate, setVisible
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
clone, deselect, getDeclutterType, getDisplayColor, getDisplayPaint, getFillColor, getFillPaint, getLineColor, getLinePaint, getMattingPaint, getRenderType, getSelectColor, getSelectPaint, getShowEditablePalette, getStroke, getTextureMask, hasLineTypeChoice, isMatted, isSelected, normalizeDistanceForLineWidth, regenerate, renderLabel, select, setDeclutterType, setFillPaint, setGraphicsColor, setGraphicsForEdge, setGraphicsForFill, setLabelLocation, setLabelLocation, setLabelLocation, setLinePaint, setMatted, setMattingPaint, setRenderType, setSelected, setSelectPaint, setShowEditablePalette, setStroke, setTextureMask, shouldRenderEdge
clearAttributes, distance, distanceToEdge, draw, fill, getAppObject, getAttribute, getAttributes, getDescription, getLineType, getNeedToRegenerate, getShape, isRenderable, isVisible, putAttribute, removeAttribute, setAppObject, setAttributes, setLineType, setNeedToRegenerate, setShape, setVisible
protected transient boolean isPolyline
protected double[] latlons
protected int[] pts
protected ArcCalc arc
public static final int STRAIGHT_LINE
public static final int CURVED_LINE
public OMLine()
public OMLine(double lat_1, double lon_1, double lat_2, double lon_2, int lineType)
lat_1
- latitude of first point, decimal degrees.lon_1
- longitude of first point, decimal degrees.lat_2
- latitude of second point, decimal degrees.lon_2
- longitude of second point, decimal degrees.lineType
- a choice between LINETYPE_STRAIGHT, LINETYPE_GREATCIRCLE
or LINETYPE_RHUMB.public OMLine(double lat_1, double lon_1, double lat_2, double lon_2, int lineType, int nsegs)
lat_1
- latitude of first point, decimal degrees.lon_1
- longitude of first point, decimal degrees.lat_2
- latitude of second point, decimal degrees.lon_2
- longitude of second point, decimal degrees.lineType
- a choice between LINETYPE_STRAIGHT, LINETYPE_GREATCIRCLE
or LINETYPE_RHUMB.nsegs
- number of segment points (only for LINETYPE_GREATCIRCLE or
LINETYPE_RHUMB line types, and if < 1, this value is generated
internally)public OMLine(int x1, int y1, int x2, int y2)
x1
- the x location of the first point, in pixels from the left of
the window.y1
- the y location of the first point, in pixels from the top of
the window.x2
- the x location of the second point, in pixels from the left of
the window.y2
- the y location of the second point, in pixels from the top of
the window.public OMLine(double lat_1, double lon_1, int x1, int y1, int x2, int y2)
lat_1
- the latitude of the reference point of the line, in decimal
degrees.lon_1
- the longitude of the reference point of the line, in decimal
degrees.x1
- the x location of the first point, in pixels from the longitude
point.y1
- the y location of the first point, in pixels from the latitude
point.x2
- the x location of the second point, in pixels from the
longitude point.y2
- the y location of the second point, in pixels from the latitude
point.public void setLL(double[] lls)
lls
- array of doubles - lat1, lon1, lat2, lon2public double[] getLL()
public void setPts(int[] xys)
xys
- array of ints for the points - x1, y1, x2, y2public int[] getPts()
public boolean isPolyline()
public void setNumSegs(int nsegs)
nsegs
- number of segment pointspublic int getNumSegs()
public void setArc(ArcCalc ac)
public ArcCalc getArc()
public boolean generate(Projection proj)
generate
in interface OMGeometry
generate
in class OMGraphicAdapter
proj
- ProjectionOMGraphicAdapter.regenerate(com.bbn.openmap.proj.Projection)
public void render(java.awt.Graphics g)
render
in interface OMGeometry
render
in class OMGraphicAdapter
g
- Graphics context to render intopublic boolean shouldRenderFill()
shouldRenderFill
in interface OMGraphic
shouldRenderFill
in class OMGraphicAdapter
public boolean contains(double x, double y)
contains
in interface OMGeometry
contains
in class BasicGeometry
x
- X pixel coordinate of the point.y
- Y pixel coordinate of the point.public void restore(OMGeometry source)
OMGraphicAdapter
restore
in interface OMGeometry
restore
in class OMGraphicAdapter
Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details