package org.sunflow.core;
import org.sunflow.SunflowAPI;
import org.sunflow.SunflowAPIInterface;
/**
* Simple interface to allow for scene creation from arbitrary file formats.
*/
public interface SceneParser {
final String ASPECT = "aspect";
final String BACKGROUND = "background";
final String CENTER = "center";
final String COLOR = "color";
final String DIFF = "diff";
final String DIFFUSE = "diffuse";
final String EMIT = "emit";
final String FACEVARYING = "facevarying";
final String FILTER = "filter";
final String FOV = "fov";
final String GI_ENGINE = "gi.engine";
final String MODIFIER = "modifier";
final String MODIFIERS = "modifiers";
final String NAME = "name";
final String NONE = "none";
final String NORMALS = "normals";
final String POINTS = "points";
final String POINT = "point";
final String POWER = "power";
final String VERTEX = "vertex";
final String RADIUS = "radius";
final String RADIANCE = "radiance";
final String REFL = "refl";
final String SAMPLES = "samples";
final String SCALE = "scale";
final String SHADER = "shader";
final String SHADERS = "shaders";
final String SMOOTH = "scale";
final String SUBDIVS = "subdivs";
final String TEXTURE = "texture";
final String TEXCOORD = "texcoord";
final String TRANSFORM = "transform";
final String TRIANGLES = "triangles";
final String TRIANGLE_MESH = "triangle_mesh";
final String TYPE = "type";
final String UVS = "uvs";
/**
* Parse the specified file to create a scene description into the provided
* {@link SunflowAPI} object.
*
* @param filename filename to parse
* @param api scene to parse the file into
* @return true
upon success, or false
if errors
* have occurred.
*/
public boolean parse(String filename, SunflowAPIInterface api);
}