element HAnimHumanoid
diagram x3d-4.0_diagrams/x3d-4.0_p89.png
type extension of X3DChildNode
properties
content complex
children IS MetadataBoolean MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString HAnimJoint HAnimSegment HAnimSite Group Transform Shape IndexedFaceSet Coordinate CoordinateDouble Normal ProtoInstance
used by
group ChildContentModelHumanoidAnimation
attributes
Name  Type  Use  Default  Fixed  Annotation
DEF  xs:ID        
appinfo

DEF defines a unique ID name for each node, referencable by other nodes.
USE  xs:IDREF        
appinfo

USE means reuse an already DEF-ed node ID, excluding all child nodes and all other attributes (except for containerField, which can have a different value).
class  xs:NMTOKENS        
appinfo

The class attribute is a space-separated list of classes, reserved for use by XML stylesheets.
bboxCenter  SFVec3f    0 0 0    
bboxSize  boundingBoxSizeType    -1 -1 -1    
center  SFVec3f    0 0 0    
info  MFString        
jointBindingPositions  MFVec3f    0 0 0    
jointBindingRotations  MFRotation    0 0 1 0    
jointBindingScales  MFVec3f    0 0 0    
loa  SFInt32    -1    
appinfo
<xs:minInclusive value="-1"/>
<xs:maxInclusive value="4"/>
name  xs:NMTOKEN        
appinfo
name attribute is required, unless this is a USE node
rotation  SFRotation    0 0 1 0    
scale  SFVec3f    1 1 1    
appinfo
<xs:minExclusive value="0"/>
scaleOrientation  SFRotation    0 0 1 0    
skeletalConfiguration  SFString    BASIC    
translation  SFVec3f    0 0 0    
version  hanimVersionValues    2.0    
containerField  xs:NMTOKEN    children    
annotation
appinfo
<xs:element name="joints" type="MFNode" fixed="inputOutputField" default="HAnimJoint"/>
<xs:element name="segments" type="MFNode" fixed="inputOutputField" default="HAnimSegment"/>
<xs:element name="sites" type="MFNode" fixed="inputOutputField" default="HAnimSite"/>
<xs:element name="skeleton" type="MFNode" fixed="inputOutputField" default="HAnimJoint|HAnimSite"/>
<xs:element name="skin" type="MFNode" fixed="inputOutputField" default="Group|Transform|Shape|IndexedFaceSet"/>
<xs:element name="skinCoord" type="SFNode" fixed="inputOutputField" default="X3DCoordinateNode"/>
<xs:element name="skinNormal" type="SFNode" fixed="inputOutputField" default="X3DNormalNode"/>
<xs:element name="viewpoints" type="MFNode" fixed="inputOutputField" default="HAnimSite">
<!-- viewpoints field does not contain Viewpoint nodes, rather contains HAnimSite/Viewpoint pairs -->
</xs:element>
<!-- X3D version 4.0 -->
<xs:element name="motions" type="MFNode" fixed="inputOutputField" default="HAnimMotion"/>
<xs:element name="skinBindingCoords" type="MFNode" fixed="inputOutputField" default="X3DCoordinateNode"/>
<xs:element name="skinBindingNormals" type="MFNode" fixed="inputOutputField" default="X3DNormalNode"/>
<xs:attribute name="additionalInterface" type="xs:string" default="X3DBoundedObject"/>
<xs:attribute name="componentName" type="xs:NMTOKEN" fixed="H-Anim"/>
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="1"/>
source <xs:element name="HAnimHumanoid">
 
<xs:annotation>
   
<xs:appinfo>
     
<xs:element name="joints" type="MFNode" fixed="inputOutputField" default="HAnimJoint"/>
     
<xs:element name="segments" type="MFNode" fixed="inputOutputField" default="HAnimSegment"/>
     
<xs:element name="sites" type="MFNode" fixed="inputOutputField" default="HAnimSite"/>
     
