Aviatrix3D
2.1.0

org.j3d.aviatrix3d.pipeline.audio
Class DefaultAudioPipeline

java.lang.Object
  extended by org.j3d.aviatrix3d.pipeline.audio.DefaultAudioPipeline
All Implemented Interfaces:
AudioRenderPipeline, RenderPipeline

public class DefaultAudioPipeline
extends java.lang.Object
implements AudioRenderPipeline

The default implementation of the audio pipeline usable by most applications.

This implementation is targeted towards single threaded architectures. After setting the stages, the render command will not return until everything is complete.

Version:
$Revision: 2.9 $
Author:
Alan Hudson

Constructor Summary
DefaultAudioPipeline()
          Create an instance of the pipeline with nothing registered.
DefaultAudioPipeline(AudioCullStage cs, AudioSortStage ss)
          Construct a pipeline with the sort and cull stages provided.
 
Method Summary
 boolean displayOnly()
          Cause the surface to redraw the next frame only, with no processing of the pipeline.
 AudioOutputDevice getAudioOutputDevice()
          Get the currently registered drawable device instance.
 void halt()
          Force a halt of the current processing.
 boolean render()
          Start the pipeline functioning now.
 void setAudioOutputDevice(AudioOutputDevice device)
          Register a drawing surface that this pipeline will send its output to.
 void setCuller(AudioCullStage cs)
          Set the cull instance to be used.
 void setErrorReporter(org.j3d.util.ErrorReporter reporter)
          Register an error reporter with the engine so that any errors generated by the node's internals can be reported in a nice, pretty fashion.
 void setRenderableLayers(LayerCullable[] layers, int numLayers)
          Set the set of layers to be used by this pipeline.
 void setRequestData(RenderableRequestData data)
          Set the request data that should be passed along with the next frame.
 void setSorter(AudioSortStage ss)
          Set the sorter instance to be used.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultAudioPipeline

public DefaultAudioPipeline()
Create an instance of the pipeline with nothing registered.


DefaultAudioPipeline

public DefaultAudioPipeline(AudioCullStage cs,
                            AudioSortStage ss)
Construct a pipeline with the sort and cull stages provided.

Parameters:
ss - The sort stage instance to use
cs - The cull stage instance to use
Method Detail

setAudioOutputDevice

public void setAudioOutputDevice(AudioOutputDevice device)
Register a drawing surface that this pipeline will send its output to. Setting a null value will remove the current drawable surface.

Specified by:
setAudioOutputDevice in interface AudioRenderPipeline
Parameters:
device - The audio output device instance to use or replace

getAudioOutputDevice

public AudioOutputDevice getAudioOutputDevice()
Get the currently registered drawable device instance. If none is set, return null.

Specified by:
getAudioOutputDevice in interface AudioRenderPipeline
Returns:
The currently set surface instance or null

setErrorReporter

public void setErrorReporter(org.j3d.util.ErrorReporter reporter)
Register an error reporter with the engine so that any errors generated by the node's internals can be reported in a nice, pretty fashion. Setting a value of null will clear the currently set reporter. If one is already set, the new value replaces the old.

Specified by:
setErrorReporter in interface RenderPipeline
Parameters:
reporter - The instance to use or null

setRequestData

public void setRequestData(RenderableRequestData data)
Set the request data that should be passed along with the next frame. This is temporary that is passed along at the next render() or displayOnly() call and will be cleared after that.

Specified by:
setRequestData in interface RenderPipeline
Parameters:
data - The data instance to pass this next frame

render

public boolean render()
Start the pipeline functioning now. All steps will be called and this method will not return until all are completed and the surface has swapped.

The return value indicates success or failure in the ability to render this frame. Typically it will indicate failure if the underlying surface has been disposed of, either directly through the calling of the method on this interface, or through an internal check mechanism. If failure is indicated, then check to see if the surface has been disposed of and discontinue rendering if it has.

Specified by:
render in interface RenderPipeline
Returns:
true if the drawing succeeded, or false if not

displayOnly

public boolean displayOnly()
Cause the surface to redraw the next frame only, with no processing of the pipeline. This is typically an optimisation step when nothing has changed in user land, so there's no processing that needs to be done. Skip the processing and tell the drawable surface to render again what it already has set from the previous frame.

The return value indicates success or failure in the ability to render this frame. Typically it will indicate failure if the underlying surface has been disposed of, either directly through the calling of the method on this interface, or through an internal check mechanism. If failure is indicated, then check to see if the surface has been disposed of and discontinue rendering if it has.

Specified by:
displayOnly in interface RenderPipeline
Returns:
true if the drawing succeeded, or false if not

setRenderableLayers

public void setRenderableLayers(LayerCullable[] layers,
                                int numLayers)
Set the set of layers to be used by this pipeline. Providing an argument of a zero number of layers remove the layers from being rendered, causing the pipeline to function as a no-op when rendered.

If a scene is currently set, and a non-zero number of layers is provided, this will remove the scene and use the layers instead.

Specified by:
setRenderableLayers in interface RenderPipeline
Parameters:
layers - The collection of layers, in order, to render
numLayers - The number of valid layers to use

halt

public void halt()
Force a halt of the current processing. Any processing in progress should exit immediately. Used to abort the current scene processing due to application shutdown or complete scene replacement.

Specified by:
halt in interface RenderPipeline

setSorter

public void setSorter(AudioSortStage ss)
Set the sorter instance to be used. If the instance is null, the current sorter is removed.

Parameters:
ss - The sorter instance to use or null

setCuller

public void setCuller(AudioCullStage cs)
Set the cull instance to be used. If the instance is null, the current culler is removed.

Parameters:
cs - The cull instance to use or null

Aviatrix3D
2.1.0

Latest Info from http://aviatrix3d.j3d.org/
Copyright © 2003 - 2009 j3d.org