element HAnimHumanoid
diagram x3d-4.0_diagrams/x3d-4.0_p101.png
type extension of X3DChildNode
properties
content complex
children IS MetadataBoolean MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString HAnimJoint HAnimSegment HAnimSite HAnimMotion Shape Group LOD Switch Transform IndexedFaceSet IndexedLineSet IndexedQuadSet IndexedTriangleFanSet IndexedTriangleSet IndexedTriangleStripSet 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.
                    This attribute is only functional if the X3D model is loaded within an HTML page.
               
id  xs:NMTOKEN        
appinfo

                    The id attribute is a unique identifier, reserved for use by HTML5/DOM pages, independent of DEF labeling and internal X3D node referencing.
                    This attribute is only functional if the X3D model is loaded within an HTML page.
               
style  SFString        
appinfo

                    The style attribute provides an inline block of CSS for element styling, reserved for use by Cascading Style Sheets (CSS) and XML stylesheets.
                    This attribute is only functional if the X3D model is loaded within an HTML page.
               
bboxCenter  SFVec3f    0 0 0    
bboxSize  bboxSizeType    -1 -1 -1    
bboxDisplay  SFBool    false    
visible  SFBool    true    
center  SFVec3f    0 0 0    
info  MFString        
description  SFString        
appinfo
added in X3D version 4
jointBindingPositions  MFVec3f        
jointBindingRotations  MFRotation        
jointBindingScales  MFVec3f    <empty>    
loa  loaType    -1    
motionsEnabled  MFBool        
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    
skeletalConfiguration  SFString    BASIC    
translation  SFVec3f    0 0 0    
version  hanimVersionChoices    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="Coordinate|CoordinateDouble"/>
<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>
<xs:element name="motions" type="MFNode" fixed="inputOutputField" default="HAnimMotion"/>
<xs:element name="skinBindingCoords" type="SFNode" fixed="inputOutputField" default="Coordinate|CoordinateDouble"/>
<xs:element name="skinBindingNormals" type="SFNode" fixed="inputOutputField" default="X3DNormalNode"/>
<xs:attribute name="additionalInterface" type="xs:string" default="X3DBoundedObject"/>
<xs:attribute name="componentName" type="componentNameChoices" fixed="HAnim"/>
<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="Coordinate|CoordinateDouble"/>
     
<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>
     
<xs:element name="motions" type="MFNode" fixed="inputOutputField" default="HAnimMotion"/>
     
<xs:element name="skinBindingCoords" type="SFNode" fixed="inputOutputField" default="Coordinate|CoordinateDouble"/>
     
<xs:element name="skinBindingNormals" type="SFNode" fixed="inputOutputField" default="X3DNormalNode"/>
     
<xs:attribute name="additionalInterface" type="xs:string" default="X3DBoundedObject"/>
     
<xs:attribute name="componentName" type="componentNameChoices" fixed="HAnim"/>
     
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="1"/>
   
</xs:appinfo>
   
<xs:documentation source="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/hanim.html#HAnimHumanoid"/>
   
<!-- HAnim specification https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/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:element ref="HAnimMotion" minOccurs="0" maxOccurs="unbounded">
           
<xs:annotation>
             
<xs:documentation>MFNode motions</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="Shape"/>
           
<xs:element ref="Group"/>
           
<xs:element ref="LOD"/>
           
<xs:element ref="Switch"/>
           
<xs:element ref="Transform"/>
           
<xs:element ref="IndexedFaceSet"/>
           
<xs:element ref="IndexedLineSet"/>
           
<xs:element ref="IndexedQuadSet"/>
           
<xs:element ref="IndexedTriangleFanSet"/>
           
<xs:element ref="IndexedTriangleSet"/>
           
<xs:element ref="IndexedTriangleStripSet"/>
         
</xs:choice>
         
<xs:choice minOccurs="0" maxOccurs="2">
           
<xs:annotation>
             
<xs:documentation>SFNode skinCoord and SFNode skinBindingCoords</xs:documentation>
           
</xs:annotation>
           
<xs:element ref="Coordinate"/>
           
<xs:element ref="CoordinateDouble"/>
         
</xs:choice>
         
<xs:element ref="Normal" minOccurs="0" maxOccurs="2">
           
<xs:annotation>
             
<xs:documentation>SFNode skinNormal and SFNode 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="bboxSizeType" default="-1 -1 -1"/>
       
<xs:attribute name="bboxDisplay" type="SFBool" default="false"/>
       
<xs:attribute name="visible" type="SFBool" default="true"/>
       
<xs:attribute name="center" type="SFVec3f" default="0 0 0"/>
       
<xs:attribute name="info" type="MFString"/>
       
<xs:attribute name="description" type="SFString">
         
<xs:annotation>
           
<xs:appinfo>added in X3D version 4</xs:appinfo>
         
</xs:annotation>
       
</xs:attribute>
       
<xs:attribute name="jointBindingPositions" type="MFVec3f"/>
       
<xs:attribute name="jointBindingRotations" type="MFRotation"/>
       
<xs:attribute name="jointBindingScales" type="MFVec3f" default=""/>
       
<xs:attribute name="loa" type="loaType" default="-1"/>
       
<xs:attribute name="motionsEnabled" type="MFBool"/>
       
<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="skeletalConfiguration" type="SFString" default="BASIC"/>
       
<xs:attribute name="translation" type="SFVec3f" default="0 0 0"/>
       
<xs:attribute name="version" type="hanimVersionChoices" default="2.0"/>
       
<xs:attribute name="containerField" type="xs:NMTOKEN" default="children"/>
     
</xs:extension>
     
<!-- multiple fields added in X3D version 4.0 -->
     
<!-- 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/@bboxDisplay
type SFBool
properties
default false
source <xs:attribute name="bboxDisplay" type="SFBool" default="false"/>

attribute HAnimHumanoid/@visible
type SFBool
properties
default true
source <xs:attribute name="visible" type="SFBool" default="true"/>

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/@description
type SFString
annotation
appinfo
added in X3D version 4
source <xs:attribute name="description" type="SFString">
 
<xs:annotation>
   
<xs:appinfo>added in X3D version 4</xs:appinfo>
 
</xs:annotation>
</xs:attribute>

attribute HAnimHumanoid/@jointBindingPositions
type MFVec3f
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*,?\s*)*
source <xs:attribute name="jointBindingPositions" type="MFVec3f"/>

attribute HAnimHumanoid/@jointBindingRotations
type MFRotation
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*,?\s*)*
source <xs:attribute name="jointBindingRotations" type="MFRotation"/>

attribute HAnimHumanoid/@jointBindingScales
type MFVec3f
properties
default <empty>
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*,?\s*)*
source <xs:attribute name="jointBindingScales" type="MFVec3f" default=""/>

attribute HAnimHumanoid/@loa
type loaType
properties
default -1
facets
Kind Value Annotation
minInclusive -1
maxInclusive 4
source <xs:attribute name="loa" type="loaType" default="-1"/>

attribute HAnimHumanoid/@motionsEnabled
type MFBool
facets
Kind Value Annotation
whiteSpace collapse
pattern \s*((true|false)\s*,?\s*)*
source <xs:attribute name="motionsEnabled" type="MFBool"/>

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/@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 \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 2.0
facets
Kind Value Annotation
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="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