NASA World Wind

gov.nasa.worldwind.render
Interface DrawContext

All Superinterfaces:
AVList, Disposable, EventListener, PropertyChangeListener, WWObject
All Known Implementing Classes:
DrawContextImpl

public interface DrawContext
extends WWObject, Disposable


Method Summary
 void addOrderedRenderable(OrderedRenderable orderedRenderable)
           
 void addPickedObject(PickedObject pickedObject)
          Adds a single insatnce of the picked object to the current picked-object list
 void addPickedObjects(PickedObjectList pickedObjects)
          Adds a collection of picked objects to the current picked-object list
 void disablePickingMode()
          Disables color picking mode
 void drawUnitQuad()
           
 void drawUnitQuad(TextureCoords texCoords)
           
 void enablePickingMode()
          Enables color picking mode
 AnnotationRenderer getAnnotationRenderer()
           
 Color getClearColor()
           
 Layer getCurrentLayer()
          Returns the current-layer.
 int getDrawableHeight()
          Retrieves the drawable height of this DrawContext.
 int getDrawableWidth()
          Retrieves the drawable width of this DrawContext.
 long getFrameTimeStamp()
           
 SurfaceTileRenderer getGeographicSurfaceTileRenderer()
           
 GL getGL()
          Retrieves the current javax.media.opengl.GL.
 GLContext getGLContext()
          Retrieves this DrawContexts javax.media.opengl.GLContext.
 GLDrawable getGLDrawable()
          Retrieves the currentjavax.media.opengl.GLDrawable.
 Globe getGlobe()
          Retrieves the current Globe, which may be null.
 GLU getGLU()
          Retrieves the current javax.media.opengl.glu.GLU.
 LayerList getLayers()
          Retrieves a list containing all the current layers.
 double getMaxTextureAnisotropy()
           
 Model getModel()
          Retrieves the current Model, which may be null.
 int getNumTextureUnits()
           
 Queue<OrderedRenderable> getOrderedRenderables()
           
 Collection<PerformanceStatistic> getPerFrameStatistics()
           
 Set<String> getPerFrameStatisticsKeys()
           
 PickedObjectList getPickedObjects()
          Returns the list of objects picked during the most recent pick traversal.
 Point getPickPoint()
           
 Vec4 getPointOnGlobe(Angle latitude, Angle longitude)
           
 Vec4 getScreenPoint(Angle latitude, Angle longitude, double metersElevation)
           
 Vec4 getScreenPoint(Position position)
           
 Vec4 getScreenPoint(Vec4 modelPoint)
           
 SectorGeometryList getSurfaceGeometry()
          Retrieves a list of all the sectors rendered so far this frame.
 TextRendererCache getTextRendererCache()
           
 TextureCache getTextureCache()
           
 Color getUniquePickColor()
          Returns a unique color to serve as a pick identifier during picking.
 double getVerticalExaggeration()
          Retrieves the current vertical exaggeration.
 View getView()
          Retrieves the current View, which may be null.
 Vec4 getViewportCenterGlobePoint()
           
 Position getViewportCenterPosition()
           
 Point getViewportCenterScreenPoint()
           
 Vec4 getViewportCenterSurfacePoint()
           
 Sector getVisibleSector()
          Retrieves a Sector which is at least as large as the current visible sector.
 List<Sector> getVisibleSectors(double[] resolutions, long timeLimit, Sector searchSector)
          Returns the visible sectors at one of several specified resolutions within a specfied search sector.
 void initialize(GLContext glContext)
          Initializes this DrawContext.
 boolean isPickingMode()
          Returns true if the Picking mode is active, otherwise return false
 void setAnnotationRenderer(AnnotationRenderer annotationRenderer)
           
 void setCurrentLayer(Layer layer)
          Sets the current-layer field to the specified layer or null.
 void setFrameTimeStamp(long frameTimeStamp)
           
 void setGLContext(GLContext glContext)
          Assigns this DrawContext a new javax.media.opengl.GLContext.
 void setMaxTextureAnisotropy(double maxAnisotropy)
           
 void setModel(Model model)
          Assign a new Model.
 void setNumTextureUnits(int numTextureUnits)
           
 void setPerFrameStatistic(String key, String displayName, Object statistic)
           
 void setPerFrameStatistics(Collection<PerformanceStatistic> stats)
           
 void setPerFrameStatisticsKeys(Set<String> statKeys, Collection<PerformanceStatistic> stats)
           
 void setPickPoint(Point pickPoint)
           
 void setSurfaceGeometry(SectorGeometryList surfaceGeometry)
           
 void setTextRendererCache(TextRendererCache textRendererCache)
           
 void setTextureCache(TextureCache textureCache)
           
 void setVerticalExaggeration(double verticalExaggeration)
          Sets the vertical exaggeration.
 void setView(View view)
          Assigns a new View.
 void setViewportCenterPosition(Position viewportCenterPosition)
           
 void setViewportCenterScreenPoint(Point viewportCenterPoint)
           
 void setVisibleSector(Sector s)
          Sets the visible Sector.
 
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
 
