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.
-
-
-
Field Detail
-
list
protected final FastHashMap<java.lang.String,ParameterList.Parameter> list
-
-
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 namevalue
- 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 namevalue
- 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 namevalue
- 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 namevalue
- 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 namevalue
- 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 namearray
- 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 namearray
- 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 nameinterp
- interpolation typedata
- 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 nameinterp
- interpolation typedata
- 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 nameinterp
- interpolation typedata
- 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 nameinterp
- interpolation typedata
- 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 nameinterp
- interpolation typedata
- 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 parameterdefaultValue
- 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 parameterdefaultValue
- 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 parameterdefaultValue
- 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 parameterdefaultValue
- 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 parameterdefaultValue
- 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 parameterdefaultValue
- 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 parameterdefaultValue
- 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 parameterdefaultValue
- 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 parameterdefaultValue
- 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 parameterdefaultValue
- 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)
-
-