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
`static class` `ParameterList.FloatParameter` Represents an array of floating point values.
`static class` `ParameterList.InterpolationType`
`protected static class` `ParameterList.Parameter`

### Field Summary

Fields
`protected FastHashMap<java.lang.String,ParameterList.Parameter>` `list`

### Constructor Summary

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

### Method Summary

Methods
`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)