Xj3D VRML/X3D Code API

org.web3d.vrml.export
Class X3DBinarySerializer

java.lang.Object
  extended byorg.web3d.vrml.export.X3DBinarySerializer

public class X3DBinarySerializer
extends java.lang.Object

Serializes an X3D XML encoded document into an X3D binary document. TODO: Stats collection for non builtins isn't written TODO: proto and script fields are encoded as strings

Version:
Author:
Alan Hudson

Nested Class Summary
 class X3DBinarySerializer.X3DFilter
           
 
Field Summary
protected static int BYTE_ALGORITHM_ID
           
protected static int DELTA_ZLIB_INT_ARRAY_ALGORITHM_ID
           
protected static java.lang.String EXTERNAL_VOCABULARY_URI_STRING
           
protected static java.lang.String LOAD_DTD_ID
           
static int METHOD_FASTEST_PARSING
           
static int METHOD_SMALLEST_LOSSY
           
static int METHOD_SMALLEST_NONLOSSY
           
static int METHOD_STRINGS
           
protected  CRProtoCreator protoCreator
          The creator used to instantiate protos
protected static int QUANTIZED_ZLIB_FLOAT_ARRAY_ALGORITHM_ID
           
protected  VRMLWorldRootNodeType root
          Root node used for proto creation
protected static java.lang.String SCHEMA_VALIDATION_FEATURE_ID
           
protected static java.lang.String VALIDATION_FEATURE_ID
           
 
Constructor Summary
X3DBinarySerializer(int compMethod, boolean rd, float lossParam)
          Creates a new instance of X3DSerializer
 
Method Summary
 void encodeField(int fieldType, java.lang.String name, java.lang.String qName, java.lang.String value, AttributesHolder aholder, VRMLFieldData field)
           
 void setProtoMap(java.util.Map protoMap)
          Set the map of node names to prototype decl.
 void writeFiltered(java.io.InputStream input, java.io.OutputStream output)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

METHOD_FASTEST_PARSING

public static final int METHOD_FASTEST_PARSING
See Also:
Constant Field Values

METHOD_SMALLEST_NONLOSSY

public static final int METHOD_SMALLEST_NONLOSSY
See Also:
Constant Field Values

METHOD_SMALLEST_LOSSY

public static final int METHOD_SMALLEST_LOSSY
See Also:
Constant Field Values

METHOD_STRINGS

public static final int METHOD_STRINGS
See Also:
Constant Field Values

BYTE_ALGORITHM_ID

protected static final int BYTE_ALGORITHM_ID
See Also:
Constant Field Values

DELTA_ZLIB_INT_ARRAY_ALGORITHM_ID

protected static final int DELTA_ZLIB_INT_ARRAY_ALGORITHM_ID
See Also:
Constant Field Values

QUANTIZED_ZLIB_FLOAT_ARRAY_ALGORITHM_ID

protected static final int QUANTIZED_ZLIB_FLOAT_ARRAY_ALGORITHM_ID
See Also:
Constant Field Values

EXTERNAL_VOCABULARY_URI_STRING

protected static final java.lang.String EXTERNAL_VOCABULARY_URI_STRING
See Also:
Constant Field Values

VALIDATION_FEATURE_ID

protected static final java.lang.String VALIDATION_FEATURE_ID
See Also:
Constant Field Values

SCHEMA_VALIDATION_FEATURE_ID

protected static final java.lang.String SCHEMA_VALIDATION_FEATURE_ID
See Also:
Constant Field Values

LOAD_DTD_ID

protected static final java.lang.String LOAD_DTD_ID
See Also:
Constant Field Values

protoCreator

protected CRProtoCreator protoCreator
The creator used to instantiate protos


root

protected VRMLWorldRootNodeType root
Root node used for proto creation

Constructor Detail

X3DBinarySerializer

public X3DBinarySerializer(int compMethod,
                           boolean rd,
                           float lossParam)
Creates a new instance of X3DSerializer

Parameters:
compMethod - What method to use
rd - Should we remove defaults
lossParam - maximum loss for lossy compression
Method Detail

setProtoMap

public void setProtoMap(java.util.Map protoMap)
Set the map of node names to prototype decl. This will only have the top level protos. Nested proto's will not have field type information for encoding.

Parameters:
protoMap - The top level proto map

writeFiltered

public void writeFiltered(java.io.InputStream input,
                          java.io.OutputStream output)

encodeField

public void encodeField(int fieldType,
                        java.lang.String name,
                        java.lang.String qName,
                        java.lang.String value,
                        AttributesHolder aholder,
                        VRMLFieldData field)

Xj3D VRML/X3D Code API

Copyright © 2001 - 2005 Web3D Consortium