Package org.sunflow.core

## Class ParameterList

- java.lang.Object
- - org.sunflow.core.ParameterList

- Direct Known Subclasses:
    `Options`

      public class ParameterList
      extends java.lang.Object

  This class holds a list of "parameters". These are defined and then passed onto rendering objects through the API. They can hold arbitrary typed and named variables as a unified way of getting data into user objects.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `ParameterList.FloatParameter` | Represents an array of floating point values.
    `static class` | `ParameterList.InterpolationType` |
    `protected static class` | `ParameterList.Parameter` |

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected FastHashMap<java.lang.String,​ParameterList.Parameter>` | `list` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ParameterList()` | Creates an empty ParameterList.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addBoolean​(java.lang.String name, boolean value)` | Add the specified boolean as a parameter.
    `void` | `addColor​(java.lang.String name, Color value)` | Add the specified color as a parameter.
    `void` | `addFloat​(java.lang.String name, float value)` | Add the specified float as a parameter.
    `void` | `addFloats​(java.lang.String name, ParameterList.InterpolationType interp, float[] data)` | Add the specified floats as a parameter.
    `void` | `addInteger​(java.lang.String name, int value)` | Add the specified integer as a parameter.
    `void` | `addIntegerArray​(java.lang.String name, int[] array)` | Add the specified array of integers as a parameter.
    `void` | `addMatrices​(java.lang.String name, ParameterList.InterpolationType interp, float[] data)` | Add the specified matrices as a parameter.
    `void` | `addPoints​(java.lang.String name, ParameterList.InterpolationType interp, float[] data)` | Add the specified points as a parameter.
    `void` | `addString​(java.lang.String name, java.lang.String value)` | Add the specified string as a parameter.
    `void` | `addStringArray​(java.lang.String name, java.lang.String[] array)` | Add the specified array of integers as a parameter.
    `void` | `addTexCoords​(java.lang.String name, ParameterList.InterpolationType interp, float[] data)` | Add the specified texture coordinates as a parameter.
    `void` | `addVectors​(java.lang.String name, ParameterList.InterpolationType interp, float[] data)` | Add the specified vectors as a parameter.
    `void` | `clear​(boolean showUnused)` | Clears the list of all its members.
    `boolean` | `getBoolean​(java.lang.String name, boolean defaultValue)` | Get the specified boolean parameter from this list.
    `Color` | `getColor​(java.lang.String name, Color defaultValue)` | Get the specified color parameter from this list.
    `float` | `getFloat​(java.lang.String name, float defaultValue)` | Get the specified float parameter from this list.
    `ParameterList.FloatParameter` | `getFloatArray​(java.lang.String name)` | Get the specified float array parameter from this list.
    `int` | `getInt​(java.lang.String name, int defaultValue)` | Get the specified integer parameter from this list.
    `int[]` | `getIntArray​(java.lang.String name)` | Get the specified integer array parameter from this list.
    `Matrix4` | `getMatrix​(java.lang.String name, Matrix4 defaultValue)` | Get the specified matrix parameter from this list.
    `ParameterList.FloatParameter` | `getMatrixArray​(java.lang.String name)` | Get the specified matrix array parameter from this list.
    `MovingMatrix4` | `getMovingMatrix​(java.lang.String name, MovingMatrix4 defaultValue)` |
    `Point3` | `getPoint​(java.lang.String name, Point3 defaultValue)` | Get the specified point parameter from this list.
    `ParameterList.FloatParameter` | `getPointArray​(java.lang.String name)` | Get the specified point array parameter from this list.
    `java.lang.String` | `getString​(java.lang.String name, java.lang.String defaultValue)` | Get the specified string parameter from this list.
    `java.lang.String[]` | `getStringArray​(java.lang.String name, java.lang.String[] defaultValue)` | Get the specified string array parameter from this list.
    `Point2` | `getTexCoord​(java.lang.String name, Point2 defaultValue)` | Get the specified texture coordinate parameter from this list.
    `ParameterList.FloatParameter` | `getTexCoordArray​(java.lang.String name)` | Get the specified texture coordinate array parameter from this list.
    `Vector3` | `getVector​(java.lang.String name, Vector3 defaultValue)` | Get the specified vector parameter from this list.
    `ParameterList.FloatParameter` | `getVectorArray​(java.lang.String name)` | Get the specified vector array parameter from this list.
    `void` | `setFaceCount​(int numFaces)` | Setup how many faces should be used to check member count on "face" interpolated parameters.
    `void` | `setFaceVertexCount​(int numFaceVerts)` | Setup how many "face-vertices" should be used to check member count of "facevarying" interpolated parameters.
    `void` | `setVertexCount​(int numVerts)` | Setup how many vertices should be used to check member count of "vertex" interpolated parameters.

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

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

- - ### Field Detail

    - #### list

          protected final FastHashMap<java.lang.String,​ParameterList.Parameter> list

  - ### Constructor Detail

    - #### ParameterList

          public ParameterList()

      Creates an empty ParameterList.

  - ### Method Detail

    - #### clear

          public void clear​(boolean showUnused)

      Clears the list of all its members. If some members were never used, a warning will be printed to remind the user something may be wrong.

    - #### setFaceCount

          public void setFaceCount​(int numFaces)

      Setup how many faces should be used to check member count on "face" interpolated parameters.
      Parameters:
        `numFaces` - number of faces

    - #### setVertexCount

          public void setVertexCount​(int numVerts)

      Setup how many vertices should be used to check member count of "vertex" interpolated parameters.
      Parameters:
        `numVerts` - number of vertices

    - #### setFaceVertexCount

          public void setFaceVertexCount​(int numFaceVerts)

      Setup how many "face-vertices" should be used to check member count of "facevarying" interpolated parameters. This should be equal to the sum of the number of vertices on each face.
      Parameters:
        `numFaceVerts` - number of "face-vertices"

    - #### addString

          public void addString​(java.lang.String name,
                                java.lang.String value)

      Add the specified string as a parameter. `null` values are not permitted.
      Parameters:
        `name` - parameter name
        `value` - parameter value

    - #### addInteger

          public void addInteger​(java.lang.String name,
                                 int value)

      Add the specified integer as a parameter. `null` values are not permitted.
      Parameters:
        `name` - parameter name
        `value` - parameter value

    - #### addBoolean

          public void addBoolean​(java.lang.String name,
                                 boolean value)

      Add the specified boolean as a parameter. `null` values are not permitted.
      Parameters:
        `name` - parameter name
        `value` - parameter value

    - #### addFloat

          public void addFloat​(java.lang.String name,
                               float value)

      Add the specified float as a parameter. `null` values are not permitted.
      Parameters:
        `name` - parameter name
        `value` - parameter value

    - #### addColor

          public void addColor​(java.lang.String name,
                               Color value)

      Add the specified color as a parameter. `null` values are not permitted.
      Parameters:
        `name` - parameter name
        `value` - parameter value

    - #### addIntegerArray

          public void addIntegerArray​(java.lang.String name,
                                      int[] array)

      Add the specified array of integers as a parameter. `null` values are not permitted.
      Parameters:
        `name` - parameter name
        `array` - parameter value

    - #### addStringArray

          public void addStringArray​(java.lang.String name,
                                     java.lang.String[] array)

      Add the specified array of integers as a parameter. `null` values are not permitted.
      Parameters:
        `name` - parameter name
        `array` - parameter value

    - #### addFloats

          public void addFloats​(java.lang.String name,
                                ParameterList.InterpolationType interp,
                                float[] data)

      Add the specified floats as a parameter. `null` values are not permitted.
      Parameters:
        `name` - parameter name
        `interp` - interpolation type
        `data` - parameter value

    - #### addPoints

          public void addPoints​(java.lang.String name,
                                ParameterList.InterpolationType interp,
                                float[] data)

      Add the specified points as a parameter. `null` values are not permitted.
      Parameters:
        `name` - parameter name
        `interp` - interpolation type
        `data` - parameter value

    - #### addVectors

          public void addVectors​(java.lang.String name,
                                 ParameterList.InterpolationType interp,
                                 float[] data)

      Add the specified vectors as a parameter. `null` values are not permitted.
      Parameters:
        `name` - parameter name
        `interp` - interpolation type
        `data` - parameter value

    - #### addTexCoords

          public void addTexCoords​(java.lang.String name,
                                   ParameterList.InterpolationType interp,
                                   float[] data)

      Add the specified texture coordinates as a parameter. `null` values are not permitted.
      Parameters:
        `name` - parameter name
        `interp` - interpolation type
        `data` - parameter value

    - #### addMatrices

          public void addMatrices​(java.lang.String name,
                                  ParameterList.InterpolationType interp,
                                  float[] data)

      Add the specified matrices as a parameter. `null` values are not permitted.
      Parameters:
        `name` - parameter name
        `interp` - interpolation type
        `data` - parameter value

    - #### getString

          public java.lang.String getString​(java.lang.String name,
                                            java.lang.String defaultValue)

      Get the specified string parameter from this list.
      Parameters:
        `name` - name of the parameter
        `defaultValue` - value to return if not found
      Returns:
        the value of the parameter specified or default value if not found

    - #### getStringArray

          public java.lang.String[] getStringArray​(java.lang.String name,
                                                   java.lang.String[] defaultValue)

      Get the specified string array parameter from this list.
      Parameters:
        `name` - name of the parameter
        `defaultValue` - value to return if not found
      Returns:
        the value of the parameter specified or default value if not found

    - #### getInt

          public int getInt​(java.lang.String name,
                            int defaultValue)

      Get the specified integer parameter from this list.
      Parameters:
        `name` - name of the parameter
        `defaultValue` - value to return if not found
      Returns:
        the value of the parameter specified or default value if not found

    - #### getIntArray

          public int[] getIntArray​(java.lang.String name)

      Get the specified integer array parameter from this list.
      Parameters:
        `name` - name of the parameter
      Returns:
        the value of the parameter specified or `null` if not found

    - #### getBoolean

          public boolean getBoolean​(java.lang.String name,
                                    boolean defaultValue)

      Get the specified boolean parameter from this list.
      Parameters:
        `name` - name of the parameter
        `defaultValue` - value to return if not found
      Returns:
        the value of the parameter specified or default value if not found

    - #### getFloat

          public float getFloat​(java.lang.String name,
                                float defaultValue)

      Get the specified float parameter from this list.
      Parameters:
        `name` - name of the parameter
        `defaultValue` - value to return if not found
      Returns:
        the value of the parameter specified or default value if not found

    - #### getColor

          public Color getColor​(java.lang.String name,
                                Color defaultValue)

      Get the specified color parameter from this list.
      Parameters:
        `name` - name of the parameter
        `defaultValue` - value to return if not found
      Returns:
        the value of the parameter specified or default value if not found

    - #### getPoint

          public Point3 getPoint​(java.lang.String name,
                                 Point3 defaultValue)

      Get the specified point parameter from this list.
      Parameters:
        `name` - name of the parameter
        `defaultValue` - value to return if not found
      Returns:
        the value of the parameter specified or default value if not found

    - #### getVector

          public Vector3 getVector​(java.lang.String name,
                                   Vector3 defaultValue)

      Get the specified vector parameter from this list.
      Parameters:
        `name` - name of the parameter
        `defaultValue` - value to return if not found
      Returns:
        the value of the parameter specified or default value if not found

    - #### getTexCoord

          public Point2 getTexCoord​(java.lang.String name,
                                    Point2 defaultValue)

      Get the specified texture coordinate parameter from this list.
      Parameters:
        `name` - name of the parameter
        `defaultValue` - value to return if not found
      Returns:
        the value of the parameter specified or default value if not found

    - #### getMatrix

          public Matrix4 getMatrix​(java.lang.String name,
                                   Matrix4 defaultValue)

      Get the specified matrix parameter from this list.
      Parameters:
        `name` - name of the parameter
        `defaultValue` - value to return if not found
      Returns:
        the value of the parameter specified or default value if not found

    - #### getFloatArray

          public ParameterList.FloatParameter getFloatArray​(java.lang.String name)

      Get the specified float array parameter from this list.
      Parameters:
        `name` - name of the parameter
      Returns:
        the value of the parameter specified or `null` if not found

    - #### getPointArray

          public ParameterList.FloatParameter getPointArray​(java.lang.String name)

      Get the specified point array parameter from this list.
      Parameters:
        `name` - name of the parameter
      Returns:
        the value of the parameter specified or `null` if not found

    - #### getVectorArray

          public ParameterList.FloatParameter getVectorArray​(java.lang.String name)

      Get the specified vector array parameter from this list.
      Parameters:
        `name` - name of the parameter
      Returns:
        the value of the parameter specified or `null` if not found

    - #### getTexCoordArray

          public ParameterList.FloatParameter getTexCoordArray​(java.lang.String name)

      Get the specified texture coordinate array parameter from this list.
      Parameters:
        `name` - name of the parameter
      Returns:
        the value of the parameter specified or `null` if not found

    - #### getMatrixArray

          public ParameterList.FloatParameter getMatrixArray​(java.lang.String name)

      Get the specified matrix array parameter from this list.
      Parameters:
        `name` - name of the parameter
      Returns:
        the value of the parameter specified or `null` if not found

    - #### getMovingMatrix

          public final MovingMatrix4 getMovingMatrix​(java.lang.String name,
                                                     MovingMatrix4 defaultValue)