Class AntennaAxes
- java.lang.Object
-
- gov.nasa.worldwind.avlist.AVListImpl
-
- gov.nasa.worldwind.WWObjectImpl
-
- gov.nasa.worldwind.render.AbstractShape
-
- gov.nasa.worldwindx.applications.antenna.AntennaAxes
-
- All Implemented Interfaces:
AVList,Draggable,MessageListener,Exportable,ExtentHolder,Movable,Movable2,Attributable,GeographicExtent,Highlightable,OrderedRenderable,PreRenderable,Renderable,Restorable,WWObject,java.beans.PropertyChangeListener,java.util.EventListener
public class AntennaAxes extends AbstractShape
Provides axes forAntennaModel. The axes are positioned by aPosition, 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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classAntennaAxes.ShapeDataThis class holds globe-specific data for this shape.-
Nested classes/interfaces inherited from class gov.nasa.worldwind.render.AbstractShape
AbstractShape.AbstractShapeData
-
-
Field Summary
Fields Modifier and Type Field Description protected Angleazimuthstatic intDISPLAY_MODE_FILLstatic intDISPLAY_MODE_LINEprotected AngleelevationAngleprotected java.awt.FontlabelFontprotected doublelengthprotected intnHeightIntervalsprotected intnThetaIntervalsprotected Positionpositionprotected doubleradiusprotected java.lang.StringxAxisLabelprotected java.lang.StringyAxisLabelprotected java.lang.StringzAxisLabel-
Fields inherited from class gov.nasa.worldwind.render.AbstractShape
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
-
Fields inherited from interface gov.nasa.worldwind.Exportable
FORMAT_NOT_SUPPORTED, FORMAT_PARTIALLY_SUPPORTED, FORMAT_SUPPORTED
-
-
Constructor Summary
Constructors Constructor Description AntennaAxes()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AbstractShape.AbstractShapeDatacreateCacheEntry(DrawContext dc)Creates and returns a new cache entry specific to the subclass.protected voiddoDrawInterior(DrawContext dc)Draws this shape's interior.protected voiddoDrawOutline(DrawContext dc)Draws this shape's outline.protected voiddoExportAsKML(javax.xml.stream.XMLStreamWriter xmlWriter)Exports shape-specific fields.protected booleandoMakeOrderedRenderable(DrawContext dc)Produces the geometry and other state necessary to represent this shape as an ordered renderable.voiddrawAxes(DrawContext dc)protected voiddrawCone(DrawContext dc, AntennaAxes.ShapeData shapeData)protected voiddrawCylinder(DrawContext dc, AntennaAxes.ShapeData shapeData)protected voiddrawLabel(TextRenderer textRenderer, java.lang.String text, Vec4 screenPoint, java.awt.Color textColor, java.awt.Color bgColor)protected voiddrawLabels(DrawContext dc)protected voidfillVBO(DrawContext dc)Fill this shape's vertex buffer objects.AnglegetAzimuth()protected AntennaAxes.ShapeDatagetCurrent()Returns the current shape data cache entry.AnglegetElevationAngle()ExtentgetExtent(Globe globe, double verticalExaggeration)Returns the objects enclosing volume as anExtentin model coordinates, given a specifiedGlobeand vertical exaggeration (seeSceneController.getVerticalExaggeration().java.awt.FontgetLabelFont()doublegetLength()PositiongetPosition()doublegetRadius()PositiongetReferencePosition()A position associated with the object that indicates its aggregate geographic position.SectorgetSector()Returns the object's geographic extent.java.lang.StringgetXAxisLabel()java.lang.StringgetYAxisLabel()java.lang.StringgetZAxisLabel()protected voidinitialize()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.StringisExportFormatSupported(java.lang.String mimeType)Does this object support a certain export format?protected booleanisOrderedRenderableValid(DrawContext dc)Determines whether this shape's ordered renderable state is valid and can be rendered.protected voidmakeCone()protected voidmakeCylinderIndices()protected voidmakeCylinderNormals()protected voidmakeCylinderVertices(DrawContext dc)voidmoveTo(Position position)Move the shape over the globe's surface while maintaining its original azimuth, its orientation relative to North.protected booleanmustApplyTexture(DrawContext dc)Indicates whether texture should be applied to this shape.protected booleanmustDrawOutline()Indicates whether this shape's outline must be drawn.protected booleanmustRegenerateGeometry(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.voidrender(DrawContext dc)Causes thisRenderableto render itself using the provided draw context.voidsetAzimuth(Angle azimuth)Specifies an angle clockwise from north by which to rotate the axes.voidsetElevationAngle(Angle elevationAngle)Specifies an angle to rotate the axes vertically counterclockwise from the horizon.voidsetLabelFont(java.awt.Font labelFont)voidsetLength(double length)Specifies the length of the axes, in meters.voidsetPosition(Position position)Specifies the position of the axes' origin.voidsetRadius(double radius)voidsetXAxisLabel(java.lang.String xAxisLabel)voidsetYAxisLabel(java.lang.String yAxisLabel)voidsetZAxisLabel(java.lang.String zAxisLabel)protected booleanshouldUseVBOs(DrawContext dc)Indicates whether this shape should use OpenGL vertex buffer objects.-
Methods inherited from class gov.nasa.worldwind.render.AbstractShape
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
-
Methods inherited from class gov.nasa.worldwind.WWObjectImpl
onMessage, propertyChange
-
Methods inherited from class gov.nasa.worldwind.avlist.AVListImpl
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
-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface gov.nasa.worldwind.avlist.AVList
addPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValues
-
-
-
-
Field Detail
-
DISPLAY_MODE_FILL
public static final int DISPLAY_MODE_FILL
- See Also:
- Constant Field Values
-
DISPLAY_MODE_LINE
public static final int DISPLAY_MODE_LINE
- See Also:
- Constant Field Values
-
nHeightIntervals
protected int nHeightIntervals
-
nThetaIntervals
protected int nThetaIntervals
-
position
protected Position position
-
azimuth
protected Angle azimuth
-
elevationAngle
protected Angle elevationAngle
-
length
protected double length
-
radius
protected double radius
-
labelFont
protected java.awt.Font labelFont
-
xAxisLabel
protected java.lang.String xAxisLabel
-
yAxisLabel
protected java.lang.String yAxisLabel
-
zAxisLabel
protected java.lang.String zAxisLabel
-
-
Method Detail
-
createCacheEntry
protected AbstractShape.AbstractShapeData createCacheEntry(DrawContext dc)
Description copied from class:AbstractShapeCreates and returns a new cache entry specific to the subclass.- Specified by:
createCacheEntryin classAbstractShape- Parameters:
dc- the current draw context.- Returns:
- a data cache entry for the state in the specified draw context.
-
getCurrent
protected AntennaAxes.ShapeData getCurrent()
Returns the current shape data cache entry.- Returns:
- the current data cache entry.
-
initialize
protected void initialize()
Description copied from class:AbstractShapeCalled during construction to establish any subclass-specific state such as different default values than those set by this class.- Specified by:
initializein classAbstractShape
-
getPosition
public Position getPosition()
-
setPosition
public void setPosition(Position position)
Specifies the position of the axes' origin.- Parameters:
position- the position of the axes' origin.
-
getAzimuth
public Angle getAzimuth()
-
setAzimuth
public void setAzimuth(Angle azimuth)
Specifies an angle clockwise from north by which to rotate the axes.- Parameters:
azimuth- the angle from north.
-
getElevationAngle
public Angle getElevationAngle()
-
setElevationAngle
public void setElevationAngle(Angle elevationAngle)
Specifies an angle to rotate the axes vertically counterclockwise from the horizon. The rotation is a right-handed rotation relative to the X axis.- Parameters:
elevationAngle- the elevation angle.
-
getRadius
public double getRadius()
-
setRadius
public void setRadius(double radius)
-
getLength
public double getLength()
-
setLength
public void setLength(double length)
Specifies the length of the axes, in meters.- Parameters:
length- the axes length in meters.
-
getLabelFont
public java.awt.Font getLabelFont()
-
setLabelFont
public void setLabelFont(java.awt.Font labelFont)
-
getXAxisLabel
public java.lang.String getXAxisLabel()
-
setXAxisLabel
public void setXAxisLabel(java.lang.String xAxisLabel)
-
getYAxisLabel
public java.lang.String getYAxisLabel()
-
setYAxisLabel
public void setYAxisLabel(java.lang.String yAxisLabel)
-
getZAxisLabel
public java.lang.String getZAxisLabel()
-
setZAxisLabel
public void setZAxisLabel(java.lang.String zAxisLabel)
-
getReferencePosition
public Position getReferencePosition()
Description copied from interface:MovableA position associated with the object that indicates its aggregate geographic position. The chosen position varies among implementers of this interface. For objects defined by a list of positions, the reference position is typically the first position in the list. For symmetric objects the reference position is often the center of the object. In many cases the object's reference position may be explicitly specified by the application.- Returns:
- the object's reference position, or null if no reference position is available.
-
getExtent
public Extent getExtent(Globe globe, double verticalExaggeration)
Description copied from interface:ExtentHolderReturns the objects enclosing volume as anExtentin model coordinates, given a specifiedGlobeand vertical exaggeration (seeSceneController.getVerticalExaggeration().- Specified by:
getExtentin interfaceExtentHolder- Overrides:
getExtentin classAbstractShape- Parameters:
globe- the Globe the object is related to.verticalExaggeration- the vertical exaggeration of the scene containing this object.- Returns:
- the object's Extent in model coordinates.
-
getSector
public Sector getSector()
Description copied from interface:GeographicExtentReturns the object's geographic extent.- Returns:
- the object's geographic extent.
-
mustApplyTexture
protected boolean mustApplyTexture(DrawContext dc)
Description copied from class:AbstractShapeIndicates whether texture should be applied to this shape. Called during rendering to determine whether texture state should be established during preparation for interior drawing.Note: This method always returns false during the pick pass.
- Specified by:
mustApplyTexturein classAbstractShape- Parameters:
dc- the current draw context- Returns:
- true if texture should be applied, otherwise false.
-
shouldUseVBOs
protected boolean shouldUseVBOs(DrawContext dc)
Description copied from class:AbstractShapeIndicates whether this shape should use OpenGL vertex buffer objects.- Overrides:
shouldUseVBOsin classAbstractShape- Parameters:
dc- the current draw context.- Returns:
- true if this shape should use vertex buffer objects, otherwise false.
-
render
public void render(DrawContext dc)
Description copied from interface:RenderableCauses thisRenderableto render itself using the provided draw context.- Specified by:
renderin interfaceRenderable- Overrides:
renderin classAbstractShape- Parameters:
dc- theDrawContextto be used- See Also:
DrawContext
-
mustDrawOutline
protected boolean mustDrawOutline()
Description copied from class:AbstractShapeIndicates whether this shape's outline must be drawn.- Overrides:
mustDrawOutlinein classAbstractShape- Returns:
- true if the outline should be drawn, otherwise false.
-
mustRegenerateGeometry
protected boolean mustRegenerateGeometry(DrawContext dc)
Description copied from class:AbstractShapeIndicates 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.A
AbstractShape.AbstractShapeDatamust be current when this method is called.- Overrides:
mustRegenerateGeometryin classAbstractShape- Parameters:
dc- the current draw context.- Returns:
- true if this shape's geometry must be regenerated, otherwise false.
-
doMakeOrderedRenderable
protected boolean doMakeOrderedRenderable(DrawContext dc)
Description copied from class:AbstractShapeProduces the geometry and other state necessary to represent this shape as an ordered renderable. Places this shape on the draw context's ordered renderable list for subsequent rendering. This method is called duringAbstractShape.pick(DrawContext, java.awt.Point)andAbstractShape.render(DrawContext)when it's been determined that the shape is likely to be visible.- Specified by:
doMakeOrderedRenderablein classAbstractShape- Parameters:
dc- the current draw context.- Returns:
- true if the ordered renderable state was successfully computed, otherwise false, in which case the current pick or render pass is terminated for this shape. Subclasses should return false if it is not possible to create the ordered renderable state.
- See Also:
AbstractShape.pick(DrawContext, java.awt.Point),AbstractShape.render(DrawContext)
-
isOrderedRenderableValid
protected boolean isOrderedRenderableValid(DrawContext dc)
Description copied from class:AbstractShapeDetermines whether this shape's ordered renderable state is valid and can be rendered. Called byAbstractShape.makeOrderedRenderable(DrawContext)just prior to adding the shape to the ordered renderable list.- Specified by:
isOrderedRenderableValidin classAbstractShape- Parameters:
dc- the current draw context.- Returns:
- true if this shape is ready to be rendered as an ordered renderable.
-
doDrawOutline
protected void doDrawOutline(DrawContext dc)
Description copied from class:AbstractShapeDraws this shape's outline. Called immediately after callingAbstractShape.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.AbstractShapeDatamust be current when this method is called.- Specified by:
doDrawOutlinein classAbstractShape- Parameters:
dc- the current draw context.
-
doDrawInterior
protected void doDrawInterior(DrawContext dc)
Description copied from class:AbstractShapeDraws this shape's interior. Called immediately after callingAbstractShape.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.AbstractShapeDatamust be current when this method is called.- Specified by:
doDrawInteriorin classAbstractShape- Parameters:
dc- the current draw context.
-
drawAxes
public void drawAxes(DrawContext dc)
-
drawCylinder
protected void drawCylinder(DrawContext dc, AntennaAxes.ShapeData shapeData)
-
drawCone
protected void drawCone(DrawContext dc, AntennaAxes.ShapeData shapeData)
-
drawLabels
protected void drawLabels(DrawContext dc)
-
drawLabel
protected void drawLabel(TextRenderer textRenderer, java.lang.String text, Vec4 screenPoint, java.awt.Color textColor, java.awt.Color bgColor)
-
makeCylinderVertices
protected void makeCylinderVertices(DrawContext dc)
-
makeCylinderIndices
protected void makeCylinderIndices()
-
makeCylinderNormals
protected void makeCylinderNormals()
-
makeCone
protected void makeCone()
-
fillVBO
protected void fillVBO(DrawContext dc)
Description copied from class:AbstractShapeFill this shape's vertex buffer objects. If the vertex buffer object resource IDs don't yet exist, create them.A
AbstractShape.AbstractShapeDatamust be current when this method is called.- Specified by:
fillVBOin classAbstractShape- Parameters:
dc- the current draw context.
-
moveTo
public void moveTo(Position position)
Description copied from interface:MovableMove the shape over the globe's surface while maintaining its original azimuth, its orientation relative to North.- Parameters:
position- the new position of the shape's reference position.
-
intersect
public java.util.List<Intersection> intersect(Line line, Terrain terrain) throws java.lang.InterruptedException
Description copied from class:AbstractShapeCompute the intersections of a specified line with this shape. If the shape's altitude mode is other thanWorldWind.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.- Specified by:
intersectin classAbstractShape- Parameters:
line- the line to intersect.terrain- theTerrainto use when computing the shape's geometry.- Returns:
- a list of intersections identifying where the line intersects the shape, or null if the line does not intersect the shape.
- Throws:
java.lang.InterruptedException- if the operation is interrupted.- See Also:
Terrain
-
isExportFormatSupported
public java.lang.String isExportFormatSupported(java.lang.String mimeType)
Description copied from interface:ExportableDoes this object support a certain export format?- Specified by:
isExportFormatSupportedin interfaceExportable- Overrides:
isExportFormatSupportedin classAbstractShape- Parameters:
mimeType- Desired export format.- Returns:
- One of
Exportable.FORMAT_SUPPORTED,Exportable.FORMAT_NOT_SUPPORTED, orExportable.FORMAT_PARTIALLY_SUPPORTED. - See Also:
Exportable.export(String, Object)
-
doExportAsKML
protected void doExportAsKML(javax.xml.stream.XMLStreamWriter xmlWriter) throws java.io.IOException, javax.xml.stream.XMLStreamExceptionDescription copied from class:AbstractShapeExports shape-specific fields.- Specified by:
doExportAsKMLin classAbstractShape- Parameters:
xmlWriter- the export writer to write to.- Throws:
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.
-
-