<xs:element name="skeleton" type="MFNode" fixed="inputOutputField" default="HAnimJoint|HAnimSite"/>
     
<xs:element name="skin" type="MFNode" fixed="inputOutputField" default="Group|Transform|Shape|IndexedFaceSet"/>
     
<xs:element name="skinCoord" type="SFNode" fixed="inputOutputField" default="X3DCoordinateNode"/>
     
<xs:element name="skinNormal" type="SFNode" fixed="inputOutputField" default="X3DNormalNode"/>
     
<xs:element name="viewpoints" type="MFNode" fixed="inputOutputField" default="HAnimSite">
       
<!-- viewpoints field does not contain Viewpoint nodes, rather contains HAnimSite/Viewpoint pairs -->
     
</xs:element>
     
<!-- X3D version 4.0 -->
     
<xs:element name="motions" type="MFNode" fixed="inputOutputField" default="HAnimMotion"/>
     
<xs:element name="skinBindingCoords" type="MFNode" fixed="inputOutputField" default="X3DCoordinateNode"/>
     
<xs:element name="skinBindingNormals" type="MFNode" fixed="inputOutputField" default="X3DNormalNode"/>
     
<xs:attribute name="additionalInterface" type="xs:string" default="X3DBoundedObject"/>
     
<xs:attribute name="componentName" type="xs:NMTOKEN" fixed="H-Anim"/>
     
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="1"/>
   
</xs:appinfo>
   
<xs:documentation source="http://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/hanim.html#HAnimHumanoid"/>
   
<!-- H-Anim specification http://www.web3d.org/documents/specifications/19774/V1.0/HAnim/ObjectInterfaces.html#Humanoid -->
 
</xs:annotation>
 
<xs:complexType>
   
<xs:complexContent>
     
<xs:extension base="X3DChildNode">
       
<xs:sequence minOccurs="0" maxOccurs="unbounded">
         
<xs:element ref="HAnimJoint" minOccurs="0" maxOccurs="unbounded">
           
<xs:annotation>
             
<xs:documentation>SFNode skeleton, or MFNode joints (USE nodes)</xs:documentation>
           
</xs:annotation>
         
</xs:element>
         
<xs:element ref="HAnimSegment" minOccurs="0" maxOccurs="unbounded">
           
<xs:annotation>
             
<xs:documentation>MFNode segments (USE nodes)</xs:documentation>
           
</xs:annotation>
         
</xs:element>
         
<xs:element ref="HAnimSite" minOccurs="0" maxOccurs="unbounded">
           
<xs:annotation>
             
<xs:documentation>SFNode skeleton, or MFNode sites/viewpoints (USE nodes)</xs:documentation>
           
</xs:annotation>
         
</xs:element>
         
<xs:choice minOccurs="0" maxOccurs="1">
           
<xs:annotation>
             
<xs:documentation>SFNode skin</xs:documentation>
           
</xs:annotation>
           
<xs:element ref="Group"/>
           
<xs:element ref="Transform"/>
           
<xs:element ref="Shape"/>
           
<xs:element ref="IndexedFaceSet"/>
           
<!-- TODO possibly add other indexed mesh nodes as alternatives here when Mantis comment is resolved -->
         
</xs:choice>
         
<xs:choice minOccurs="0" maxOccurs="unbounded">
           
<xs:annotation>
             
<xs:documentation>SFNode skinCoord and MFNode skinBindingCoords</xs:documentation>
           
</xs:annotation>
           
<xs:element ref="Coordinate"/>
           
<xs:element ref="CoordinateDouble"/>
         
</xs:choice>
         
<xs:element ref="Normal" minOccurs="0" maxOccurs="unbounded">
           
<xs:annotation>
             
<xs:documentation>SFNode skinNormal and MFNode skinBindingNormals</xs:documentation>
           
</xs:annotation>
         
</xs:element>
         