Methods inherited from interface java.beans.PropertyChangeListener
propertyChange
 
Methods inherited from interface gov.nasa.worldwind.Disposable
dispose
 

Method Detail

addOrderedRenderable

void addOrderedRenderable(OrderedRenderable orderedRenderable)

addPickedObject

void addPickedObject(PickedObject pickedObject)
Adds a single insatnce of the picked object to the current picked-object list

Parameters:
pickedObject - the object to add

addPickedObjects

void addPickedObjects(PickedObjectList pickedObjects)
Adds a collection of picked objects to the current picked-object list

Parameters:
pickedObjects - the objects to add

disablePickingMode

void disablePickingMode()
Disables color picking mode


drawUnitQuad

void drawUnitQuad()

drawUnitQuad

void drawUnitQuad(TextureCoords texCoords)

enablePickingMode

void enablePickingMode()
Enables color picking mode


getAnnotationRenderer

AnnotationRenderer getAnnotationRenderer()

getClearColor

Color getClearColor()

getCurrentLayer

Layer getCurrentLayer()
Returns the current-layer. The field is informative only and enables layer contents to determine their containing layer.

Returns:
the current layer, or null if no layer is current.

getDrawableHeight

int getDrawableHeight()
Retrieves the drawable height of this DrawContext.

Returns:
the drawable height of this DrawCOntext
Since:
1.5

getDrawableWidth

int getDrawableWidth()
Retrieves the drawable width of this DrawContext.

Returns:
the drawable width of this DrawCOntext
Since:
1.5

getFrameTimeStamp

long getFrameTimeStamp()

getGeographicSurfaceTileRenderer

SurfaceTileRenderer getGeographicSurfaceTileRenderer()

getGL

GL getGL()
Retrieves the current javax.media.opengl.GL. A GL or GLU is required for all graphical rendering in World Wind Raptor.

Returns:
the current GL if available, null otherwise
Since:
1.5

getGLContext

GLContext getGLContext()
Retrieves this DrawContexts javax.media.opengl.GLContext. If this method returns null, then there are potentially no active GLContexts and rendering should be aborted.

Returns:
this DrawContexts javax.media.opengl.GLContext.
Since:
1.5

getGLDrawable

GLDrawable getGLDrawable()
Retrieves the currentjavax.media.opengl.GLDrawable. A GLDrawable can be used to create a GLContext, which can then be used for rendering.

Returns:
the current GLDrawable, null if none available
Since:
1.5

getGlobe

Globe getGlobe()
Retrieves the current Globe, which may be null.

Returns:
the current Globe, which may be null
Since:
1.5

getGLU

GLU getGLU()
Retrieves the current javax.media.opengl.glu.GLU. A GLU or GL is required for all graphical rendering in World Wind Raptor.

Returns:
the current GLU if available, null otherwise
Since:
1.5

getLayers

LayerList getLayers()
Retrieves a list containing all the current layers. No guarantee is made about the order of the layers.

Returns:
a LayerList containing all the current layers
Since:
1.5

getMaxTextureAnisotropy

double getMaxTextureAnisotropy()

getModel

Model getModel()
Retrieves the current Model, which may be null.

Returns:
the current Model, which may be null
Since:
1.5

getNumTextureUnits

int getNumTextureUnits()

getOrderedRenderables

Queue<OrderedRenderable> getOrderedRenderables()

getPerFrameStatistics

Collection<PerformanceStatistic> getPerFrameStatistics()

getPerFrameStatisticsKeys

Set<String> getPerFrameStatisticsKeys()

getPickedObjects

PickedObjectList getPickedObjects()
Returns the list of objects picked during the most recent pick traversal.

Returns:
the list of picked objects

getPickPoint

Point getPickPoint()

getPointOnGlobe

Vec4 getPointOnGlobe(Angle latitude,
                     Angle longitude)

getScreenPoint

Vec4 getScreenPoint(Angle latitude,
                    Angle longitude,
                    double metersElevation)

getScreenPoint

Vec4 getScreenPoint(Position position)

getScreenPoint

Vec4 getScreenPoint(Vec4 modelPoint)

getSurfaceGeometry

SectorGeometryList getSurfaceGeometry()
Retrieves a list of all the sectors rendered so far this frame.

Returns:
a SectorGeometryList containing every SectorGeometry rendered so far this render pass.
Since:
1.5

getTextRendererCache

TextRendererCache getTextRendererCache()

getTextureCache

TextureCache getTextureCache()

getUniquePickColor

Color getUniquePickColor()
Returns a unique color to serve as a pick identifier during picking.

Returns:
a unique pick color

getVerticalExaggeration

double getVerticalExaggeration()
Retrieves the current vertical exaggeration. Vertical exaggeration affects the appearance of areas with varied elevation. A vertical exaggeration of zero creates a surface which exactly fits the shape of the underlying Globe. A vertical exaggeration of 3 will create mountains and valleys which are three times as high/deep as they really are.

