public interface SurfaceObject extends OrderedRenderable, SurfaceRenderable, PreRenderable, AVList
SurfaceShape. SurfaceObject implements the Renderable
 interface, so a surface object may be aggregated within any layer or within some arbitrary rendering code.
 
 SurfaceObjects automatically aggregate themselves in the DrawContext's ordered surface renderable queue by calling
 DrawContext.addOrderedSurfaceRenderable(OrderedRenderable) during the preRender,
 pick, and render stages. This enables SurfaceObjects to be processed in bulk, and reduces texture memory consumption
 by sharing rendering resources amongst multiple SurfaceObjects.
 
 Implementations of SurfaceObject require that preRender(DrawContext) is called before Renderable.render(DrawContext) and pick(DrawContext, java.awt.Point), and that preRender is called at the appropriate
 stage in the current rendering cycle. Calling preRender locks in the SurfaceObject's visual appearance for any
 subsequent calls to pick or render until the next call preRender.| Modifier and Type | Method and Description | 
|---|---|
| Object | getDelegateOwner()Returns the delegate owner of the surface object. | 
| double | getDistanceFromEye()Returns zero to indicate that the surface object's distance from the eye is unknown. | 
| Extent | getExtent(DrawContext dc)Returns the surface object's enclosing volume as an  Extentin model coordinates,
 given a specifiedDrawContext. | 
| boolean | isEnableBatchPicking()Indicates whether batch picking is enabled. | 
| boolean | isVisible()Indicates whether the surface object should be drawn during rendering. | 
| void | pick(DrawContext dc,
    Point pickPoint)Causes the surface object to draw a pickable representation of itself on the surface terrain, using the provided
 draw context. | 
| void | preRender(DrawContext dc)Causes the surface object to prepare a representation of itself which can be drawn on the surface terrain, using
 the provided draw context. | 
| void | setDelegateOwner(Object owner)Specifies the delegate owner of the surface object. | 
| void | setEnableBatchPicking(boolean enable)Specifies whether adjacent SurfaceObjects in the DrawContext's ordered surface renderable list may be rendered
 together during picking if they are contained in the same layer. | 
| void | setVisible(boolean visible)Specifies whether the surface object should be drawn during rendering. | 
getSectors, getStateKeyrenderaddPropertyChangeListener, addPropertyChangeListener, clearList, copy, firePropertyChange, firePropertyChange, getEntries, getStringValue, getValue, getValues, hasKey, removeKey, removePropertyChangeListener, removePropertyChangeListener, setValue, setValuesObject getDelegateOwner()
double getDistanceFromEye()
getDistanceFromEye in interface OrderedRenderableExtent getExtent(DrawContext dc)
Extent in model coordinates,
 given a specified DrawContext.dc - the current draw context.IllegalArgumentException - if the draw context is null.boolean isEnableBatchPicking()
true to enable batch picking; false otherwise.setEnableBatchPicking(boolean)boolean isVisible()
void pick(DrawContext dc, Point pickPoint)
pick in interface OrderedRenderabledc - the current draw context.pickPoint - the pick point.IllegalArgumentException - if the draw context is null.void preRender(DrawContext dc)
preRender in interface PreRenderabledc - the current draw context.void setDelegateOwner(Object owner)
owner - the object to use as the pickable object returned during picking, or null to return the surface
              object.void setEnableBatchPicking(boolean enable)
enable - true to enable batch picking; false otherwise.void setVisible(boolean visible)
visible - true if the object is to be drawn, otherwise false.