<xs:element ref="ProtoInstance" minOccurs="0" maxOccurs="unbounded">
           
<xs:annotation>
             
<xs:documentation>Appropriately typed substitution node</xs:documentation>
           
</xs:annotation>
         
</xs:element>
       
</xs:sequence>
       
<xs:attribute name="bboxCenter" type="SFVec3f" default="0 0 0"/>
       
<xs:attribute name="bboxSize" type="boundingBoxSizeType" default="-1 -1 -1"/>
       
<xs:attribute name="center" type="SFVec3f" default="0 0 0"/>
       
<xs:attribute name="info" type="MFString"/>
       
<xs:attribute name="jointBindingPositions" type="MFVec3f" default="0 0 0"/>
       
<xs:attribute name="jointBindingRotations" type="MFRotation" default="0 0 1 0"/>
       
<xs:attribute name="jointBindingScales" type="MFVec3f" default="0 0 0"/>
       
<xs:attribute name="loa" type="SFInt32" default="-1">
         
<xs:annotation>
           
<xs:appinfo>
             
<xs:minInclusive value="-1"/>
             
<xs:maxInclusive value="4"/>
           
</xs:appinfo>
         
</xs:annotation>
       
</xs:attribute>
       
<xs:attribute name="name" type="xs:NMTOKEN">
         
<xs:annotation>
           
<xs:appinfo>name attribute is required, unless this is a USE node </xs:appinfo>
           
<!-- Design note: cannot REQUIRE @name field or else USE nodes fail to validate -->
         
</xs:annotation>
       
</xs:attribute>
       
<xs:attribute name="rotation" type="SFRotation" default="0 0 1 0"/>
       
<xs:attribute name="scale" type="SFVec3f" default="1 1 1">
         
<xs:annotation>
           
<xs:appinfo>
             
<xs:minExclusive value="0"/>
           
</xs:appinfo>
         
</xs:annotation>
       
</xs:attribute>
       
<xs:attribute name="scaleOrientation" type="SFRotation" default="0 0 1 0"/>
       
<xs:attribute name="skeletalConfiguration" type="SFString" default="BASIC"/>
       
<xs:attribute name="translation" type="SFVec3f" default="0 0 0"/>
       
<xs:attribute name="version" type="hanimVersionValues" default="2.0"/>
       
<xs:attribute name="containerField" type="xs:NMTOKEN" default="children"/>
     
</xs:extension>
     
<!-- X3D version 4.0: jointBinding*, loa, motion -->
     
<!-- TODO when specification is revised:
<xs:attribute name="authorName" type="SFString"/>
<xs:attribute name="authorEmail" type="SFString"/>
<xs:attribute name="copyright" type="SFString"/>
<xs:attribute name="creationDate" type="SFString"/>
<xs:attribute name="usageRestrictions" type="SFString"/>
<xs:attribute name="humanoidVersion" type="SFString"/>
<xs:attribute name="age" type="SFString"/>
<xs:attribute name="gender" type="SFString"/>
<xs:attribute name="height" type="SFString"/>
<xs:attribute name="weight" type="SFString"/> -->
   
</xs:complexContent>
 
</xs:complexType>
</xs:element>

attribute HAnimHumanoid/@bboxCenter
type SFVec3f
properties
default 0 0 0
facets
Kind Value Annotation
whiteSpace collapse
pattern ((\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)? (\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)? (\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)?)?
source <xs:attribute name="bboxCenter" type="SFVec3f" default="0 0 0"/>

attribute HAnimHumanoid/@bboxSize
type boundingBoxSizeType
properties
default -1 -1 -1
facets
Kind Value Annotation
whiteSpace collapse
pattern (((\+)?([1-9][0-9]*(\.[0-9]*)?|(0?\.[0-9]*[1-9][0-9]*))((E|e)(\+|\-)?[0-9]+)? (\+)?([1-9][0-9]*(\.[0-9]*)?|(0?\.[0-9]*[1-9][0-9]*))((E|e)(\+|\-)?[0-9]+)? (\+)?([1-9][0-9]*(\.[0-9]*)?|(0?\.[0-9]*[1-9][0-9]*))((E|e)(\+|\-)?[0-9]+)?)|(\-1(\.(0)*)? \-1(\.(0)*)? \-1(\.(0)*)?))?
source <xs:attribute name="bboxSize" type="boundingBoxSizeType" default="-1 -1 -1"/>