Returns:
the current vertical exaggeration
Since:
1.5

getView

View getView()
Retrieves the current View, which may be null.

Returns:
the current View, which may be null
Since:
1.5

getViewportCenterGlobePoint

Vec4 getViewportCenterGlobePoint()

getViewportCenterPosition

Position getViewportCenterPosition()

getViewportCenterScreenPoint

Point getViewportCenterScreenPoint()

getViewportCenterSurfacePoint

Vec4 getViewportCenterSurfacePoint()

getVisibleSector

Sector getVisibleSector()
Retrieves a Sector which is at least as large as the current visible sector. The value returned is the value passed to SetVisibleSector. This method may return null.

Returns:
a Sector at least the size of the curernt visible sector, null if unavailable
Since:
1.5

getVisibleSectors

List<Sector> getVisibleSectors(double[] resolutions,
                               long timeLimit,
                               Sector searchSector)
Returns the visible sectors at one of several specified resolutions within a specfied search sector. Several sectors resolutions may be specified along with a time limit. The best resolution that can be determined within the time limit is returned.

Adherence to the time limit is not precise. The limit is checked only between full searches at each resolution. The search may take more than the specified time, but will terminate if no time is left before starting a higher-resolution search.

Parameters:
resolutions - the resolutions of the sectors to return, in latitude.
timeLimit - the amount of time, in milliseconds, to allow for searching.
searchSector - the sector to decompose into visible sectors.
Returns:
the visible sectors at the best resolution achievable given the time limit. The actual resolution can be determined by examining the delta-latitude value of any of the returnced sectors.
Throws:
IllegalArgumentException - if the resolutions array or the search sector is null.

initialize

void initialize(GLContext glContext)
Initializes this DrawContext. This method should be called at the beginning of each frame to prepare the DrawContext for the coming render pass.

Parameters:
glContext - the javax.media.opengl.GLContext to use for this render pass
Since:
1.5

isPickingMode

boolean isPickingMode()
Returns true if the Picking mode is active, otherwise return false

Returns:
true for Picking mode, otherwise false

setAnnotationRenderer

void setAnnotationRenderer(AnnotationRenderer annotationRenderer)

setCurrentLayer

void setCurrentLayer(Layer layer)
Sets the current-layer field to the specified layer or null. The field is informative only and enables layer contents to determine their containing layer.

Parameters:
layer - the current layer or null.

setFrameTimeStamp

void setFrameTimeStamp(long frameTimeStamp)

setGLContext

void setGLContext(GLContext glContext)
Assigns this DrawContext a new javax.media.opengl.GLContext. May throw a NullPointerException if glContext is null.

Parameters:
glContext - the new javax.media.opengl.GLContext
Throws:
NullPointerException - if glContext is null
Since:
1.5

setMaxTextureAnisotropy

void setMaxTextureAnisotropy(double maxAnisotropy)

setModel

void setModel(Model model)
Assign a new Model. Some layers cannot function properly with a null Model. It is recommended that the Model is never set to null during a normal render pass.

Parameters:
model - the new Model
Since:
1.5

setNumTextureUnits

void setNumTextureUnits(int numTextureUnits)

setPerFrameStatistic

void setPerFrameStatistic(String key,
                          String displayName,
                          Object statistic)

setPerFrameStatistics

void setPerFrameStatistics(Collection<PerformanceStatistic> stats)

setPerFrameStatisticsKeys

void setPerFrameStatisticsKeys(Set<String> statKeys,
                               Collection<PerformanceStatistic> stats)

setPickPoint

void setPickPoint(Point pickPoint)

setSurfaceGeometry

void setSurfaceGeometry(SectorGeometryList surfaceGeometry)

setTextRendererCache

void setTextRendererCache(TextRendererCache textRendererCache)

setTextureCache

void setTextureCache(TextureCache textureCache)

setVerticalExaggeration

void setVerticalExaggeration(double verticalExaggeration)
Sets the vertical exaggeration. Vertical exaggeration affects the appearance of areas with varied elevation. A vertical exaggeration of zero creates a surface which exactly fits the shape of the underlying Globe. A vertical exaggeration of 3 will create mountains and valleys which are three times as high/deep as they really are.

Parameters:
verticalExaggeration - the new vertical exaggeration.
Since:
1.5

setView

void setView(View view)
Assigns a new View. Some layers cannot function properly with a null View. It is recommended that the View is never set to null during a normal render pass.

Parameters:
view - the enw View
Since:
1.5

setViewportCenterPosition

void setViewportCenterPosition(Position viewportCenterPosition)

setViewportCenterScreenPoint

void setViewportCenterScreenPoint(Point viewportCenterPoint)

setVisibleSector

void setVisibleSector(Sector s)
Sets the visible Sector. The new visible sector must completely encompass the Sector which is visible on the display.

Parameters:
s - the new visible Sector
Since:
1.5

NASA World Wind