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 and 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 and Description
    --- | ---
    `protected FastHashMap<java.lang.String,ParameterList.Parameter>` | `list`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ParameterList()` Creates an empty ParameterList.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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)