Package com.io7m.smfj.format.obj
Class SMFOBJImporter
- java.lang.Object
-
- com.io7m.smfj.format.obj.SMFOBJImporter
-
- All Implemented Interfaces:
com.io7m.jobj.core.JOParserEventListenerType
,SMFOBJImporterType
,SMFParserSequentialType
,SMFParserType
,java.io.Closeable
,java.lang.AutoCloseable
public final class SMFOBJImporter extends java.lang.Object implements SMFOBJImporterType
The default implementation of theSMFOBJImporterType
interface.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
static SMFOBJImporterType
create(java.util.Optional<java.nio.file.Path> in_path, java.io.InputStream in_stream, SMFParserEventsType in_events)
Create a new OBJ importer.void
onCommandFFinished(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index)
void
onCommandFStarted(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index)
void
onCommandFVertexV(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index, int v)
void
onCommandFVertexV_VN(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index, int v, int vn)
void
onCommandFVertexV_VT(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index, int v, int vt)
void
onCommandFVertexV_VT_VN(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index, int v, int vt, int vn)
void
onCommandMtllib(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, java.lang.String name)
void
onCommandO(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, java.lang.String name)
void
onCommandS(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int group_number)
void
onCommandUsemtl(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, java.lang.String name)
void
onCommandV(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index, double x, double y, double z, double w)
void
onCommandVN(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index, double x, double y, double z)
void
onCommandVT(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index, double x, double y, double z)
void
onComment(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, java.lang.String text)
void
onEOF(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p)
void
onError(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, com.io7m.jobj.core.JOParserErrorCode e, java.lang.String message)
void
onFatalError(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, java.util.Optional<java.lang.Throwable> e, java.lang.String message)
void
onLine(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, java.lang.String line)
void
parse()
Begin parsing.
-
-
-
Method Detail
-
create
public static SMFOBJImporterType create(java.util.Optional<java.nio.file.Path> in_path, java.io.InputStream in_stream, SMFParserEventsType in_events)
Create a new OBJ importer.- Parameters:
in_path
- The path, if anyin_stream
- The input streamin_events
- An event receiver- Returns:
- A new importer
-
onFatalError
public void onFatalError(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, java.util.Optional<java.lang.Throwable> e, java.lang.String message)
- Specified by:
onFatalError
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
onError
public void onError(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, com.io7m.jobj.core.JOParserErrorCode e, java.lang.String message)
- Specified by:
onError
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
onLine
public void onLine(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, java.lang.String line)
- Specified by:
onLine
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
onEOF
public void onEOF(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p)
- Specified by:
onEOF
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
onComment
public void onComment(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, java.lang.String text)
- Specified by:
onComment
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
onCommandUsemtl
public void onCommandUsemtl(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, java.lang.String name)
- Specified by:
onCommandUsemtl
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
onCommandMtllib
public void onCommandMtllib(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, java.lang.String name)
- Specified by:
onCommandMtllib
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
onCommandO
public void onCommandO(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, java.lang.String name)
- Specified by:
onCommandO
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
onCommandS
public void onCommandS(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int group_number)
- Specified by:
onCommandS
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
onCommandV
public void onCommandV(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index, double x, double y, double z, double w)
- Specified by:
onCommandV
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
onCommandVN
public void onCommandVN(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index, double x, double y, double z)
- Specified by:
onCommandVN
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
onCommandVT
public void onCommandVT(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index, double x, double y, double z)
- Specified by:
onCommandVT
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
onCommandFVertexV_VT_VN
public void onCommandFVertexV_VT_VN(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index, int v, int vt, int vn)
- Specified by:
onCommandFVertexV_VT_VN
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
onCommandFVertexV_VT
public void onCommandFVertexV_VT(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index, int v, int vt)
- Specified by:
onCommandFVertexV_VT
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
onCommandFVertexV_VN
public void onCommandFVertexV_VN(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index, int v, int vn)
- Specified by:
onCommandFVertexV_VN
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
onCommandFVertexV
public void onCommandFVertexV(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index, int v)
- Specified by:
onCommandFVertexV
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
onCommandFStarted
public void onCommandFStarted(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index)
- Specified by:
onCommandFStarted
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
onCommandFFinished
public void onCommandFFinished(com.io7m.jlexing.core.LexicalPositionType<java.nio.file.Path> p, int index)
- Specified by:
onCommandFFinished
in interfacecom.io7m.jobj.core.JOParserEventListenerType
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
parse
public void parse()
Description copied from interface:SMFParserSequentialType
Begin parsing.- Specified by:
parse
in interfaceSMFParserSequentialType
-
-