org.sunflow.core

Class ParameterList

Known Direct 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

static class
ParameterList.FloatParameter
Represents an array of floating point values.
class
ParameterList.InterpolationType
protected static class
ParameterList.Parameter

Field Summary

protected FastHashMap
Parameter>list

Constructor Summary

ParameterList()
Creates an empty ParameterList.

Method Summary

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.
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.

Field Details

Parameter>list

protected final FastHashMaplist

Constructor Details

ParameterList

public ParameterList()
Creates an empty ParameterList.

Method Details

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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"

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