Each body segment is stored in an HAnimSegment node. HAnimSegment contains Coordinate/CoordinateDouble with containerField='coord', HAnimDisplacer with containerField='displacers' and Shape or grouping nodes with containerField='children'.
The HAnimSegment node belongs to the H-Anim component and its container field is children. It is available since X3D version 3.0 or later.
SFNode [in, out] metadata NULL [X3DMetadataObject]
Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
SFVec3f [ ] bboxSize -1 -1 -1 [0,∞) or −1 −1 −1
Bounding box size is usually omitted, and can easily be calculated automatically by an X3D player at scene-loading time with minimal computational cost. Bounding box size can also be defined as an optional authoring hint that suggests an optimization or constraint.
Can be useful for collision computations or inverse-kinematics (IK) engines.
SFVec3f [ ] bboxCenter 0 0 0 (-∞,∞)
Bounding box center: optional hint for position offset from origin of local coordinate system.
MFNode [in] addChildren
Input field addChildren.
MFNode [in] removeChildren
Input field removeChildren.
MFNode [in, out] children [ ] [X3DChildNode]
Input/Output field children.
SFVec3f [in, out] centerOfMass 0 0 0 (-∞,∞)
Location within segment of center of mass.
SFNode [in, out] coord NULL [X3DCoordinateNode]
Input/Output field coord.
MFNode [in, out] displacers [ ] [HAnimDisplacer]
Input/Output field displacers.
SFFloat [in, out] mass [0,∞)
Total mass of the segment, 0 if not available.
MFFloat [in, out] momentsOfInertia [ 0, 0, 0, 0, 0, 0, 0, 0, 0 ] [0,∞)
3x3 moments of inertia matrix. default: 0 0 0 0 0 0 0 0 0.
SFString [in, out] name ""
Unique name attribute must be defined so that HAnimSegment node can be identified at run time for animation purposes.
For abitrary humanoids, HAnimSegment name can describe geometry between parent HAnimJoint and sibling HAnimJoint nodes (for example LeftHip_to_LeftKnee).
Name is not included if this instance is a USE node. Examples: sacrum pelvis l_thigh l_calf etc. as listed in H-Anim Specification.