javax.media.opengl

## Class GLPipelineFactory

- java.lang.Object
- - javax.media.opengl.GLPipelineFactory

-     public class GLPipelineFactory
      extends Object

  Factory for pipelining GL instances

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static boolean` | `DEBUG`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GLPipelineFactory()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static GL` | `create(String pipelineClazzBaseName, Class<?> reqInterface, GL downstream, Object[] additionalArgs)` Creates a pipelined GL instance using the given downstream `downstream` and optional arguments `additionalArgs` for the constructor.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEBUG

          public static final boolean DEBUG

  - ### Constructor Detail

    - #### GLPipelineFactory

          public GLPipelineFactory()

  - ### Method Detail

    - #### create

          public static final GL create(String pipelineClazzBaseName,
                  Class<?> reqInterface,
                  GL downstream,
                  Object[] additionalArgs)

      Creates a pipelined GL instance using the given downstream `downstream` and optional arguments `additionalArgs` for the constructor.

      Sample code which installs a Debug and Trace pipeline automatic w/ user defined interface, here: GL2ES2:

               gl = drawable.setGL( GLPipelineFactory.create("javax.media.opengl.Debug", GL2ES2.class, gl, null) );
               gl = drawable.setGL( GLPipelineFactory.create("javax.media.opengl.Trace", GL2ES2.class, gl, new Object[] { System.err } ) );

      or automatic w/ automatic defined class:

               gl = drawable.setGL( GLPipelineFactory.create("javax.media.opengl.Debug",         null, gl, null) );
               gl = drawable.setGL( GLPipelineFactory.create("javax.media.opengl.Trace",         null, gl, new Object[] { System.err } ) );

      The upstream GL instance is determined as follows:

      - Use `pipelineClazzBaseName` as the class name's full basename, incl. package name
      - For the `downstream` class and it's superclasses, do:
      - For all `downstream` class and superclass interfaces, do:
      - If `reqInterface` is not null and the interface is unequal, continue loop.
      - If `downstream` is not instance of interface, continue loop.
      - If upstream class is available use it, end loop.
      Parameters:
        `pipelineClazzBaseName` - the basename of the pipline class name
        `reqInterface` - optional requested interface to be used, may be null, in which case the first matching one is used
        `downstream` - is always the 1st argument for the upstream constructor
        `additionalArgs` - additional arguments for the upstream constructor

Copyright 2010 JogAmp Community.