|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.sunflow.SunflowAPI
public class SunflowAPI
This API gives a simple interface for creating scenes procedurally. This is the main entry point to Sunflow. To use this class, extend from it and implement the build method which may execute arbitrary code to create a scene.
Field Summary | |
---|---|
static java.lang.String |
DEFAULT_OPTIONS
|
static java.lang.String |
VERSION
|
Constructor Summary | |
---|---|
SunflowAPI()
Creates an empty scene. |
Method Summary | |
---|---|
void |
addIncludeSearchPath(java.lang.String path)
Add the specified path to the list of directories which are searched automatically to resolve scene filenames. |
void |
addTextureSearchPath(java.lang.String path)
Adds the specified path to the list of directories which are searched automatically to resolve texture filenames. |
void |
build()
This method does nothing, but may be overriden to create scenes procedurally. |
void |
camera(java.lang.String name,
CameraLens lens)
Defines a camera with a given name. |
static SunflowAPI |
compile(java.lang.String code)
Compile the specified code string via Janino. |
static SunflowAPI |
create(java.lang.String filename,
int frameNumber)
Create an API object from the specified file. |
void |
geometry(java.lang.String name,
PrimitiveList primitives)
Defines a geometry with a given name. |
void |
geometry(java.lang.String name,
Tesselatable tesselatable)
Defines a geometry with a given name. |
BoundingBox |
getBounds()
Retrieve the bounding box of the scene. |
int |
getCurrentFrame()
Read the value of the current frame. |
java.lang.String |
getUniqueName(java.lang.String prefix)
Returns a name currently not being used by any other object. |
void |
instance(java.lang.String name,
java.lang.String geoname)
Instance the specified geometry into the scene. |
void |
light(java.lang.String name,
LightSource light)
Adds the specified light to the scene. |
Geometry |
lookupGeometry(java.lang.String name)
Retrieve a geometry object by its name, or null if no
geometry was found, or if the specified object is not a geometry. |
Modifier |
lookupModifier(java.lang.String name)
Retrieve a modifier object by its name, or null if no
modifier was found, or if the specified object is not a modifier. |
Shader |
lookupShader(java.lang.String name)
Retrieve a shader object by its name, or null if no shader
was found, or if the specified object is not a shader. |
void |
modifier(java.lang.String name,
Modifier modifier)
Defines a modifier with a given name. |
void |
options(java.lang.String name)
Defines an option object to hold the current parameters. |
void |
parameter(java.lang.String name,
boolean value)
Declare a parameter with the specified name and value. |
void |
parameter(java.lang.String name,
Color value)
Declare a parameter with the specified name and value. |
void |
parameter(java.lang.String name,
float value)
Declare a parameter with the specified name and value. |
void |
parameter(java.lang.String name,
int value)
Declare a parameter with the specified name and value. |
void |
parameter(java.lang.String name,
int[] value)
Declare a parameter with the specified name and value. |
void |
parameter(java.lang.String name,
Matrix4 value)
Declare a parameter with the specified name and value. |
void |
parameter(java.lang.String name,
Point3 value)
Declare a parameter with the specified name and value. |
void |
parameter(java.lang.String name,
java.lang.String value)
Declare a parameter with the specified name and value. |
void |
parameter(java.lang.String name,
java.lang.String[] value)
Declare a parameter with the specified name and value. |
void |
parameter(java.lang.String name,
java.lang.String type,
java.lang.String interpolation,
float[] data)
Declare a parameter with the specified name. |
void |
parameter(java.lang.String name,
Vector3 value)
Declare a parameter with the specified name and value. |
boolean |
parse(java.lang.String filename)
Parse the specified filename. |
void |
remove(java.lang.String name)
Remove the specified render object. |
void |
render(java.lang.String optionsName,
Display display)
Render using the specified options and the specified display. |
void |
reset()
Reset the state of the API completely. |
java.lang.String |
resolveIncludeFilename(java.lang.String filename)
Attempts to resolve the specified filename by checking it against the include search path. |
java.lang.String |
resolveTextureFilename(java.lang.String filename)
Attempts to resolve the specified filename by checking it against the texture search path. |
static void |
runSystemCheck()
This is a quick system test which verifies that the user has launched Java properly. |
void |
setCurrentFrame(int currentFrame)
Set the value of the current frame. |
void |
shader(java.lang.String name,
Shader shader)
Defines a shader with a given name. |
void |
shaderOverride(java.lang.String name,
boolean photonOverride)
Sets a global shader override to the specified shader name. |
boolean |
update(java.lang.String name)
Update the specfied object using the currently active parameter list. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String VERSION
public static final java.lang.String DEFAULT_OPTIONS
Constructor Detail |
---|
public SunflowAPI()
Method Detail |
---|
public static void runSystemCheck()
public final void reset()
public final java.lang.String getUniqueName(java.lang.String prefix)
prefix
- name prefix
public final void parameter(java.lang.String name, java.lang.String value)
name
- parameter namevalue
- parameter valuepublic final void parameter(java.lang.String name, boolean value)
name
- parameter namevalue
- parameter valuepublic final void parameter(java.lang.String name, int value)
name
- parameter namevalue
- parameter valuepublic final void parameter(java.lang.String name, float value)
name
- parameter namevalue
- parameter valuepublic final void parameter(java.lang.String name, Color value)
name
- parameter namevalue
- parameter valuepublic final void parameter(java.lang.String name, Point3 value)
name
- parameter namevalue
- parameter valuepublic final void parameter(java.lang.String name, Vector3 value)
name
- parameter namevalue
- parameter valuepublic final void parameter(java.lang.String name, Matrix4 value)
name
- parameter namevalue
- parameter valuepublic final void parameter(java.lang.String name, int[] value)
name
- parameter namevalue
- parameter valuepublic final void parameter(java.lang.String name, java.lang.String[] value)
name
- parameter namevalue
- parameter valuepublic final void parameter(java.lang.String name, java.lang.String type, java.lang.String interpolation, float[] data)
ParameterList.InterpolationType
). The data is specified in a
flattened float array.
name
- parameter nametype
- parameter data typeinterpolation
- parameter interpolation modedata
- raw floating point datapublic void remove(java.lang.String name)
name
- name of the object to removepublic boolean update(java.lang.String name)
name
- name of the object to update
true
if the update was succesfull, or
false
if the update failedpublic final void addIncludeSearchPath(java.lang.String path)
path
- public final void addTextureSearchPath(java.lang.String path)
public final java.lang.String resolveTextureFilename(java.lang.String filename)
filename
- filename
public final java.lang.String resolveIncludeFilename(java.lang.String filename)
filename
- filename
public final void shader(java.lang.String name, Shader shader)
null
, the shader with the given name will be updated (if
it exists).
name
- a unique name given to the shadershader
- a shader objectpublic final void modifier(java.lang.String name, Modifier modifier)
null
, the modifier with the given name will be updated
(if it exists).
name
- a unique name given to the modifiermodifier
- a modifier objectpublic final void geometry(java.lang.String name, PrimitiveList primitives)
PrimitiveList
. If the primitives object is
null
, the geometry with the given name will be updated
(if it exists).
name
- a unique name given to the geometryprimitives
- primitives to create the geometry frompublic final void geometry(java.lang.String name, Tesselatable tesselatable)
Tesselatable
. If the object is null
,
the geometry with the given name will be updated (if it exists).
name
- a unique name given to the geometrytesselatable
- the tesselatable object to create the geometry frompublic final void instance(java.lang.String name, java.lang.String geoname)
null
, the specified instance object will be updated (if
it exists). It is not possible to change the instancing relationship
after the instance has been created.
name
- instance namegeoname
- name of the geometry to instancepublic final void light(java.lang.String name, LightSource light)
light
- light source objectpublic final void camera(java.lang.String name, CameraLens lens)
CameraLens
. If the lens object is null
,
the camera with the given name will be updated (if it exists). It isn't
possible to change the lens of an existing camera.
name
- camera namelens
- camera lens to usepublic final void options(java.lang.String name)
name
- public final Geometry lookupGeometry(java.lang.String name)
null
if no
geometry was found, or if the specified object is not a geometry.
name
- geometry name
public final Shader lookupShader(java.lang.String name)
null
if no shader
was found, or if the specified object is not a shader.
name
- shader name
public final Modifier lookupModifier(java.lang.String name)
null
if no
modifier was found, or if the specified object is not a modifier.
name
- modifier name
public final void shaderOverride(java.lang.String name, boolean photonOverride)
name
- shader namephotonOverride
- apply override to photon tracing phasepublic final void render(java.lang.String optionsName, Display display)
optionsName
- name of the RenderObject
which contains the
optionsdisplay
- display objectpublic final boolean parse(java.lang.String filename)
filename
- filename to load
true
upon sucess, false
if an error
occured.public final BoundingBox getBounds()
render(String, Display)
has been made.
public void build()
public static SunflowAPI create(java.lang.String filename, int frameNumber)
filename
- filename to load
null
on failurepublic static SunflowAPI compile(java.lang.String code)
code
- java code string
null
otherwise.public int getCurrentFrame()
public void setCurrentFrame(int currentFrame)
currentFrame
- current frame number
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |