hmi.physics.assembler
Class PhysicalSegmentAssembler

java.lang.Object
  extended by hmi.xml.XMLStructureAdapter
      extended by hmi.physics.assembler.PhysicalSegmentAssembler
All Implemented Interfaces:
XMLStructure

public class PhysicalSegmentAssembler
extends XMLStructureAdapter

Sets up PhysicalSegment and the connection to the VObject that is steered by the PhysicalSegment

Author:
welberge

Field Summary
 ArrayList<VJoint> endJoints
           
private  VJoint human
           
private  boolean isRoot
           
private  org.slf4j.Logger logger
           
private  PhysicalHumanoid pHuman
           
 PhysicalSegment segment
           
 VJoint startJoint
           
 
Fields inherited from class hmi.xml.XMLStructureAdapter
ATTRIBUTE_TOKEN_DELIMITERS, COMMA_SEPARATOR, DECODEDARRAYSIZE, DEFAULT_RECOVER_MODE, NEWLINE, SYSTEMNEWLINE, TAB, TAB_STRING
 
Constructor Summary
PhysicalSegmentAssembler(VJoint h, PhysicalHumanoid ph, PhysicalSegment seg)
          Create a PhysicalSegment
 
Method Summary
 StringBuilder appendAttributeString(StringBuilder buf)
          Appends a String to buf that encodes the attributes for the XML encoding.
 StringBuilder appendContent(StringBuilder buf, XMLFormatting fmt)
          Appends a String to buf that encodes the contents for the XML encoding.
 void createFromGNode(String phID, GNode rootNode, String jointName, String[] joints, String[] endJ)
           
 boolean decodeAttribute(String attrName, String attrValue)
          decodes the value from an attribute value String returns true if successful, returns false for attribute names that are not recognized.
 boolean decodeAttribute(String attrName, String attrValue, XMLTokenizer tokenizer)
          decodes the value from an attribute value String returns true if succesful, returns false for attribute names that are not recognized.
 void decodeContent(XMLTokenizer tokenizer)
          decodes the XML contents, i.e. the XML between the STag and ETag of the encoding.
private  void findEndJoints(VJoint start, String[] joints, String[] ej)
           
private  void findJoints(VJoint start, String[] jointNames, String[] endJoints, ArrayList<VJoint> joints)
           
private  void findNodes(GNode rootNode, ArrayList<GNode> nodes, ArrayList<VJoint> segmentJoints)
           
 String getXMLTag()
          returns the XML tag that is used to encode this type of XMLStructure.
 boolean isRoot()
           
 void setRoot(boolean isRoot)
           
 String toString()
          the default toString() method returns the result of toXMLSTring()
 
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, appendAttributes, 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, decodeAttributes, 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, getNamespace, 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, toXMLString, toXMLString, toXMLString, toXMLString, toXMLString, toXMLString, writeXML, writeXML, writeXML, writeXML, xmlTag
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

startJoint

public VJoint startJoint

human

private VJoint human

segment

public PhysicalSegment segment

endJoints

public ArrayList<VJoint> endJoints

isRoot

private boolean isRoot

pHuman

private PhysicalHumanoid pHuman

logger

private org.slf4j.Logger logger
Constructor Detail

PhysicalSegmentAssembler

public PhysicalSegmentAssembler(VJoint h,
                                PhysicalHumanoid ph,
                                PhysicalSegment seg)
Create a PhysicalSegment

Parameters:
h - humanoid
seg - segment
Method Detail

toString

public String toString()
Description copied from class: XMLStructureAdapter
the default toString() method returns the result of toXMLSTring()

Overrides:
toString in class XMLStructureAdapter

findEndJoints

private void findEndJoints(VJoint start,
                           String[] joints,
                           String[] ej)

findJoints

private void findJoints(VJoint start,
                        String[] jointNames,
                        String[] endJoints,
                        ArrayList<VJoint> joints)

findNodes

private void findNodes(GNode rootNode,
                       ArrayList<GNode> nodes,
                       ArrayList<VJoint> segmentJoints)

createFromGNode

public void createFromGNode(String phID,
                            GNode rootNode,
                            String jointName,
                            String[] joints,
                            String[] endJ)

decodeAttribute

public boolean decodeAttribute(String attrName,
                               String attrValue)
decodes the value from an attribute value String returns true if successful, returns false for attribute names that are not recognized. Might throw a RuntimeException when an attribute has been recognized, but is ill formatted.

Overrides:
decodeAttribute in class XMLStructureAdapter

decodeAttribute

public boolean decodeAttribute(String attrName,
                               String attrValue,
                               XMLTokenizer tokenizer)
decodes the value from an attribute value String returns true if succesful, returns false for attribute names that are not recognized. Might throw a RuntimeException when an attribute has been recognized, but is ill formatted. Moreover, an XMLTokenizer reference is available which can be queried for attributes, like getTokenLine() or getTokenCharPos(), which might be helpful to produce error messages referring to lines/positions within the XML document

Overrides:
decodeAttribute in class XMLStructureAdapter

decodeContent

public void decodeContent(XMLTokenizer tokenizer)
                   throws IOException
decodes the XML contents, i.e. the XML between the STag and ETag of the encoding.

Overrides:
decodeContent in class XMLStructureAdapter
Throws:
IOException

appendContent

public StringBuilder appendContent(StringBuilder buf,
                                   XMLFormatting fmt)
Appends a String to buf that encodes the contents for the XML encoding. 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

appendAttributeString

public StringBuilder appendAttributeString(StringBuilder buf)
Appends a String to buf that encodes the attributes for the XML encoding. When non empty, the attribute string should start with a space character. Hint: call the appendAttribute(StringBuffer buf, String attrName, String attrValue) for every relevant attribute; this takes care of the leading space as well as spaces in between the attributes) The encoding should preferably not add newline characters.

Overrides:
appendAttributeString in class XMLStructureAdapter

getXMLTag

public String getXMLTag()
returns the XML tag that is used to encode this type of XMLStructure.

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

isRoot

public boolean isRoot()

setRoot

public void setRoot(boolean isRoot)