public class Pyramid extends RigidShape
RigidShape.Offsets, RigidShape.ShapeDataAbstractShape.AbstractShapeData| Modifier and Type | Field and Description |
|---|---|
protected static int |
DEFAULT_SUBDIVISIONS |
protected int |
faceCount |
protected int |
subdivisions |
centerPosition, DEFAULT_GEOMETRY_CACHE_SIZE, detailHint, eastWestRadius, GEOMETRY_CACHE_KEY, GEOMETRY_CACHE_NAME, geometryBuilder, heading, imageSources, northSouthRadius, offsets, offsetTextureCoords, previousIntersectionGlobeStateKey, previousIntersectionShapeData, previousIntersectionTerrain, renderExtent, roll, skewEastWest, skewNorthSouth, textures, tilt, verticalRadiusactiveAttributes, 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, visibleFORMAT_NOT_SUPPORTED, FORMAT_PARTIALLY_SUPPORTED, FORMAT_SUPPORTED| Constructor and Description |
|---|
Pyramid()
Construct a Pyramid with default parameters
|
Pyramid(Position centerPosition,
double height,
double width)
Construct a Pyramid from a specified center position, height and width.
|
Pyramid(Position centerPosition,
double northSouthRadius,
double verticalRadius,
double eastWestRadius)
Construct a Pyramid from a specified center position and axes lengths.
|
Pyramid(Position centerPosition,
double northSouthRadius,
double verticalRadius,
double eastWestRadius,
Angle heading,
Angle tilt,
Angle roll)
Construct a Pyramid from a specified center position, axes lengths and rotation angles.
|
| Modifier and Type | Method and Description |
|---|---|
protected 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 RigidShape.ShapeData |
createIntersectionGeometry(Terrain terrain) |
protected void |
doExportAsKML(XMLStreamWriter xmlWriter)
Exports shape-specific fields.
|
protected void |
drawGeometry(DrawContext dc,
int mode,
int count,
int type,
Buffer elementBuffer,
RigidShape.ShapeData shapeData,
int face)
Renders the Pyramid, using data from the provided buffer and the given parameters
|
int |
getFaceCount()
Returns the number of separate faces that comprise this shape.
|
double |
getHeight()
Returns the height of the Pyramid, which is just twice its vertical radius.
|
int |
getSubdivisions() |
protected void |
initialize()
Called during construction to establish any subclass-specific state such as different default values than those
set by this class.
|
String |
isExportFormatSupported(String mimeType)
No export formats supported.
|
protected void |
makeGeometry(RigidShape.ShapeData shapeData)
Sets the Geometry mesh for this Pyramid, either by pulling it from the geometryCache, or by creating it anew if
the appropriate geometry does not yet exist in the cache.
|
protected void |
makeUnitPyramid(int subdivisions,
List<Geometry> meshes)
Generates a unit pyramid geometry, including the vertices, indices, normals and texture coordinates, tessellated
with the specified number of divisions.
|
void |
setHeight(double height)
Specifies this Pyramid's height in meters.
|
void |
setWidth(double width)
Specifies the width of the Pyramid's base in meters.
|
beginDrawing, clearCachedVbos, clearIntersectionGeometry, computeExtent, computeReferencePoint, computeReferencePoint, computeRenderMatrix, computeRenderMatrix, computeRenderMatrixInverse, computeTransformedVertices, createCacheEntry, doDrawInterior, doDrawOutline, doGetRestorableState, doMakeOrderedRenderable, doRestoreState, drawGeometry, fillVBO, getCenterPosition, getCurrentShapeData, getDetailHint, getEastWestRadius, getExtent, getGeometryBuilder, getGeometryCache, getHeading, getImageSource, getNorthSouthRadius, getOffsets, getReferencePosition, getRestorableState, getRoll, getSector, getSkewEastWest, getSkewNorthSouth, getTexture, getTilt, getVboIds, getVerticalRadius, intersect, intersect, intersect, intersectFace, isOrderedRenderableValid, isSameAsPreviousTerrain, moveTo, mustApplyTexture, mustApplyTexture, mustRegenerateGeometry, reset, restoreState, setCenterPosition, setDetailHint, setEastWestRadius, setFaceCount, setHeading, setImageSource, setImageSources, setImageSources, setModelViewMatrix, setNorthSouthRadius, setOffset, setRoll, setSkewEastWest, setSkewNorthSouth, setTexture, setTilt, setUpGeometryCache, setVerticalRadiusaddOrderedRenderable, checkViewDistanceExpiration, computeExtentFromPositions, computePoint, computePoint, countTriangleVertices, createPickedObject, createSurfaceShape, determineActiveAttributes, doDrag, doDrawOrderedRenderable, 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, 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, updateSurfaceShapeonMessage, propertyChangeaddPropertyChangeListener, 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, setValuesclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValuesprotected static final int DEFAULT_SUBDIVISIONS
protected int faceCount
protected int subdivisions
public Pyramid()
public Pyramid(Position centerPosition, double height, double width)
centerPosition - the Pyramid's center position.height - the Pyramid's height, in meters.width - the width of the Pyramid's base, in meters.IllegalArgumentException - if the center position is null or any of the radii are not greater than 0.public Pyramid(Position centerPosition, double northSouthRadius, double verticalRadius, double eastWestRadius)
centerPosition - the Pyramid's center position.northSouthRadius - the Pyramid's north-south radius, in meters.verticalRadius - the Pyramid's vertical radius, in meters.eastWestRadius - the Pyramid's east-west radius, in meters.IllegalArgumentException - if the center position is null or any of the radii are not greater than 0.public Pyramid(Position centerPosition, double northSouthRadius, double verticalRadius, double eastWestRadius, Angle heading, Angle tilt, Angle roll)
centerPosition - the Pyramid's center position.northSouthRadius - the Pyramid's north-south radius, in meters.verticalRadius - the Pyramid's vertical radius, in meters.eastWestRadius - the Pyramid's east-west radius, in meters.heading - the Pyramid's azimuth, its rotation about its vertical axis.tilt - the Pyramid pitch, its rotation about its east-west axis.roll - the Pyramid's roll, its rotation about its north-south axis.protected void computeSubdivisions(DrawContext dc, RigidShape.ShapeData shapeData)
computeSubdivisions in class RigidShapedc - the current drawContext.shapeData - the current globe-specific shape dataprotected RigidShape.ShapeData createIntersectionGeometry(Terrain terrain)
createIntersectionGeometry in class RigidShapeprotected void doExportAsKML(XMLStreamWriter xmlWriter) throws IOException, XMLStreamException
AbstractShapedoExportAsKML in class AbstractShapexmlWriter - the export writer to write to.IOException - if an IO error occurs while writing to the output destination.XMLStreamException - if an exception occurs converting this shape's fields to XML.protected void drawGeometry(DrawContext dc, int mode, int count, int type, Buffer elementBuffer, RigidShape.ShapeData shapeData, int face)
drawGeometry in class RigidShapedc - 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 - the current globe-specific shape dataface - the index of the shape face to renderpublic int getFaceCount()
RigidShapegetFaceCount in class RigidShapepublic double getHeight()
public int getSubdivisions()
getSubdivisions in class RigidShapeprotected void initialize()
AbstractShapeinitialize in class RigidShapepublic String isExportFormatSupported(String mimeType)
isExportFormatSupported in interface ExportableisExportFormatSupported in class AbstractShapemimeType - Desired export format.Exportable.FORMAT_SUPPORTED, Exportable.FORMAT_NOT_SUPPORTED, or Exportable.FORMAT_PARTIALLY_SUPPORTED.Exportable.export(String, Object)protected void makeGeometry(RigidShape.ShapeData shapeData)
makeGeometry in class RigidShapeshapeData - the current shape data.protected void makeUnitPyramid(int subdivisions,
List<Geometry> meshes)
subdivisions - the number of times to subdivide the unit pyramid geometrymeshes - the Geometry list to hold the computed points, etc. for all Geometriespublic void setHeight(double height)
height - the height of the Pyramid. Must be greater than 0.IllegalArgumentException - if the height is not greater than 0.public void setWidth(double width)
width - the width of the Pyramid. Must be greater than 0.IllegalArgumentException - if the width is not greater than 0.