hmi.graphics.collada
Class Source

java.lang.Object
  extended by hmi.xml.XMLStructureAdapter
      extended by hmi.graphics.collada.ColladaElement
          extended by hmi.graphics.collada.Source
All Implemented Interfaces:
XMLStructure

public class Source
extends ColladaElement

A Collada Source defines an Accessor to some data array, like a FloatArray or IntArray, and usually includes that data array. It provides access to a "homogeneous" version of that data, i.e. a simple Java array, without offset or strides. This data corrsponds to the (named) fields specified in the Accessor.

Author:
Job Zwiers

Field Summary
private  BoolArray boolArray
           
private  FloatArray floatArray
           
private  IDREFArray idrefArray
           
private  IntArray intArray
           
private  NameArray nameArray
           
private  TechniqueCommonSource techniqueCommon
           
private  ArrayList<TechniqueCore> techniques
           
private static String XMLTAG
           
 
Fields inherited from class hmi.graphics.collada.ColladaElement
COLLADANAMESPACE
 
Fields inherited from class hmi.xml.XMLStructureAdapter
ATTRIBUTE_TOKEN_DELIMITERS, COMMA_SEPARATOR, DECODEDARRAYSIZE, DEFAULT_RECOVER_MODE, NEWLINE, SYSTEMNEWLINE, TAB, TAB_STRING
 
Constructor Summary
Source()
          default constructor
Source(Collada collada, XMLTokenizer tokenizer)
          creates a new Collada Source object, and reconstructs it from XML.
 
Method Summary
 StringBuilder appendContent(StringBuilder buf, XMLFormatting fmt)
          Appends a String to buf that encodes the contents for the XML encoding.
 void decodeContent(XMLTokenizer tokenizer)
          decodes the XML contents, i.e. the XML between the STag and ETag of the encoding.
 Accessor getAccessor()
          returns the (resolved) Accessor from the Technique(_Common) child
 boolean[] getHomogeneousBoolData()
          Like getHomogeneousFloatData, but accesses BoolArray data
 float[] getHomogeneousFloatData()
          returns the float data from from the Collada FloatArray in a Java float array, as specified by the Accessor of this Source.
 float[] getHomogeneousFloatData(String[] fieldNames)
          returns the float data from from the Collada FloatArray in a Java float array, as specified by the Accessor of this Source.
 String[] getHomogeneousIDREFData()
          Like getHomogeneousFloatData, but accesses IDREFArray data
 int[] getHomogeneousIntData()
          Like getHomogeneousFloatData, but accesses IntArray data
 int[] getHomogeneousIntData(String[] fieldNames)
          Like getHomogeneousFloatData, but accesses IntArray data
 String[] getHomogeneousNameData()
          Like getHomogeneousFloatData, but accesses NameArray data
 int getNrOfNamedParams()
          Returns the number of named parameters, as specified by the Accessor for this Source.
 String getXMLTag()
          returns the XML Stag for XML encoding
 void resolve()
          method that should be called in order to resolve the source data array, before the accessor can be used to actually access data.
static String xmlTag()
          The XML Stag for XML encoding
 
Methods inherited from class hmi.graphics.collada.ColladaElement
addColladaNode, addColladaNodes, addToIdMap, appendAttributes, decodeAttributes, getCollada, getColladaNodes, getId, getIdMap, getIdOrName, getIds, getName, getNamespace, getRecursiveColladaNodes, getRecursiveColladaNodes, getResources, getSid, report, reportNode, setCollada, setId, setName, setSid, urlToId
 
