org.deegree.rendering.r3d.opengl.rendering.model.geometry
Class WorldRenderableObject

java.lang.Object
  extended by org.deegree.rendering.r3d.model.WorldObject<RenderableQualityModelPart,RenderableQualityModel>
      extended by org.deegree.rendering.r3d.opengl.rendering.model.geometry.WorldRenderableObject
All Implemented Interfaces:
Serializable, PositionableModel, MemoryAware, JOGLRenderable
Direct Known Subclasses:
RenderablePrototype

public class WorldRenderableObject
extends WorldObject<RenderableQualityModelPart,RenderableQualityModel>
implements JOGLRenderable

The WorldRenderableObject defines a number of renderable quality levels, where each level may be a PrototypeReference or a RenderableGeometry model. Which LOD is should be rendered is deterimined by applying the LODSwitcher to the position and the error scalar.

Version:
$Revision: 30126 $, $Date: 2011-03-22 11:11:00 +0100 (Tue, 22 Mar 2011) $
Author:
Rutger Bezema, last edited by: $Author: aschmitz $
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.deegree.rendering.r3d.model.WorldObject
position, qualityLevels
 
Constructor Summary
WorldRenderableObject(String id, String time, Envelope bbox, int levels)
          Creates a new WorldRenderableObject with given number of data quality levels (LOD)
WorldRenderableObject(String id, String time, Envelope bbox, RenderableQualityModel[] qualityLevels)
           
 
Method Summary
protected  int calcQualityLevel(RenderContext glRenderContext)
           
 int getOrdinateCount()
           
 int getTextureOrdinateCount()
           
 void render(RenderContext glRenderContext)
          Called to render this object to an OpenGL context.
 void renderPrepared(RenderContext glRenderContext, DirectGeometryBuffer geomBuffer)
          This method assumes the coordinates and normals are located in the given DirectGeometryBuffer.
 void setSwitchLevels(LODSwitcher switchLevels)
           
 
Methods inherited from class org.deegree.rendering.r3d.model.WorldObject
getBbox, getErrorScalar, getExternalReference, getGroundLevel, getId, getModelBBox, getName, getNumberOfQualityLevels, getObjectHeight, getPosition, getQualityLevel, getQualityLevels, getTime, getType, resetQualityLevels, setBbox, setExternalReference, setId, setName, setQualityLevel, setTime, setType, sizeOf
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WorldRenderableObject

public WorldRenderableObject(String id,
                             String time,
                             Envelope bbox,
                             int levels)
Creates a new WorldRenderableObject with given number of data quality levels (LOD)

Parameters:
id -
time -
bbox -
levels -

WorldRenderableObject

public WorldRenderableObject(String id,
                             String time,
                             Envelope bbox,
                             RenderableQualityModel[] qualityLevels)
Parameters:
id - of this object
time - this object was created in the dbase
bbox - of this object (may not be null)
qualityLevels - this data object may render.
Method Detail

render

public void render(RenderContext glRenderContext)
Description copied from interface: JOGLRenderable
Called to render this object to an OpenGL context.

The following pre-conditions hold:

Specified by:
render in interface JOGLRenderable
Parameters:
glRenderContext - TODO

renderPrepared

public void renderPrepared(RenderContext glRenderContext,
                           DirectGeometryBuffer geomBuffer)
This method assumes the coordinates and normals are located in the given DirectGeometryBuffer.

Parameters:
glRenderContext -
geomBuffer - to be get the coordinates from.

calcQualityLevel

protected int calcQualityLevel(RenderContext glRenderContext)
Parameters:
glRenderContext -
Returns:
the level to render.

getOrdinateCount

public int getOrdinateCount()
Returns:
the number of ordinates in all qualitylevels, needed for the initialization of the direct buffer.

getTextureOrdinateCount

public int getTextureOrdinateCount()
Returns:
the number of ordinates in all qualitylevels, needed for the initialization of the direct buffer.

setSwitchLevels

public void setSwitchLevels(LODSwitcher switchLevels)
Parameters:
switchLevels -


Copyright © 2011. All Rights Reserved.