public abstract class RigidShape extends AbstractShape
Modifier and Type | Class and Description |
---|---|
class |
RigidShape.Offsets |
protected static class |
RigidShape.ShapeData
Maintains globe-dependent computed data such as Cartesian vertices and extents.
|
AbstractShape.AbstractShapeData
Modifier and Type | Field and Description |
---|---|
protected Position |
centerPosition |
protected static long |
DEFAULT_GEOMETRY_CACHE_SIZE |
protected double |
detailHint |
protected double |
eastWestRadius |
protected int |
faceCount |
protected static String |
GEOMETRY_CACHE_KEY |
protected static String |
GEOMETRY_CACHE_NAME |
protected GeometryBuilder |
geometryBuilder |
protected Angle |
heading |
protected Map<Integer,Object> |
imageSources
The image source of the shape's texture.
|
protected double |
northSouthRadius |
protected Map<Integer,OffsetsList> |
offsets |
protected Map<Integer,FloatBuffer> |
offsetTextureCoords |
protected Object |
previousIntersectionGlobeStateKey
The globe state key for the globe used in the most recent intersection calculation.
|
protected RigidShape.ShapeData |
previousIntersectionShapeData
The shape data used for the previous intersection calculation.
|
protected Terrain |
previousIntersectionTerrain
The terrain used in the most recent intersection calculations.
|
protected boolean |
renderExtent |
protected Angle |
roll |
protected Angle |
skewEastWest |
protected Angle |
skewNorthSouth |
protected Map<Integer,WWTexture> |
textures
The
WWTexture created for the image source, if any. |
protected Angle |
tilt |
protected double |
verticalRadius |
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 |
---|
RigidShape() |
Modifier and Type | Method and Description |
---|---|
protected OGLStackHandler |
beginDrawing(DrawContext dc,
int attrMask)
Establish the OpenGL state needed to draw this shape.
|
protected void |
clearCachedVbos(DrawContext dc)
Removes from the GPU resource cache the entry for the current data cache entry's VBOs.
|
void |
clearIntersectionGeometry() |
protected Extent |
computeExtent(DrawContext dc)
Computes the shape's extent using a bounding box.
|
Vec4 |
computeReferencePoint(DrawContext dc)
Sets the shape's referencePoint, which is essentially its centerPosition in Cartesian coordinates.
|
protected Vec4 |
computeReferencePoint(Globe globe,
double verticalExaggeration)
Sets the shape's referencePoint, which is essentially its centerPosition in Cartesian coordinates.
|
Matrix |
computeRenderMatrix(DrawContext dc)
Computes the transform to use during rendering to convert the unit sphere geometry representation of this shape
to its correct shape location, orientation and scale
|
Matrix |
computeRenderMatrix(Globe globe,
double verticalExaggeration)
Computes the transform to use during rendering to convert the unit sphere geometry representation of this shape
to its correct shape location, orientation and scale
|
Matrix |
computeRenderMatrixInverse(Globe globe,
double verticalExaggeration)
Computes the inverse of the transform to use during rendering to convert the unit geometry representation of this
shape to its correct shape location, orientation and scale, essentially bringing the shape back into local
coordinate space.
|
protected abstract void |
computeSubdivisions(DrawContext dc,
RigidShape.ShapeData shapeData)
Computes the number of subdivisions necessary to achieve the expected Level of Detail given the shape's
relationship to the viewer.
|
protected FloatBuffer |
computeTransformedVertices(FloatBuffer vertices,
int numVertices,
Matrix matrix)
Transform all vertices with the provided matrix
|
protected AbstractShape.AbstractShapeData |
createCacheEntry(DrawContext dc)
Creates and returns a new cache entry specific to the subclass.
|
protected abstract RigidShape.ShapeData |
createIntersectionGeometry(Terrain terrain) |
protected void |
doDrawInterior(DrawContext dc)
Draws this shape's interior.
|
protected void |
doDrawOutline(DrawContext dc)
Draws this shape's outline.
|
protected void |
doGetRestorableState(RestorableSupport rs,
RestorableSupport.StateObject context) |
protected boolean |
doMakeOrderedRenderable(DrawContext dc)
Produces the geometry and other state necessary to represent this shape as an ordered renderable.
|
protected void |
doRestoreState(RestorableSupport rs,
RestorableSupport.StateObject context) |
protected abstract void |
drawGeometry(DrawContext dc,
int mode,
int count,
int type,
Buffer elementBuffer,
RigidShape.ShapeData shapeData,
int index)
Renders the shape, using data from the provided buffer and the given parameters.
|
protected void |
drawGeometry(DrawContext dc,
RigidShape.ShapeData shapeData,
int index)
Renders the Rigid Shape
|
protected void |
fillVBO(DrawContext dc)
Fill this shape's vertex buffer objects.
|
Position |
getCenterPosition()
Indicates this shape's center position.
|
protected RigidShape.ShapeData |
getCurrentShapeData()
Returns the current shape data cache entry.
|
double |
getDetailHint()
Indicates the shape's detail hint, which is described in
setDetailHint(double) . |
double |
getEastWestRadius()
Indicates the radius of this shape's axis in the east-west (longitudinal) direction.
|
Extent |
getExtent(Globe globe,
double verticalExaggeration)
Computes the shape's extent using a bounding box.
|
int |
getFaceCount()
Returns the number of separate faces that comprise this shape.
|
protected GeometryBuilder |
getGeometryBuilder() |
protected MemoryCache |
getGeometryCache()
Retrieve the geometry cache supporting the Level of Detail system.
|
Angle |
getHeading()
Indicates this shape's azimuth, its rotation about its vertical axis.
|
Object |
getImageSource(int index)
Indicates the image source for this shape's optional texture for the #index piece of geometry.
|
double |
getNorthSouthRadius()
Indicates the radius of this shape's axis in the north-south (latitudinal) direction.
|
float[] |
getOffsets(int faceIndex,
int offsetIndex)
Returns the pair of texture coordinate offsets corresponding to the shape face and texture coordinate specified
by the faceIndex and offsetIndex.
|
Position |
getReferencePosition()
Returns the shape's referencePosition, which is its centerPosition
|
String |
getRestorableState()
Returns an XML document string describing the object's state.
|
Angle |
getRoll()
Indicates this shape's roll, its rotation about its north-south axis.
|
Sector |
getSector()
Computes the shape's sector.
|
Angle |
getSkewEastWest()
Indicates this shape's skew, its shearing along its east-west axis.
|
Angle |
getSkewNorthSouth()
Indicates this shape's skew, its shearing along its north-south axis.
|
abstract int |
getSubdivisions() |
protected WWTexture |
getTexture(int index)
Returns the texture applied to this shape's #index piece of geometry.
|
Angle |
getTilt()
Indicates this shape's pitch, its rotation about its east-west axis.
|
protected int[] |
getVboIds(int index,
DrawContext dc)
Get or create OpenGL resource IDs for the current data cache entry.
|
double |
getVerticalRadius()
Indicates the radius of this shape's axis in the vertical (altitudinal) direction.
|
protected void |
initialize()
Called during construction to establish any subclass-specific state such as different default values than those
set by this class.
|
protected void |
intersect(Line line,
RigidShape.ShapeData shapeData,
List<Intersection> intersections,
int index) |
List<Intersection> |
intersect(Line line,
Terrain terrain)
Compute the intersections of a specified line with this shape.
|
List<Intersection> |
intersect(Line line,
Terrain terrain,
int index) |
List<Intersection> |
intersectFace(Line line,
int index,
Matrix renderMatrix)
Returns intersections of line with the ith face of this shape, Assumes we already know the line intersects the
shape somewhere (but perhaps not on this face)
|
protected boolean |
isOrderedRenderableValid(DrawContext dc)
Determines whether this shape's ordered renderable state is valid and can be rendered.
|
protected boolean |
isSameAsPreviousTerrain(Terrain terrain) |
protected abstract void |
makeGeometry(RigidShape.ShapeData shapeData)
Sets the Geometry mesh for this shape, either by pulling it from the geometryCache, or by creating it anew if the
appropriate geometry does not yet exist in the cache.
|
void |
moveTo(Position position)
Move the Rigid Shape to the specified destination.
|
protected boolean |
mustApplyTexture(DrawContext dc)
Indicates whether texture should be applied to this shape.
|
protected boolean |
mustApplyTexture(int index) |
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 |
reset()
Invalidates computed values.
|
void |
restoreState(String stateInXml)
Restores the object's state to what is described in the specified XML document string.
|
void |
setCenterPosition(Position centerPosition)
Specifies this shape's center position.
|
void |
setDetailHint(double detailHint)
Modifies the relationship of the shape's tessellation resolution to its distance from the eye.
|
void |
setEastWestRadius(double eastWestRadius)
Specifies this shape's radius in meters in the east-west (longitudinal) direction.
|
protected void |
setFaceCount(int faces)
Sets the number of separate faces that comprise this shape.
|
void |
setHeading(Angle heading)
Specifies this shape's azimuth, its rotation about its vertical axis.
|
void |
setImageSource(int index,
Object imageSource)
Specifies the image source for this shape's #index optional texture.
|
void |
setImageSources(Iterable imageSources)
Specifies the image sources for this shape's optional textures.
|
void |
setImageSources(Object imageSource)
Specifies the single image source for this shape's optional texture, to be placed on every face.
|
protected void |
setModelViewMatrix(DrawContext dc)
Called during drawing to set the modelview matrix to apply the correct position, scale and orientation for this
shape.
|
void |
setNorthSouthRadius(double northSouthRadius)
Specifies this shape's radius in meters in the north-south (latitudinal) direction.
|
void |
setOffset(int faceIndex,
int offsetIndex,
float uOffset,
float vOffset)
Sets the u and v texture coordinate offsets for the specified texture coordinate on the specified shape face.
|
void |
setRoll(Angle roll)
Specifies this shape's roll, its rotation about its north-south axis.
|
void |
setSkewEastWest(Angle skew)
Specifies this shape's skew, its shearing along its east-west axis.
|
void |
setSkewNorthSouth(Angle skew)
Specifies this shape's skew, its shearing along its north-south axis.
|
protected void |
setTexture(int index,
WWTexture texture)
Establishes the texture for this piece of the shape's geometry.
|
void |
setTilt(Angle tilt)
Specifies this shape's pitch, its rotation about its east-west axis.
|
protected void |
setUpGeometryCache()
Create the geometry cache supporting the Level of Detail system.
|
void |
setVerticalRadius(double verticalRadius)
Specifies this shape's radius in meters in the vertical (altitudinal) direction.
|
addOrderedRenderable, checkViewDistanceExpiration, computeExtentFromPositions, computePoint, computePoint, countTriangleVertices, createPickedObject, createSurfaceShape, determineActiveAttributes, doDrag, doDrawOrderedRenderable, doExportAsKML, drag, drawBatched, drawInterior, drawOrderedRenderable, drawOutline, endDrawing, export, exportAsKML, getActiveAttributes, getAltitudeMode, getAttributes, getCurrentData, getDelegateOwner, getDistanceFromEye, getExtent, getGeometryRegenerationInterval, getHighlightAttributes, getOutlinePickWidth, getReferencePoint, getVboIds, intersectsFrustum, isDragEnabled, isEnableBatchPicking, isEnableBatchRendering, isEnableDepthOffset, isExportFormatSupported, isHighlighted, isTerrainDependent, isViewDistanceExpiration, isVisible, makeOrderedRenderable, makeTexture, move, moveTo, mustApplyLighting, mustApplyLighting, mustCreateNormals, mustCreateNormals, mustDrawInterior, mustDrawOutline, pick, prepareToDrawInterior, prepareToDrawOutline, preRender, render, setAltitudeMode, setAttributes, setDelegateOwner, setDragEnabled, setEnableBatchPicking, setEnableBatchRendering, setEnableDepthOffset, setGeometryRegenerationInterval, setHighlightAttributes, setHighlighted, setOutlinePickWidth, setReferencePosition, setViewDistanceExpiration, setVisible, shouldUseVBOs, 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 Position centerPosition
protected static final long DEFAULT_GEOMETRY_CACHE_SIZE
protected double detailHint
protected double eastWestRadius
protected int faceCount
protected static final String GEOMETRY_CACHE_KEY
protected static final String GEOMETRY_CACHE_NAME
protected GeometryBuilder geometryBuilder
protected Angle heading
protected double northSouthRadius
protected Map<Integer,OffsetsList> offsets
protected Map<Integer,FloatBuffer> offsetTextureCoords
protected Object previousIntersectionGlobeStateKey
protected RigidShape.ShapeData previousIntersectionShapeData
protected Terrain previousIntersectionTerrain
protected boolean renderExtent
protected Angle roll
protected Angle skewEastWest
protected Angle skewNorthSouth
protected Map<Integer,WWTexture> textures
WWTexture
created for the image source, if any.protected Angle tilt
protected double verticalRadius
protected OGLStackHandler beginDrawing(DrawContext dc, int attrMask)
AbstractShape
AbstractShape.AbstractShapeData
must be current when this method is called.beginDrawing
in class AbstractShape
dc
- the current draw context.attrMask
- an attribute mask indicating state the caller will set. This base class implementation sets
GL_CURRENT_BIT, GL_LINE_BIT, GL_HINT_BIT, GL_POLYGON_BIT, GL_COLOR_BUFFER_BIT, and
GL_TRANSFORM_BIT
.protected void clearCachedVbos(DrawContext dc)
AbstractShape.AbstractShapeData
must be current when this method is called.clearCachedVbos
in class AbstractShape
dc
- the current draw context.public void clearIntersectionGeometry()
protected Extent computeExtent(DrawContext dc)
dc
- the current drawContextpublic Vec4 computeReferencePoint(DrawContext dc)
dc
- the current DrawContextprotected Vec4 computeReferencePoint(Globe globe, double verticalExaggeration)
globe
- the current globeverticalExaggeration
- the current vertical exaggerationpublic Matrix computeRenderMatrix(DrawContext dc)
dc
- the current draw contextIllegalArgumentException
- if draw context is null or the referencePoint is nullpublic Matrix computeRenderMatrix(Globe globe, double verticalExaggeration)
globe
- the current globeverticalExaggeration
- the current vertical exaggerationIllegalArgumentException
- if globe is nullpublic Matrix computeRenderMatrixInverse(Globe globe, double verticalExaggeration)
globe
- the current globeverticalExaggeration
- the current vertical exaggerationIllegalArgumentException
- if draw context is null or the referencePoint is nullprotected abstract void computeSubdivisions(DrawContext dc, RigidShape.ShapeData shapeData)
dc
- the current drawContext.shapeData
- the current globe-specific shape dataprotected FloatBuffer computeTransformedVertices(FloatBuffer vertices, int numVertices, Matrix matrix)
vertices
- the buffer of vertices to transformnumVertices
- the number of distinct vertices in the buffer (assume 3-space)matrix
- the matrix for transforming the verticesprotected AbstractShape.AbstractShapeData createCacheEntry(DrawContext dc)
AbstractShape
createCacheEntry
in class AbstractShape
dc
- the current draw context.protected abstract RigidShape.ShapeData createIntersectionGeometry(Terrain terrain)
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 doGetRestorableState(RestorableSupport rs, RestorableSupport.StateObject context)
doGetRestorableState
in class AbstractShape
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)
protected void doRestoreState(RestorableSupport rs, RestorableSupport.StateObject context)
doRestoreState
in class AbstractShape
protected abstract void drawGeometry(DrawContext dc, int mode, int count, int type, Buffer elementBuffer, RigidShape.ShapeData shapeData, int index)
dc
- the current draw contextmode
- the render modecount
- the number of elements to be drawntype
- the data type of the elements to be drawnelementBuffer
- the buffer containing the list of elements to be drawnshapeData
- this shape's current globe-specific shape dataindex
- the index of the shape face to renderprotected void drawGeometry(DrawContext dc, RigidShape.ShapeData shapeData, int index)
dc
- the current draw contextshapeData
- the current shape dataindex
- the index of the shape face to renderIllegalArgumentException
- if the draw context is null or the element buffer is nullprotected void fillVBO(DrawContext dc)
fillVBO
in class AbstractShape
dc
- the current draw context.public Position getCenterPosition()
protected RigidShape.ShapeData getCurrentShapeData()
public double getDetailHint()
setDetailHint(double)
.setDetailHint(double)
public double getEastWestRadius()
public Extent getExtent(Globe globe, double verticalExaggeration)
getExtent
in interface ExtentHolder
getExtent
in class AbstractShape
globe
- the current globeverticalExaggeration
- the current vertical exaggerationIllegalArgumentException
- if the globe is null.public int getFaceCount()
protected GeometryBuilder getGeometryBuilder()
protected MemoryCache getGeometryCache()
public Angle getHeading()
public Object getImageSource(int index)
index
- the index of the piece of geometry for which we are retrieving the texture.public double getNorthSouthRadius()
public float[] getOffsets(int faceIndex, int offsetIndex)
faceIndex
- the shape face from which to retrieve the offset pairoffsetIndex
- the index of the specific texture coordinate on the face whose offsets we wish to retrievepublic Position getReferencePosition()
public String getRestorableState()
Restorable
restoreState
and passing the XML document.getRestorableState
in interface Restorable
getRestorableState
in class AbstractShape
public Angle getRoll()
public Sector getSector()
public Angle getSkewEastWest()
public Angle getSkewNorthSouth()
public abstract int getSubdivisions()
protected WWTexture getTexture(int index)
index
- the index of the piece of geometry whose texture will be returned.public Angle getTilt()
protected int[] getVboIds(int index, DrawContext dc)
AbstractShape.AbstractShapeData
must be current when this method is called.index
- the index of the LOD whose VboID's will be retrieved.dc
- the current draw context.public double getVerticalRadius()
protected void initialize()
AbstractShape
initialize
in class AbstractShape
protected void intersect(Line line, RigidShape.ShapeData shapeData, List<Intersection> intersections, int index) throws InterruptedException
InterruptedException
public List<Intersection> intersect(Line line, Terrain terrain) throws InterruptedException
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 wedge's geometry.InterruptedException
- if the operation is interrupted.Terrain
public List<Intersection> intersect(Line line, Terrain terrain, int index) throws InterruptedException
InterruptedException
public List<Intersection> intersectFace(Line line, int index, Matrix renderMatrix) throws InterruptedException
line
- the line to intersect.index
- the index of the face to test for intersectionsrenderMatrix
- the current renderMatrixInterruptedException
- if the operation is interrupted.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 boolean isSameAsPreviousTerrain(Terrain terrain)
protected abstract void makeGeometry(RigidShape.ShapeData shapeData)
shapeData
- the current shape data.public void moveTo(Position position)
position
- the position to move the shape toprotected boolean mustApplyTexture(DrawContext dc)
AbstractShape
mustApplyTexture
in class AbstractShape
dc
- the current draw contextprotected boolean mustApplyTexture(int index)
protected boolean mustRegenerateGeometry(DrawContext dc)
AbstractShape
AbstractShape.AbstractShapeData
must be current when this method is called.mustRegenerateGeometry
in class AbstractShape
dc
- the current draw context.protected void reset()
AbstractShape
reset
in class AbstractShape
public void restoreState(String stateInXml)
Restorable
restoreState
in interface Restorable
restoreState
in class AbstractShape
stateInXml
- an XML document string describing an object's state.public void setCenterPosition(Position centerPosition)
centerPosition
- this shape's center position.public void setDetailHint(double detailHint)
detailHint
- the degree to modify the default tessellation resolution of the shape. Values greater than 1
increase the resolution. Values less than zero decrease the resolution. The default value is
0.public void setEastWestRadius(double eastWestRadius)
eastWestRadius
- the shape radius in the east-west direction. Must be greater than 0.IllegalArgumentException
- if the radius is not greater than 0.protected void setFaceCount(int faces)
faces
- integer indicating how many different faces this shape haspublic void setHeading(Angle heading)
heading
- the shape's azimuth, in degrees.public void setImageSource(int index, Object imageSource)
index
- the index of the piece of geometry for which we are setting the imageSource.imageSource
- the texture image source. May be a File
, file path, a stream, a URL or a
BufferedImage
.public void setImageSources(Iterable imageSources)
imageSources
- the list of texture image sources. May be File
, file path, a stream, a URL or
a BufferedImage
.public void setImageSources(Object imageSource)
imageSource
- the texture image source. May be a File
, file path, a stream, a URL or a
BufferedImage
.protected void setModelViewMatrix(DrawContext dc)
dc
- the current DrawContextIllegalArgumentException
- if draw context is null or the draw context GL is nullpublic void setNorthSouthRadius(double northSouthRadius)
northSouthRadius
- the shape radius in the north-south direction. Must be greater than 0.IllegalArgumentException
- if the radius is not greater than 0.public void setOffset(int faceIndex, int offsetIndex, float uOffset, float vOffset)
faceIndex
- the shape face on which we would like to set the texture coordinate offsetsoffsetIndex
- the index of the particular texture coordinate we would like to set offsets foruOffset
- the offset in the u directionvOffset
- the offset in the v directionpublic void setRoll(Angle roll)
roll
- the shape's roll, in degrees.public void setSkewEastWest(Angle skew)
skew
- the shape's skew in the East-West direction.public void setSkewNorthSouth(Angle skew)
skew
- the shape's skew in the North-South direction.protected void setTexture(int index, WWTexture texture)
index
- the index of the piece of geometry for which we are setting the texture.texture
- the texture for this shape.public void setTilt(Angle tilt)
tilt
- the shape's pitch, in degrees.protected void setUpGeometryCache()
public void setVerticalRadius(double verticalRadius)
verticalRadius
- the shape radius in the vertical direction. Must be greater than 0.IllegalArgumentException
- if the radius is not greater than 0.