Methods inherited from class hmi.xml.XMLStructureAdapter
appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttribute, appendAttributes, appendAttributeString, appendAttributeString, appendBooleans, appendCloseEmptyTag, appendCloseSTag, appendComment, appendContent, appendDoubleElement, appendEmptyTag, appendEmptyTag, appendEmptyTag, appendEmptyTag, appendEmptyTag, appendEmptyTag, appendETag, appendETag, appendFloatArrayElement, appendFloatElement, appendFloats, appendIntArrayElement, appendIntElement, appendInts, appendLongElement, appendNewLine, appendNewLine, appendNewLine, appendOpenSTag, appendOptionalDoubleElement, appendOptionalFloatElement, appendOptionalIntElement, appendOptionalLongElement, appendSpaces, appendSpaces, appendSTag, appendSTag, appendSTag, appendStringArrayElement, appendStrings, appendSystemNewLine, appendTab, appendTextElement, appendXML, appendXML, appendXML, appendXML, appendXML, appendXMLStructure, appendXMLStructureList, appendXMLTextElementList, countTokens, countTokens, decodeAttribute, decodeAttribute, decodeBoolean, decodeBooleanArray, decodeBooleanArray, decodeBooleanArray, decodeBooleanArray, decodeDouble, decodeDoubleArray, decodeDoubleArray, decodeDoubleArray, decodeDoubleArray, decodeFloat, decodeFloatArray, decodeFloatArray, decodeFloatArray, decodeFloatArray, decodeInt, decodeIntArray, decodeIntArray, decodeIntArray, decodeIntArray, decodeLong, decodeStringArray, decodeStringArray, decodeStringArray, decodeStringArray, decodeXMLStructureList, decodeXMLValueElement, getOptionalAttribute, getOptionalAttribute, getOptionalBooleanAttribute, getOptionalDoubleAttribute, getOptionalFloatAttribute, getOptionalIntAttribute, getOptionalLongAttribute, getRequiredAttribute, getRequiredBooleanAttribute, getRequiredDoubleAttribute, getRequiredFloatAttribute, getRequiredIntAttribute, getRequiredLongAttribute, getTagLine, hasContent, parseXMLElement, postProcess, preProcess, readXML, readXML, readXML, setConsoleAttributeEnabled, setDefaultRecoverMode, setRecoverMode, spaces, toString, toXMLString, toXMLString, toXMLString, toXMLString, toXMLString, toXMLString, writeXML, writeXML, writeXML, writeXML
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

techniqueCommon

private TechniqueCommonSource techniqueCommon

techniques

private ArrayList<TechniqueCore> techniques

floatArray

private FloatArray floatArray

intArray

private IntArray intArray

boolArray

private BoolArray boolArray

nameArray

private NameArray nameArray

idrefArray

private IDREFArray idrefArray

XMLTAG

private static final String XMLTAG
See Also:
Constant Field Values
Constructor Detail

Source

public Source()
default constructor


Source

public Source(Collada collada,
              XMLTokenizer tokenizer)
       throws IOException
creates a new Collada Source object, and reconstructs it from XML.

Throws:
IOException
Method Detail

resolve

public void resolve()
method that should be called in order to resolve the source data array, before the accessor can be used to actually access data.


getAccessor

public Accessor getAccessor()
returns the (resolved) Accessor from the Technique(_Common) child


getNrOfNamedParams

public int getNrOfNamedParams()
Returns the number of named parameters, as specified by the Accessor for this Source.


getHomogeneousFloatData

public float[] getHomogeneousFloatData(String[] fieldNames)
returns the float data from from the Collada FloatArray in a Java float array, as specified by the Accessor of this Source. See the description of Accessor.getHomogeneousFloatData()


getHomogeneousFloatData

public float[] getHomogeneousFloatData()
returns the float data from from the Collada FloatArray in a Java float array, as specified by the Accessor of this Source. See the description of Accessor.getHomogeneousFloatData()


getHomogeneousIntData

public int[] getHomogeneousIntData(String[] fieldNames)
Like getHomogeneousFloatData, but accesses IntArray data


getHomogeneousIntData

public int[] getHomogeneousIntData()
Like getHomogeneousFloatData, but accesses IntArray data


getHomogeneousBoolData

public boolean[] getHomogeneousBoolData()
Like getHomogeneousFloatData, but accesses BoolArray data


getHomogeneousNameData

public String[] getHomogeneousNameData()
Like getHomogeneousFloatData, but accesses NameArray data


getHomogeneousIDREFData

public String[] getHomogeneousIDREFData()
Like getHomogeneousFloatData, but accesses IDREFArray data


appendContent

public StringBuilder appendContent(StringBuilder buf,
                                   XMLFormatting fmt)
Description copied from class: XMLStructureAdapter
Appends a String to buf that encodes the contents for the XML encoding. MUST BE OVERWRITTEN BY IMPLEMENTATIONS. (The default implementation appends nothing). The encoding should start on a new line, using indentation equal to tab. There should be no newline after the encoding.

Overrides:
appendContent in class XMLStructureAdapter

decodeContent

public void decodeContent(XMLTokenizer tokenizer)
                   throws IOException
Description copied from class: XMLStructureAdapter
decodes the XML contents, i.e. the XML between the STag and ETag of the encoding. MUST BE OVERWRITTEN BY IMPLEMENTATIONS.

Overrides:
decodeContent in class XMLStructureAdapter
Throws:
IOException

xmlTag

public static String xmlTag()
The XML Stag for XML encoding


getXMLTag

public String getXMLTag()
returns the XML Stag for XML encoding

Specified by:
getXMLTag in interface XMLStructure
Overrides:
getXMLTag in class XMLStructureAdapter