attribute HAnimHumanoid/@center
type SFVec3f
properties
default 0 0 0
facets
Kind Value Annotation
whiteSpace collapse
pattern ((\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)? (\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)? (\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)?)?
source <xs:attribute name="center" type="SFVec3f" default="0 0 0"/>

attribute HAnimHumanoid/@info
type MFString
source <xs:attribute name="info" type="MFString"/>

attribute HAnimHumanoid/@jointBindingPositions
type MFVec3f
properties
default 0 0 0
facets
Kind Value Annotation
whiteSpace collapse
pattern ((\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)? (\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)? (\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)?( )?(,)?( )?)*
source <xs:attribute name="jointBindingPositions" type="MFVec3f" default="0 0 0"/>

attribute HAnimHumanoid/@jointBindingRotations
type MFRotation
properties
default 0 0 1 0
facets
Kind Value Annotation
whiteSpace collapse
pattern ((\+|\-)?(((\.[0-9]+|0(\.[0-9]*)?)((E|e)(\+|\-)?[0-9]+)?)|(1(\.[0]*)?((E|e)\-[0-9]+)?)|([1-9](\.[0-9]*)((E|e)\-[0-9]+))) (\+|\-)?(((\.[0-9]+|0(\.[0-9]*)?)((E|e)(\+|\-)?[0-9]+)?)|(1(\.[0]*)?((E|e)\-[0-9]+)?)|([1-9](\.[0-9]*)((E|e)\-[0-9]+))) (\+|\-)?(((\.[0-9]+|0(\.[0-9]*)?)((E|e)(\+|\-)?[0-9]+)?)|(1(\.[0]*)?((E|e)\-[0-9]+)?)|([1-9](\.[0-9]*)((E|e)\-[0-9]+))) (\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)?( )?(,)?( )?)*
source <xs:attribute name="jointBindingRotations" type="MFRotation" default="0 0 1 0"/>

attribute HAnimHumanoid/@jointBindingScales
type MFVec3f
properties
default 0 0 0
facets
Kind Value Annotation
whiteSpace collapse
pattern ((\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)? (\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)? (\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)?( )?(,)?( )?)*
source <xs:attribute name="jointBindingScales" type="MFVec3f" default="0 0 0"/>

attribute HAnimHumanoid/@loa
type SFInt32
properties
default -1
annotation
appinfo
<xs:minInclusive value="-1"/>
<xs:maxInclusive value="4"/>
source <xs:attribute name="loa" type="SFInt32" default="-1">
 
<xs:annotation>
   
<xs:appinfo>
     
<xs:minInclusive value="-1"/>
     
<xs:maxInclusive value="4"/>
   
</xs:appinfo>
 
</xs:annotation>
</xs:attribute>

attribute HAnimHumanoid/@name
type xs:NMTOKEN
annotation
appinfo
name attribute is required, unless this is a USE node
source <xs:attribute name="name" type="xs:NMTOKEN">
 
<xs:annotation>
   
<xs:appinfo>name attribute is required, unless this is a USE node </xs:appinfo>
   
<!-- Design note: cannot REQUIRE @name field or else USE nodes fail to validate -->
 
</xs:annotation>
</xs:attribute>

