public class AntennaModel extends AbstractShape
Interpolator2D
. The value plotted is determined by the
gain and this object's gain offset and gain scale: gain plotted = gain * gain scale + gain offset. Both the offset
and the gain can be specified.Modifier and Type | Class and Description |
---|---|
protected static class |
AntennaModel.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 |
static int |
DISPLAY_MODE_POINT |
protected Angle |
elevationAngle |
protected double |
gainOffset |
protected double |
gainScale |
protected Interpolator2D |
interpolator |
protected int |
nPhiIntervals |
protected int |
nPhiPoints |
protected int |
nThetaIntervals |
protected int |
nThetaPoints |
protected Position |
position |
protected WWTexture |
texture |
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 |
---|
AntennaModel(Interpolator2D interpolator) |
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 |
drawModel(DrawContext dc,
int displayMode,
boolean showTexture) |
protected void |
fillVBO(DrawContext dc)
Fill this shape's vertex buffer objects.
|
Angle |
getAzimuth() |
java.awt.image.BufferedImage |
getColorRamp() |
protected AntennaModel.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() . |
double |
getGainOffset() |
double |
getGainScale() |
int |
getPhiResolution() |
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.
|
int |
getThetaResolution() |
protected Vec4 |
getVec(AntennaModel.ShapeData shapeData,
int i,
int j) |
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 |
makeNormals() |
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 |
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.
|
protected void |
putVec(int i,
int j,
Vec4 vec,
java.nio.FloatBuffer buffer) |
void |
setAzimuth(Angle azimuth)
Specifies an angle clockwise from north by which to rotate the model.
|
void |
setColorRamp(java.awt.image.BufferedImage image)
Specifies an image to use as the color ramp for the model.
|
void |
setElevationAngle(Angle elevationAngle)
Specifies an angle to rotate the model vertically counterclockwise from the horizon.
|
void |
setGainOffset(double gainOffset)
Specifies the gain offset in the formula: gain plotted = gain * gain scale + gain offset.
|
void |
setGainScale(double gainScale)
Specifies the gain scale in the formula: gain plotted = gain * gain scale + gain offset.
|
void |
setPhiResolution(int numTPoints)
Specifies the number of plotted points in this model's longitudinal direction.
|
void |
setPosition(Position position)
Specifies the position of this model's center.
|
void |
setThetaResolution(int numSPoints)
Specifies the number of plotted points in this model's north-south direction.
|
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, mustDrawOutline, pick, prepareToDrawInterior, prepareToDrawOutline, preRender, render, 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
public static final int DISPLAY_MODE_POINT
protected Angle elevationAngle
protected double gainOffset
protected double gainScale
protected Interpolator2D interpolator
protected int nPhiIntervals
protected int nPhiPoints
protected int nThetaIntervals
protected int nThetaPoints
protected Position position
protected WWTexture texture
public AntennaModel(Interpolator2D interpolator)
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 drawModel(DrawContext dc, int displayMode, boolean showTexture)
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()
public java.awt.image.BufferedImage getColorRamp()
protected AntennaModel.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 double getGainOffset()
public double getGainScale()
public int getPhiResolution()
public Position getPosition()
public double getRadius()
public Position getReferencePosition()
Movable
public Sector getSector()
GeographicExtent
public int getThetaResolution()
protected Vec4 getVec(AntennaModel.ShapeData shapeData, int i, int j)
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 makeNormals()
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 mustRegenerateGeometry(DrawContext dc)
AbstractShape
A AbstractShape.AbstractShapeData
must be current when this method is called.
mustRegenerateGeometry
in class AbstractShape
dc
- the current draw context.protected void putVec(int i, int j, Vec4 vec, java.nio.FloatBuffer buffer)
public void setAzimuth(Angle azimuth)
azimuth
- the angle from north.public void setColorRamp(java.awt.image.BufferedImage image)
image
- the image containing the color ramp used to color the model.public void setElevationAngle(Angle elevationAngle)
elevationAngle
- the elevation angle.public void setGainOffset(double gainOffset)
gainOffset
- the gain offset.public void setGainScale(double gainScale)
gainScale
- the gain offset.public void setPhiResolution(int numTPoints)
numTPoints
- the number of plotted points in the longitudinal direction. NOTE: this value minus one must
divide 360 evenly, as in 31, 61, 91, 181, etc.public void setPosition(Position position)
position
- the position of this model's center.public void setThetaResolution(int numSPoints)
numSPoints
- the number of plotted points in the north-south direction. NOTE: this value minus one must
divide 360 evenly, as in 31, 61, 91, etc.protected boolean shouldUseVBOs(DrawContext dc)
AbstractShape
shouldUseVBOs
in class AbstractShape
dc
- the current draw context.