Class SMFB2Serializer
- java.lang.Object
-
- com.io7m.smfj.format.binary2.internal.SMFB2Serializer
-
- All Implemented Interfaces:
SMFSerializerType,java.io.Closeable,java.lang.AutoCloseable
public final class SMFB2Serializer extends java.lang.Object implements SMFSerializerType
-
-
Constructor Summary
Constructors Constructor Description SMFB2Serializer(SMFFormatVersion inVersion, com.io7m.jbssio.api.BSSWriterSequentialType inWriter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidserializeHeader(SMFHeader header)Serialize the header data.voidserializeMetadata(SMFSchemaIdentifier schema, byte[] data)Serialize one item of metadata.SMFSerializerDataTrianglesTypeserializeTrianglesStart()Start serializing triangles.SMFSerializerDataAttributesNonInterleavedTypeserializeVertexDataNonInterleavedStart()Start serializing non-interleaved vertex data.
-
-
-
Constructor Detail
-
SMFB2Serializer
public SMFB2Serializer(SMFFormatVersion inVersion, com.io7m.jbssio.api.BSSWriterSequentialType inWriter)
-
-
Method Detail
-
serializeHeader
public void serializeHeader(SMFHeader header) throws java.lang.IllegalStateException, java.io.IOException
Description copied from interface:SMFSerializerTypeSerialize the header data.
- Specified by:
serializeHeaderin interfaceSMFSerializerType- Parameters:
header- The header- Throws:
java.lang.IllegalStateException- If the header has already been serializedjava.io.IOException- On I/O errors
-
serializeVertexDataNonInterleavedStart
public SMFSerializerDataAttributesNonInterleavedType serializeVertexDataNonInterleavedStart() throws java.lang.IllegalStateException, java.io.IOException
Description copied from interface:SMFSerializerTypeStart serializing non-interleaved vertex data.
If the method raises an exception, the serializer is considered to have failed and all subsequent method calls will raise
IllegalArgumentException.- Specified by:
serializeVertexDataNonInterleavedStartin interfaceSMFSerializerType- Returns:
- A serializer for non-interleaved vertex data values
- Throws:
java.lang.IllegalStateException- If the header has not yet been serializedjava.io.IOException- On I/O errors
-
serializeTrianglesStart
public SMFSerializerDataTrianglesType serializeTrianglesStart() throws java.lang.IllegalStateException, java.io.IOException
Description copied from interface:SMFSerializerTypeStart serializing triangles.
- Specified by:
serializeTrianglesStartin interfaceSMFSerializerType- Returns:
- A serializer for triangles
- Throws:
java.lang.IllegalStateException- If the header has not yet been serializedjava.io.IOException- On I/O errors
-
serializeMetadata
public void serializeMetadata(SMFSchemaIdentifier schema, byte[] data) throws java.lang.IllegalStateException, java.io.IOException
Description copied from interface:SMFSerializerTypeSerialize one item of metadata.
- Specified by:
serializeMetadatain interfaceSMFSerializerType- Parameters:
schema- The schema IDdata- The data- Throws:
java.lang.IllegalStateException- If the header has not yet been serializedjava.io.IOException- On I/O errors
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
-