Package org.sunflow.core

# Class ParameterList

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

Direct Known Subclasses:
  `Options`

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

## Field Summary

Fields
Modifier and Type
Field
Description
`protected final FastHashMap<String,ParameterList.Parameter>`
`list`

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`void`
`addBoolean(String name, boolean value)`
Add the specified boolean as a parameter.
`void`
`addColor(String name, Color value)`
Add the specified color as a parameter.
`void`
`addFloat(String name, float value)`
Add the specified float as a parameter.
`void`
`addFloats(String name, ParameterList.InterpolationType interp, float[] data)`
Add the specified floats as a parameter.
`void`
`addInteger(String name, int value)`
Add the specified integer as a parameter.
`void`
`addIntegerArray(String name, int[] array)`
Add the specified array of integers as a parameter.
`void`
`addMatrices(String name, ParameterList.InterpolationType interp, float[] data)`
Add the specified matrices as a parameter.
`void`
`addPoints(String name, ParameterList.InterpolationType interp, float[] data)`
Add the specified points as a parameter.
`void`
`addString(String name, String value)`
Add the specified string as a parameter.
`void`
`addStringArray(String name, String[] array)`
Add the specified array of integers as a parameter.
`void`
`addTexCoords(String name, ParameterList.InterpolationType interp, float[] data)`
Add the specified texture coordinates as a parameter.
`void`
`addVectors(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(String name, boolean defaultValue)`
Get the specified boolean parameter from this list.
`Color`
`getColor(String name, Color defaultValue)`
Get the specified color parameter from this list.
`float`
`getFloat(String name, float defaultValue)`
Get the specified float parameter from this list.
`ParameterList.FloatParameter`
`getFloatArray(String name)`
Get the specified float array parameter from this list.
`int`
`getInt(String name, int defaultValue)`
Get the specified integer parameter from this list.
`int[]`
`getIntArray(String name)`
Get the specified integer array parameter from this list.
`Matrix4`
`getMatrix(String name, Matrix4 defaultValue)`
Get the specified matrix parameter from this list.
`ParameterList.FloatParameter`
`getMatrixArray(String name)`
Get the specified matrix array parameter from this list.
`final MovingMatrix4`
`getMovingMatrix(String name, MovingMatrix4 defaultValue)`
`Point3`
`getPoint(String name, Point3 defaultValue)`
Get the specified point parameter from this list.
`ParameterList.FloatParameter`
`getPointArray(String name)`
Get the specified point array parameter from this list.
`String`
`getString(String name, String defaultValue)`
Get the specified string parameter from this list.
`String[]`
`getStringArray(String name, String[] defaultValue)`
Get the specified string array parameter from this list.
`Point2`
`getTexCoord(String name, Point2 defaultValue)`
Get the specified texture coordinate parameter from this list.
`ParameterList.FloatParameter`
`getTexCoordArray(String name)`
Get the specified texture coordinate array parameter from this list.
`Vector3`
`getVector(String name, Vector3 defaultValue)`
Get the specified vector parameter from this list.
`ParameterList.FloatParameter`
`getVectorArray(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 Details

### list

protected final FastHashMap<String,ParameterList.Parameter> list

## Constructor Details

### ParameterList

public ParameterList()
Creates an empty ParameterList.

## Method Details

### 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(String name, 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(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(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(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(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(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(String name, 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(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(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(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(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(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 String getString(String name, 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 String[] getStringArray(String name, 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(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(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(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(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(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(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(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(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(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(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(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(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(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(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(String name, MovingMatrix4 defaultValue)