public class AntennaAxes extends AbstractShape
AntennaModel
. The axes are positioned by a Position
, an azimuth and ane elevation
angle. The azimuth orients the axes clockwise from north. The elevation angle rotates the axes vertically
counterclockwise from the horizon.Modifier and Type | Class and Description |
---|---|
protected static class |
AntennaAxes.ShapeData
This class holds globe-specific data for this shape.
|
AbstractShape.AbstractShapeData
Modifier and Type | Field and Description |
---|---|
protected Angle |
azimuth |
static int |
DISPLAY_MODE_FILL |
static int |
DISPLAY_MODE_LINE |
protected Angle |
elevationAngle |
protected java.awt.Font |
labelFont |
protected double |
length |
protected int |
nHeightIntervals |
protected int |
nThetaIntervals |
protected Position |
position |
protected double |
radius |
protected java.lang.String |
xAxisLabel |
protected java.lang.String |
yAxisLabel |
protected java.lang.String |
zAxisLabel |
activeAttributes, altitudeMode, BEogsh, currentData, DEFAULT_ALTITUDE_MODE, DEFAULT_GEOMETRY_GENERATION_INTERVAL, DEFAULT_HIGHLIGHT_MATERIAL, DEFAULT_INTERIOR_MATERIAL, DEFAULT_OUTLINE_MATERIAL, DEFAULT_OUTLINE_PICK_WIDTH, defaultAttributes, delegateOwner, dragEnabled, draggableSupport, enableBatchPicking, enableBatchRendering, enableDepthOffset, highlightAttrs, highlighted, maxExpiryTime, minExpiryTime, normalAttrs, outlinePickWidth, outlineShapeRenderer, pickLayer, pickSupport, referencePosition, sector, shapeDataCache, surfaceShape, VBO_THRESHOLD, viewDistanceExpiration, visible
FORMAT_NOT_SUPPORTED, FORMAT_PARTIALLY_SUPPORTED, FORMAT_SUPPORTED
Constructor and Description |
---|
AntennaAxes() |
Modifier and Type | Method and Description |
---|---|
protected AbstractShape.AbstractShapeData |
createCacheEntry(DrawContext dc)
Creates and returns a new cache entry specific to the subclass.
|
protected void |
doDrawInterior(DrawContext dc)
Draws this shape's interior.
|
protected void |
doDrawOutline(DrawContext dc)
Draws this shape's outline.
|
protected void |
doExportAsKML(javax.xml.stream.XMLStreamWriter xmlWriter)
Exports shape-specific fields.
|
protected boolean |
doMakeOrderedRenderable(DrawContext dc)
Produces the geometry and other state necessary to represent this shape as an ordered renderable.
|
void |
drawAxes(DrawContext dc) |
protected void |
drawCone(DrawContext dc,
AntennaAxes.ShapeData shapeData) |
protected void |
drawCylinder(DrawContext dc,
AntennaAxes.ShapeData shapeData) |
protected void |
drawLabel(TextRenderer textRenderer,
java.lang.String text,
Vec4 screenPoint,
java.awt.Color textColor,
java.awt.Color bgColor) |
protected void |
drawLabels(DrawContext dc) |
protected void |
fillVBO(DrawContext dc)
Fill this shape's vertex buffer objects.
|
Angle |
getAzimuth() |
protected AntennaAxes.ShapeData |
getCurrent()
Returns the current shape data cache entry.
|
Angle |
getElevationAngle() |
Extent |
getExtent(Globe globe,
double verticalExaggeration)
Returns the objects enclosing volume as an
Extent in model coordinates, given a
specified Globe and vertical exaggeration (see SceneController.getVerticalExaggeration() . |
java.awt.Font |
getLabelFont() |
double |
getLength() |
Position |
getPosition() |
double |
getRadius() |
Position |
getReferencePosition()
A position associated with the object that indicates its aggregate geographic position.
|
Sector |
getSector()
Returns the object's geographic extent.
|
java.lang.String |
getXAxisLabel() |
java.lang.String |
getYAxisLabel() |
java.lang.String |
getZAxisLabel() |
protected void |
initialize()
Called during construction to establish any subclass-specific state such as different default values than those
set by this class.
|
java.util.List<Intersection> |
intersect(Line line,
Terrain terrain)
Compute the intersections of a specified line with this shape.
|
java.lang.String |
isExportFormatSupported(java.lang.String mimeType)
Does this object support a certain export format?
|
protected boolean |
isOrderedRenderableValid(DrawContext dc)
Determines whether this shape's ordered renderable state is valid and can be rendered.
|
protected void |
makeCone() |
protected void |
makeCylinderIndices() |
protected void |
makeCylinderNormals() |
protected void |
makeCylinderVertices(DrawContext dc) |
void |
moveTo(Position position)
Move the shape over the globe's surface while maintaining its original azimuth, its orientation relative to
North.
|
protected boolean |
mustApplyTexture(DrawContext dc)
Indicates whether texture should be applied to this shape.
|
protected boolean |
mustDrawOutline()
Indicates whether this shape's outline must be drawn.
|
protected boolean |
mustRegenerateGeometry(DrawContext dc)
Indicates whether this shape's renderable geometry must be recomputed, either as a result of an attribute or
property change or the expiration of the geometry regeneration interval.
|
void |
render(DrawContext dc)
Causes this
Renderable to render itself using the provided draw context. |
void |
setAzimuth(Angle azimuth)
Specifies an angle clockwise from north by which to rotate the axes.
|
void |
setElevationAngle(Angle elevationAngle)
Specifies an angle to rotate the axes vertically counterclockwise from the horizon.
|
void |
setLabelFont(java.awt.Font labelFont) |
void |
setLength(double length)
Specifies the length of the axes, in meters.
|
void |
setPosition(Position position)
Specifies the position of the axes' origin.
|
void |
setRadius(double radius) |
void |
setXAxisLabel(java.lang.String xAxisLabel) |
void |
setYAxisLabel(java.lang.String yAxisLabel) |
void |
setZAxisLabel(java.lang.String zAxisLabel) |
protected boolean |
shouldUseVBOs(DrawContext dc)
Indicates whether this shape should use OpenGL vertex buffer objects.
|
addOrderedRenderable, beginDrawing, checkViewDistanceExpiration, clearCachedVbos, computeExtentFromPositions, computePoint, computePoint, countTriangleVertices, createPickedObject, createSurfaceShape, determineActiveAttributes, doDrag, doDrawOrderedRenderable, doGetRestorableState, doRestoreState, drag, drawBatched, drawInterior, drawOrderedRenderable, drawOutline, endDrawing, export, exportAsKML, getActiveAttributes, getAltitudeMode, getAttributes, getCurrentData, getDelegateOwner, getDistanceFromEye, getExtent, getGeometryRegenerationInterval, getHighlightAttributes, getOutlinePickWidth, getReferencePoint, getRestorableState, getVboIds, intersectsFrustum, isDragEnabled, isEnableBatchPicking, isEnableBatchRendering, isEnableDepthOffset, isHighlighted, isTerrainDependent, isViewDistanceExpiration, isVisible, makeOrderedRenderable, makeTexture, move, moveTo, mustApplyLighting, mustApplyLighting, mustCreateNormals, mustCreateNormals, mustDrawInterior, pick, prepareToDrawInterior, prepareToDrawOutline, preRender, reset, restoreState, setAltitudeMode, setAttributes, setDelegateOwner, setDragEnabled, setEnableBatchPicking, setEnableBatchRendering, setEnableDepthOffset, setGeometryRegenerationInterval, setHighlightAttributes, setHighlighted, setOutlinePickWidth, setReferencePosition, setViewDistanceExpiration, setVisible, updateSurfaceShape
onMessage, propertyChange
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getBooleanValue, getBooleanValue, getChangeSupport, getDoubleValue, getDoubleValue, getEntries, getIntegerValue, getIntegerValue, getLongValue, getLongValue, getRestorableStateForAVPair, getStringValue, getStringValue, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
protected Angle azimuth
public static final int DISPLAY_MODE_FILL
public static final int DISPLAY_MODE_LINE
protected Angle elevationAngle
protected java.awt.Font labelFont
protected double length
protected int nHeightIntervals
protected int nThetaIntervals
protected Position position
protected double radius
protected java.lang.String xAxisLabel
protected java.lang.String yAxisLabel
protected java.lang.String zAxisLabel
protected AbstractShape.AbstractShapeData createCacheEntry(DrawContext dc)
AbstractShape
createCacheEntry
in class AbstractShape
dc
- the current draw context.protected void doDrawInterior(DrawContext dc)
AbstractShape
AbstractShape.prepareToDrawInterior(DrawContext,
ShapeAttributes, ShapeAttributes)
, which establishes OpenGL state for lighting, blending, pick color and
interior attributes. Subclasses should execute the drawing commands specific to the type of shape.
A AbstractShape.AbstractShapeData
must be current when this method is called.
doDrawInterior
in class AbstractShape
dc
- the current draw context.protected void doDrawOutline(DrawContext dc)
AbstractShape
AbstractShape.prepareToDrawOutline(DrawContext,
ShapeAttributes, ShapeAttributes)
, which establishes OpenGL state for lighting, blending, pick color and line
attributes. Subclasses should execute the drawing commands specific to the type of shape.
A AbstractShape.AbstractShapeData
must be current when this method is called.
doDrawOutline
in class AbstractShape
dc
- the current draw context.protected void doExportAsKML(javax.xml.stream.XMLStreamWriter xmlWriter) throws java.io.IOException, javax.xml.stream.XMLStreamException
AbstractShape
doExportAsKML
in class AbstractShape
xmlWriter
- the export writer to write to.java.io.IOException
- if an IO error occurs while writing to the output destination.javax.xml.stream.XMLStreamException
- if an exception occurs converting this shape's fields to XML.protected boolean doMakeOrderedRenderable(DrawContext dc)
AbstractShape
AbstractShape.pick(DrawContext, java.awt.Point)
and AbstractShape.render(DrawContext)
when it's been determined that the shape is
likely to be visible.doMakeOrderedRenderable
in class AbstractShape
dc
- the current draw context.AbstractShape.pick(DrawContext, java.awt.Point)
,
AbstractShape.render(DrawContext)
public void drawAxes(DrawContext dc)
protected void drawCone(DrawContext dc, AntennaAxes.ShapeData shapeData)
protected void drawCylinder(DrawContext dc, AntennaAxes.ShapeData shapeData)
protected void drawLabel(TextRenderer textRenderer, java.lang.String text, Vec4 screenPoint, java.awt.Color textColor, java.awt.Color bgColor)
protected void drawLabels(DrawContext dc)
protected void fillVBO(DrawContext dc)
AbstractShape
A AbstractShape.AbstractShapeData
must be current when this method is called.
fillVBO
in class AbstractShape
dc
- the current draw context.public Angle getAzimuth()
protected AntennaAxes.ShapeData getCurrent()
public Angle getElevationAngle()
public Extent getExtent(Globe globe, double verticalExaggeration)
ExtentHolder
Extent
in model coordinates, given a
specified Globe
and vertical exaggeration (see SceneController.getVerticalExaggeration()
.getExtent
in interface ExtentHolder
getExtent
in class AbstractShape
globe
- the Globe the object is related to.verticalExaggeration
- the vertical exaggeration of the scene containing this object.public java.awt.Font getLabelFont()
public double getLength()
public Position getPosition()
public double getRadius()
public Position getReferencePosition()
Movable
public Sector getSector()
GeographicExtent
public java.lang.String getXAxisLabel()
public java.lang.String getYAxisLabel()
public java.lang.String getZAxisLabel()
protected void initialize()
AbstractShape
initialize
in class AbstractShape
public java.util.List<Intersection> intersect(Line line, Terrain terrain) throws java.lang.InterruptedException
AbstractShape
WorldWind.ABSOLUTE
, the shape's geometry is created relative to the specified terrain rather than the terrain
used during rendering, which may be at lower level of detail than required for accurate intersection
determination.intersect
in class AbstractShape
line
- the line to intersect.terrain
- the Terrain
to use when computing the shape's geometry.java.lang.InterruptedException
- if the operation is interrupted.Terrain
public java.lang.String isExportFormatSupported(java.lang.String mimeType)
Exportable
isExportFormatSupported
in interface Exportable
isExportFormatSupported
in class AbstractShape
mimeType
- Desired export format.Exportable.FORMAT_SUPPORTED
, Exportable.FORMAT_NOT_SUPPORTED
, or Exportable.FORMAT_PARTIALLY_SUPPORTED
.Exportable.export(String, Object)
protected boolean isOrderedRenderableValid(DrawContext dc)
AbstractShape
AbstractShape.makeOrderedRenderable(DrawContext)
just prior to adding the shape to the ordered renderable list.isOrderedRenderableValid
in class AbstractShape
dc
- the current draw context.protected void makeCone()
protected void makeCylinderIndices()
protected void makeCylinderNormals()
protected void makeCylinderVertices(DrawContext dc)
public void moveTo(Position position)
Movable
position
- the new position of the shape's reference position.protected boolean mustApplyTexture(DrawContext dc)
AbstractShape
Note: This method always returns false during the pick pass.
mustApplyTexture
in class AbstractShape
dc
- the current draw contextprotected boolean mustDrawOutline()
AbstractShape
mustDrawOutline
in class AbstractShape
protected boolean mustRegenerateGeometry(DrawContext dc)
AbstractShape
A AbstractShape.AbstractShapeData
must be current when this method is called.
mustRegenerateGeometry
in class AbstractShape
dc
- the current draw context.public void render(DrawContext dc)
Renderable
Renderable
to render itself using the provided draw context.render
in interface Renderable
render
in class AbstractShape
dc
- the DrawContext
to be usedDrawContext
public void setAzimuth(Angle azimuth)
azimuth
- the angle from north.public void setElevationAngle(Angle elevationAngle)
elevationAngle
- the elevation angle.public void setLabelFont(java.awt.Font labelFont)
public void setLength(double length)
length
- the axes length in meters.public void setPosition(Position position)
position
- the position of the axes' origin.public void setRadius(double radius)
public void setXAxisLabel(java.lang.String xAxisLabel)
public void setYAxisLabel(java.lang.String yAxisLabel)
public void setZAxisLabel(java.lang.String zAxisLabel)
protected boolean shouldUseVBOs(DrawContext dc)
AbstractShape
shouldUseVBOs
in class AbstractShape
dc
- the current draw context.