com.bbn.openmap.omGraphics
Class OMEllipse

java.lang.Object
  extended by com.bbn.openmap.omGraphics.geom.BasicGeometry
      extended by com.bbn.openmap.omGraphics.OMGraphicAdapter
          extended by com.bbn.openmap.omGraphics.OMArc
              extended by com.bbn.openmap.omGraphics.OMCircle
                  extended by com.bbn.openmap.omGraphics.OMEllipse
All Implemented Interfaces:
OMGeometry, OMGraphic, OMGraphicConstants, java.io.Serializable, java.lang.Cloneable

public class OMEllipse
extends OMCircle

The OMEllipse is a lat/lon ellipse, made up of a center lat/lon point, and some length described for the x and y axis. If you want to create ellipses in X/Y space, use OMCircle. Ellipse arcs are not available yet, and this class doesn't really work with the EditableOMCircle. You can use EditableOMCircles to move and delete OMEllipses, but you can't change the axis dimensions.

See Also:
Serialized Form

Field Summary
protected  double majorAxisSpan
           
protected  double minorAxisSpan
           
protected  double[] rawllpts
           
 
Fields inherited from class com.bbn.openmap.omGraphics.OMArc
arcType, center, extent, height, nverts, off_x, off_y, radius, rotationAngle, start, width, x1, y1
 
Fields inherited from class com.bbn.openmap.omGraphics.OMGraphicAdapter
declutterType, displayPaint, edgeMatchesFill, fillPaint, hasLabel, linePaint, matted, mattingPaint, renderType, selected, selectPaint, showEditablePalette, stroke, textureMask
 
Fields inherited from class com.bbn.openmap.omGraphics.geom.BasicGeometry
attributes, lineType, needToRegenerate, shape, visible
 
Fields inherited from interface com.bbn.openmap.omGraphics.OMGraphicConstants
ADD_GRAPHIC_MASK, APP_OBJECT, 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, INDEX, INFOLINE, LABEL, LINETYPE_GREATCIRCLE, LINETYPE_RHUMB, LINETYPE_STRAIGHT, LINETYPE_UNKNOWN, LOWER_GRAPHIC_MASK, LOWER_TO_BOTTOM_GRAPHIC_MASK, NO_ROTATE, 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 Summary
OMEllipse(int x1, int y1, int majorAxisSpan, int minorAxisSpan, double rotateAngle)
          Create a OMEllipse, positioned with a x-y center with x-y axis.
OMEllipse(LatLonPoint centerPoint, double majorAxisSpan, double minorAxisSpan, Length units, double rotateAngle)
          Create a OMEllipse, positioned with a lat-lon center and a lat-lon axis.
OMEllipse(LatLonPoint centerPoint, int w, int h, double rotateAngle)
          Create a OMEllipse, positioned with a lat-lon center and x-y axis.
OMEllipse(LatLonPoint centerPoint, int offset_x1, int offset_y1, int w, int h, double rotateAngle)
          Create a OMEllipse, positioned at a Lat-lon location, x-y offset, x-y axis.
 
Method Summary
 double[] createLatLonPoints()
          Given that the center point and the axis are set, calculate the new lat/lon points all around the ellipse from the center.
 boolean generate(Projection proj)
          Prepare the arc for rendering.
 double[] getLatLonPoints()
          Get the float[] of points that make up the ellipse.
 double getMajorAxis()
          Get the x axis value.
 double getMinorAxis()
          Get the y axis value.
 void restore(OMGeometry source)
          Takes the generic OMGraphic settings from another OMGraphic and pushes them to this one.
 void setAxis(double majorAxis, double minorAxis, Length units)
          Set the axis lengths of the ellipse.
 void setCenter(LatLonPoint llp)
          Set the latitude and longitude of the center point.
 
Methods inherited from class com.bbn.openmap.omGraphics.OMCircle
createArcShape, getCoordLists, hasLineTypeChoice, shouldCenterBeInShape
 
Methods inherited from class com.bbn.openmap.omGraphics.OMArc
clone, createArcShape, getArcType, getCenter, getCoordLists, getExtentAngle, getHeight, getLatLon, getNumVerts, getOffX, getOffY, getPolarCorrection, getPolarShapeLine, getRadius, getRotationAngle, getStartAngle, getWidth, getX, getY, render, setArcType, setExtent, setHeight, setLatLon, setNeedToRegenerate, setNumVerts, setOffX, setOffY, setPolarCorrection, setRadius, setRadius, setRotationAngle, setStart, setWidth, setX, setY
 
Methods inherited from class com.bbn.openmap.omGraphics.OMGraphicAdapter
deselect, distance, getDeclutterType, getDisplayColor, getDisplayPaint, getEdgeMatchesFill, getFillColor, getFillPaint, getHasLabel, getLineColor, getLinePaint, getMattingPaint, getRenderType, getSelectColor, getSelectPaint, getShowEditablePalette, getStroke, getTextureMask, initLabelingDuringGenerate, isClear, isMatted, isSelected, normalizeDistanceForLineWidth, readStroke, readTextureMask, regenerate, renderLabel, renderShape, select, setDeclutterType, setEdgeMatchesFill, setFillColor, setFillPaint, setGraphicsColor, setGraphicsForEdge, setGraphicsForFill, setHasLabel, setLabelLocation, setLabelLocation, setLabelLocation, setLabelLocation, setLabelLocation, setLabelLocation, setLabelLocation, setLabelLocation, setLineColor, setLinePaint, setMatted, setMattingPaint, setRenderType, setSelectColor, setSelected, setSelectPaint, setShowEditablePalette, setStroke, setTextureMask, shouldRenderEdge, shouldRenderFill, writeStroke, writeTextureMask
 
