Package org.sunflow.core.parser
Class SCParser
- java.lang.Object
-
- org.sunflow.core.parser.SCParser
-
- All Implemented Interfaces:
SceneParser
public class SCParser extends java.lang.Object implements SceneParser
This class provides a static method for loading files in the Sunflow scene file format.
-
-
Field Summary
Fields Modifier and Type Field Description private static int
instanceCounter
private int
instanceNumber
private int
numLightSamples
private java.util.HashMap<java.lang.String,java.lang.Integer>
objectNames
private Parser
p
-
Constructor Summary
Constructors Constructor Description SCParser()
-
Method Summary
-
-
-
Field Detail
-
instanceCounter
private static int instanceCounter
-
instanceNumber
private int instanceNumber
-
p
private Parser p
-
numLightSamples
private int numLightSamples
-
objectNames
private java.util.HashMap<java.lang.String,java.lang.Integer> objectNames
-
-
Method Detail
-
generateUniqueName
private java.lang.String generateUniqueName(java.lang.String prefix)
-
parse
public boolean parse(java.lang.String filename, SunflowAPIInterface api)
Description copied from interface:SceneParser
Parse the specified file to create a scene description into the providedSunflowAPI
object.- Specified by:
parse
in interfaceSceneParser
- Parameters:
filename
- filename to parseapi
- scene to parse the file into- Returns:
true
upon sucess, orfalse
if errors have occured.
-
parseImageBlock
private void parseImageBlock(SunflowAPIInterface api) throws java.io.IOException, Parser.ParserException
- Throws:
java.io.IOException
Parser.ParserException
-
parseBackgroundBlock
private void parseBackgroundBlock(SunflowAPIInterface api) throws java.io.IOException, Parser.ParserException, ColorFactory.ColorSpecificationException
- Throws:
java.io.IOException
Parser.ParserException
ColorFactory.ColorSpecificationException
-
parseFilter
private void parseFilter(SunflowAPIInterface api) throws java.io.IOException, Parser.ParserException
- Throws:
java.io.IOException
Parser.ParserException
-
parsePhotonBlock
private void parsePhotonBlock(SunflowAPIInterface api) throws Parser.ParserException, java.io.IOException
- Throws:
Parser.ParserException
java.io.IOException
-
parseGIBlock
private void parseGIBlock(SunflowAPIInterface api) throws Parser.ParserException, java.io.IOException, ColorFactory.ColorSpecificationException
- Throws:
Parser.ParserException
java.io.IOException
ColorFactory.ColorSpecificationException
-
parseLightserverBlock
private void parseLightserverBlock(SunflowAPIInterface api) throws Parser.ParserException, java.io.IOException
- Throws:
Parser.ParserException
java.io.IOException
-
parseTraceBlock
private void parseTraceBlock(SunflowAPIInterface api) throws Parser.ParserException, java.io.IOException
- Throws:
Parser.ParserException
java.io.IOException
-
parseCamera
private void parseCamera(SunflowAPIInterface api) throws Parser.ParserException, java.io.IOException
- Throws:
Parser.ParserException
java.io.IOException
-
parseCameraTransform
private void parseCameraTransform(SunflowAPIInterface api) throws Parser.ParserException, java.io.IOException
- Throws:
Parser.ParserException
java.io.IOException
-
parseCameraMatrix
private void parseCameraMatrix(int index, SunflowAPIInterface api) throws java.io.IOException, Parser.ParserException
- Throws:
java.io.IOException
Parser.ParserException
-
parseShader
private boolean parseShader(SunflowAPIInterface api) throws Parser.ParserException, java.io.IOException, ColorFactory.ColorSpecificationException
- Throws:
Parser.ParserException
java.io.IOException
ColorFactory.ColorSpecificationException
-
parseModifier
private boolean parseModifier(SunflowAPIInterface api) throws Parser.ParserException, java.io.IOException
- Throws:
Parser.ParserException
java.io.IOException
-
parseObjectBlock
private void parseObjectBlock(SunflowAPIInterface api) throws Parser.ParserException, java.io.IOException
- Throws:
Parser.ParserException
java.io.IOException
-
parseInstanceBlock
private void parseInstanceBlock(SunflowAPIInterface api) throws Parser.ParserException, java.io.IOException
- Throws:
Parser.ParserException
java.io.IOException
-
parseLightBlock
private void parseLightBlock(SunflowAPIInterface api) throws Parser.ParserException, java.io.IOException, ColorFactory.ColorSpecificationException
- Throws:
Parser.ParserException
java.io.IOException
ColorFactory.ColorSpecificationException
-
parseColor
private Color parseColor() throws java.io.IOException, Parser.ParserException, ColorFactory.ColorSpecificationException
- Throws:
java.io.IOException
Parser.ParserException
ColorFactory.ColorSpecificationException
-
parsePoint
private Point3 parsePoint() throws java.io.IOException
- Throws:
java.io.IOException
-
parseVector
private Vector3 parseVector() throws java.io.IOException
- Throws:
java.io.IOException
-
parseIntArray
private int[] parseIntArray(int size) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFloatArray
private float[] parseFloatArray(int size) throws java.io.IOException
- Throws:
java.io.IOException
-
parseMatrix
private Matrix4 parseMatrix() throws java.io.IOException, Parser.ParserException
- Throws:
java.io.IOException
Parser.ParserException
-
-