element HAnimHumanoid
diagram x3d-3.1_diagrams/x3d-3.1_p62.png
type extension of X3DChildNode
properties
content complex
children IS 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, referenceable 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 Cascading Style Sheets (CSS) and XML stylesheets.
bboxCenter  SFVec3f    0 0 0    
bboxSize  bboxSizeType    -1 -1 -1    
center  SFVec3f    0 0 0    
info  MFString        
name  xs:NMTOKEN        
appinfo
name attribute is ordinarily 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    
translation  SFVec3f    0 0 0    
version  hanimVersionChoices    1.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>
<!-- multiple fields added X3D version 4.0 -->
<xs:attribute name="additionalInterface" type="xs:string" default="X3DBoundedObject"/>
<xs:attribute name="componentName" type="componentNameChoices" 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>
     
<!-- multiple fields added X3D version 4.0 -->
     
<xs:attribute name="additionalInterface" type="xs:string" default="X3DBoundedObject"/>
     
<xs:attribute name="componentName" type="componentNameChoices" fixed="H-Anim"/>
     
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="1"/>
   
</xs:appinfo>
   
<xs:documentation source="https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/hanim.html#HAnimHumanoid"/>
   
<!-- H-Anim specification https://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="1">
           
<xs:annotation>
             
<xs:documentation>SFNode skinCoord</xs:documentation>
           
</xs:annotation>
           
<xs:element ref="Coordinate"/>
           
<xs:element ref="CoordinateDouble"/>
         
</xs:choice>
         
<xs:element ref="Normal" minOccurs="0" maxOccurs="1">
           
<xs:annotation>
             
<xs:documentation>SFNode skinNormal</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="bboxSizeType" default="-1 -1 -1"/>
       
<xs:attribute name="center" type="SFVec3f" default="0 0 0"/>
       
<xs:attribute name="info" type="MFString"/>
       
<xs:attribute name="name" type="xs:NMTOKEN">
         
<xs:annotation>
           
<xs:appinfo>name attribute is ordinarily required, unless this is a USE node</xs:appinfo>
           
<!-- Design note: cannot REQUIRE @name field or else USE nodes incorrectly fail to validate -->
           
<xs:documentation source="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NameTyping"/>
         
</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="translation" type="SFVec3f" default="0 0 0"/>
       
<xs:attribute name="version" type="hanimVersionChoices" default="1.0"/>
       
<xs:attribute name="containerField" type="xs:NMTOKEN" default="children"/>
     
</xs:extension>
     
<!-- 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 \s*(([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s+){2}([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s*
source <xs:attribute name="bboxCenter" type="SFVec3f" default="0 0 0"/>

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

attribute HAnimHumanoid/@center
type SFVec3f
properties
default 0 0 0
facets
Kind Value Annotation
whiteSpace collapse
pattern \s*(([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s+){2}([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s*
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/@name
type xs:NMTOKEN
annotation
appinfo
name attribute is ordinarily required, unless this is a USE node
source <xs:attribute name="name" type="xs:NMTOKEN">
 
<xs:annotation>
   
<xs:appinfo>name attribute is ordinarily required, unless this is a USE node</xs:appinfo>
   
<!-- Design note: cannot REQUIRE @name field or else USE nodes incorrectly fail to validate -->
   
<xs:documentation source="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NameTyping"/>
 
</xs:annotation>
</xs:attribute>

attribute HAnimHumanoid/@rotation
type SFRotation
properties
default 0 0 1 0
facets
Kind Value Annotation
whiteSpace collapse
pattern \s*(([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s+){3}([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s*
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 \s*(([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s+){2}([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s*
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 \s*(([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s+){3}([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s*
source <xs:attribute name="scaleOrientation" type="SFRotation" default="0 0 1 0"/>

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

attribute HAnimHumanoid/@version
type hanimVersionChoices
properties
default 1.0
facets
Kind Value Annotation
enumeration 1.0
appinfo

                        International standard HAnim 19774 version 1 approved by ISO in 2006. Note that HAnim version 2.0 has more capabilties, while version 1.0 includes several small incompatibilities.
                        Since no other versions were formally approved, no other values are allowed for earlier HAnim versions.
                   
enumeration 2.0
appinfo
Revised standard HAnim 19774 version 2 (parts 1 and 2) were approved by ISO in November 2019, published by Web3D Consortium May 2020.
source <xs:attribute name="version" type="hanimVersionChoices" default="1.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