Methods inherited from class com.bbn.openmap.omGraphics.geom.BasicGeometry
_distance, appendShapeEdge, appendShapeEdge, appendShapeEdge, appendShapeEdge, clearAttributes, contains, createAttributeMap, createBoxShape, createShape, createShape, describeShapeDetail, describeShapeDetail, distanceToEdge, distanceToEdge, draw, draw, fill, fill, getAppObject, getAttribute, getAttributes, getDescription, getLineType, getNeedToRegenerate, getShape, isRenderable, isRenderable, isVisible, putAttribute, removeAttribute, setAppObject, setAttributes, setLineType, setShape, 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.OMGraphic
deselect, getDeclutterType, getDisplayColor, getDisplayPaint, getFillColor, getFillPaint, getLineColor, getLinePaint, getMattingPaint, getRenderType, getSelectColor, getSelectPaint, getShowEditablePalette, getStroke, getTextureMask, isMatted, isSelected, normalizeDistanceForLineWidth, regenerate, renderLabel, select, setDeclutterType, setFillPaint, setGraphicsColor, setGraphicsForEdge, setGraphicsForFill, setLabelLocation, setLabelLocation, setLabelLocation, setLinePaint, setMatted, setMattingPaint, setRenderType, setSelected, setSelectPaint, setShowEditablePalette, setStroke, setTextureMask, shouldRenderEdge, shouldRenderFill
 
Methods inherited from interface com.bbn.openmap.omGraphics.OMGeometry
clearAttributes, contains, distance, distanceToEdge, draw, draw, fill, fill, getAppObject, getAttribute, getAttributes, getDescription, getLineType, getNeedToRegenerate, getShape, isRenderable, isRenderable, isVisible, putAttribute, removeAttribute, setAppObject, setAttributes, setLineType, setShape, setVisible
 

Field Detail

majorAxisSpan

protected double majorAxisSpan

minorAxisSpan

protected double minorAxisSpan

rawllpts

protected transient double[] rawllpts
Constructor Detail

OMEllipse

public OMEllipse(LatLonPoint centerPoint,
                 double majorAxisSpan,
                 double minorAxisSpan,
                 Length units,
                 double rotateAngle)
Create a OMEllipse, positioned with a lat-lon center and a lat-lon axis. Rendertype is RENDERTYPE_LATLON.

Parameters:
centerPoint - latitude/longitude of center point, decimal degrees
majorAxisSpan - horizontal diameter of circle/ellipse, pixels
minorAxisSpan - vertical diameter of circle/ellipse, in given units
units - com.bbn.openmap.proj.Length object.
rotateAngle - angle of rotation in Radians

OMEllipse

public OMEllipse(int x1,
                 int y1,
                 int majorAxisSpan,
                 int minorAxisSpan,
                 double rotateAngle)
Create a OMEllipse, positioned with a x-y center with x-y axis. Rendertype is RENDERTYPE_XY.

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
majorAxisSpan - horizontal diameter of circle/ellipse, pixels
minorAxisSpan - vertical diameter of circle/ellipse, pixels
rotateAngle - angle of rotation in Radians

OMEllipse

public OMEllipse(LatLonPoint centerPoint,
                 int w,
                 int h,
                 double rotateAngle)
Create a OMEllipse, positioned with a lat-lon center and x-y axis. Rendertype is RENDERTYPE_OFFSET.

Parameters:
centerPoint - latitude/longitude of center point, decimal degrees
w - horizontal diameter of circle/ellipse, pixels
h - vertical diameter of circle/ellipse, pixels
rotateAngle - angle of rotation in Radians

OMEllipse

public OMEllipse(LatLonPoint centerPoint,
                 int offset_x1,
                 int offset_y1,
                 int w,
                 int h,
                 double rotateAngle)
Create a OMEllipse, positioned at a Lat-lon location, x-y offset, x-y axis. Rendertype is RENDERTYPE_OFFSET.

Parameters:
centerPoint - latitude/longitude of center point, decimal degrees
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.
Method Detail

setAxis

public void setAxis(double majorAxis,
                    double minorAxis,
                    Length units)
Set the axis lengths of the ellipse.

Parameters:
majorAxis - x direction of ellipse.
minorAxis - y direction of ellipse.
units - com.bbn.openmap.proj.Length object describing units of axis values.

setCenter

public void setCenter(LatLonPoint llp)
Description copied from class: OMArc
Set the latitude and longitude of the center point. This is meaningful only if the rendertype is RENDERTYPE_LATLON or RENDERTYPE_OFFSET.

Overrides:
setCenter in class OMArc
Parameters:
llp - LatLonPoint of center.

getMajorAxis

public double getMajorAxis()
Get the x axis value.


getMinorAxis

public double getMinorAxis()
Get the y axis value.


getLatLonPoints

public double[] getLatLonPoints()
Get the float[] of points that make up the ellipse. In radians, lat, lon, lat, lon, etc. May be null if generate hasn't been called.


createLatLonPoints

public double[] createLatLonPoints()
Given that the center point and the axis are set, calculate the new lat/lon points all around the ellipse from the center.


generate

public boolean generate(Projection proj)
Description copied from class: OMArc
Prepare the arc for rendering.

Specified by:
generate in interface OMGeometry
Overrides:
generate in class OMArc
Parameters:
proj - Projection
Returns:
true if generate was successful
See Also:
OMGraphicAdapter.regenerate(com.bbn.openmap.proj.Projection)

restore

public void restore(OMGeometry source)
Description copied from class: OMGraphicAdapter
Takes the generic OMGraphic settings from another OMGraphic and pushes them to this one.

Specified by:
restore in interface OMGeometry
Overrides:
restore in class OMArc


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