attribute HAnimHumanoid/@rotation
type SFRotation
properties
default 0 0 1 0
facets
Kind Value Annotation
whiteSpace collapse
pattern ((\+|\-)?(((\.[0-9]+|0(\.[0-9]*)?)((E|e)(\+|\-)?[0-9]+)?)|(1(\.[0]*)?((E|e)\-[0-9]+)?)|([1-9](\.[0-9]*)((E|e)\-[0-9]+))) (\+|\-)?(((\.[0-9]+|0(\.[0-9]*)?)((E|e)(\+|\-)?[0-9]+)?)|(1(\.[0]*)?((E|e)\-[0-9]+)?)|([1-9](\.[0-9]*)((E|e)\-[0-9]+))) (\+|\-)?(((\.[0-9]+|0(\.[0-9]*)?)((E|e)(\+|\-)?[0-9]+)?)|(1(\.[0]*)?((E|e)\-[0-9]+)?)|([1-9](\.[0-9]*)((E|e)\-[0-9]+))) (\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)?)?
source <xs:attribute name="rotation" type="SFRotation" default="0 0 1 0"/>

attribute HAnimHumanoid/@scale
type SFVec3f
properties
default 1 1 1
facets
Kind Value Annotation
whiteSpace collapse
pattern ((\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)? (\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)? (\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)?)?
annotation
appinfo
<xs:minExclusive value="0"/>
source <xs:attribute name="scale" type="SFVec3f" default="1 1 1">
 
<xs:annotation>
   
<xs:appinfo>
     
<xs:minExclusive value="0"/>
   
</xs:appinfo>
 
</xs:annotation>
</xs:attribute>

attribute HAnimHumanoid/@scaleOrientation
type SFRotation
properties
default 0 0 1 0
facets
Kind Value Annotation
whiteSpace collapse
pattern ((\+|\-)?(((\.[0-9]+|0(\.[0-9]*)?)((E|e)(\+|\-)?[0-9]+)?)|(1(\.[0]*)?((E|e)\-[0-9]+)?)|([1-9](\.[0-9]*)((E|e)\-[0-9]+))) (\+|\-)?(((\.[0-9]+|0(\.[0-9]*)?)((E|e)(\+|\-)?[0-9]+)?)|(1(\.[0]*)?((E|e)\-[0-9]+)?)|([1-9](\.[0-9]*)((E|e)\-[0-9]+))) (\+|\-)?(((\.[0-9]+|0(\.[0-9]*)?)((E|e)(\+|\-)?[0-9]+)?)|(1(\.[0]*)?((E|e)\-[0-9]+)?)|([1-9](\.[0-9]*)((E|e)\-[0-9]+))) (\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)?)?
source <xs:attribute name="scaleOrientation" type="SFRotation" default="0 0 1 0"/>

attribute HAnimHumanoid/@skeletalConfiguration
type SFString
properties
default BASIC
source <xs:attribute name="skeletalConfiguration" type="SFString" default="BASIC"/>

attribute HAnimHumanoid/@translation
type SFVec3f
properties
default 0 0 0
facets
Kind Value Annotation
whiteSpace collapse
pattern ((\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)? (\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)? (\+|\-)?(0|[1-9][0-9]*)?(\.[0-9]*)?((E|e)(\+|\-)?[0-9]+)?)?
source <xs:attribute name="translation" type="SFVec3f" default="0 0 0"/>

attribute HAnimHumanoid/@version
type hanimVersionValues
properties
default 2.0
facets
Kind Value Annotation
enumeration 1.0
appinfo
International standard HAnim 19774 version 1 approved by ISO in 2006.
enumeration 1.1
appinfo
International standard HAnim 19774 version 1 amendment.
enumeration 2.0
appinfo
Draft revision standard HAnim 19774 version 2 under review by ISO in 2018.
source <xs:attribute name="version" type="hanimVersionValues" default="2.0"/>

attribute HAnimHumanoid/@containerField
type xs:NMTOKEN
properties
default children
source <xs:attribute name="containerField" type="xs:NMTOKEN" default="children"/>


XML Schema documentation generated by XMLSpy Schema Editor http://www.altova.com/xmlspy