Class: HAnimHumanoid

X3D: 3.3
Component: H-Anim
Status:
fully implemented

x3dom.nodeTypes. HAnimHumanoid

The HAnimHumanoid node is used to store human-readable data such as author and copyright information, as well as to store references to the HAnimJoint, HAnimSegment, and HAnimSite nodes in addition to serving as a container for the entire humanoid. Thus, it serves as a central node for moving the humanoid through its environment.

HTML Encoding and Default Values

<HAnimHumanoid bboxCenter='0,0,0' bboxSize='-1,-1,-1' center='0,0,0' children='X3DChildNode' info='[]' jointBindingPositions='[0 0 0]' jointBindingRotations='[0 0 1 0]' jointBindingScales='[1 1 1]' joints='x3dom.nodeTypes.HAnimJoint' metadata='X3DMetadataObject' name='""' render='true' rotation='0,0,1,0' scale='1,1,1' scaleOrientation='0,0,1,0' segments='x3dom.nodeTypes.HAnimSegment' sites='x3dom.nodeTypes.HAnimSite' skeletalConfiguration=''BASIC'' skeleton='x3dom.nodeTypes.HAnimJoint' skin='x3dom.nodeTypes.X3DChildNode' skinBindingCoords='[]' skinBindingNormals='[]' skinCoord='x3dom.nodeTypes.X3DCoordinateNode' skinNormal='x3dom.nodeTypes.X3DNormalNode' translation='0,0,0' version='""' viewpoints='x3dom.nodeTypes.HAnimSite' ></HAnimHumanoid>

Inheritance


Constructor

HAnimHumanoid(ctx)

Constructor for HAnimHumanoid

Parameters:
Name Type Argument Default Description
ctx Object <optional>
null context object, containing initial settings like namespace

Fields

These are the X3D / X3DOM fields of this node. Values should usually be received / set as strings via DOM functions (i.e., using setAttribute("myFieldName", "myFieldValue") and getAttribute("myFieldName")).
Name Type Default Value Range Inheritance Standard Description
bboxCenter SFVec3f 0,0,0 [-inf, inf] Transform Center of the bounding box
bboxSize SFVec3f -1,-1,-1 [0, inf] or -1 Transform Size of the bounding box
center SFVec3f 0,0,0 Transform The center field specifies a translation offset from the origin of the local coordinate system (0,0,0).
children MFNode X3DChildNode Transform Grouping nodes have a field that contains a list of children nodes. Each grouping node defines a coordinate space for its children. This coordinate space is relative to the coordinate space of the node of which the group node is a child. Such a node is called a parent node. This means that transformations accumulate down the scene graph hierarchy.
info MFString [] The info field consists of a sequence of strings, each of which is of the form term=value. The following terms are defined in this International Standard: authorName authorEmail copyright creationDate usageRestrictions humanoidVersion age gender height weight The gender term typically has a value of female, male or neuter. The humanoidVersion term refers to the version of the humanoid being used, in order to track revisions to the data. It is not the same as the version field of the Humanoid object, which refers to the version of the H-Anim specification that was used when building the humanoid. Additional term=value pairs may be included as needed for specific applications.
jointBindingPositions MFVec3f [0 0 0] The jointBindingPositions field specifies position values, respectively, associated with the array of Joint objects contained in the joints field. If only one value is provided (such as the default value) then it is applied to all listed Joint objects equivalently. Applying each set of these translation, rotation, and scale values, in order, to the corresponding Joint objects maps a skeleton to the binding pose.
jointBindingRotations MFVec3f [0 0 1 0] The jointBindingRotations field specifies position values, respectively, associated with the array of Joint objects contained in the joints field. If only one value is provided (such as the default value) then it is applied to all listed Joint objects equivalently. Applying each set of these translation, rotation, and scale values, in order, to the corresponding Joint objects maps a skeleton to the binding pose.
jointBindingScales MFVec3f [1 1 1] The jointBindingScales field specifies scale values, respectively, associated with the array of Joint objects contained in the joints field. If only one value is provided (such as the default value) then it is applied to all listed Joint objects equivalently. Applying each set of these translation, rotation, and scale values, in order, to the corresponding Joint objects maps a skeleton to the binding pose.
joints MFNode HAnimJoint The joints field contains a list of references, one for each Joint object defined within the skeleton field hierarchy of the Humanoid object. The order in which the joints are listed is irrelevant since the names of the joints are stored in the Joint objects themselves. The references to contained Joint objects may be used to support inverse kinematics (IK) and other motion tools animating nodes found within the skeleton field.
metadata SFNode X3DMetadataObject Transform Field to add metadata information
name SFString "" The name field, which shall be present, and which shall not have the empty string value, stores the name of the humanoid defined by the Humanoid object.
render SFBool true Transform Flag to enable/disable rendering
rotation SFRotation 0,0,1,0 Transform The rotation field specifies a rotation of the coordinate system.
scale SFVec3f 1,1,1 Transform The scale field specifies a non-uniform scale of the coordinate system. Scale values may have any value: positive, negative (indicating a reflection), or zero. A value of zero indicates that any child geometry shall not be displayed.
scaleOrientation SFRotation 0,0,1,0 Transform The scaleOrientation specifies a rotation of the coordinate system before the scale (to specify scales in arbitrary orientations). The scaleOrientation applies only to the scale operation.
segments MFNode HAnimSegment The segments field contains a list of references, one for each Segment object defined within the skeleton field hierarchy of the Humanoid object. The order in which the segments are listed is irrelevant since the names of the segments are stored in the Segment objects themselves. The references to contained Segment objects may be used to support inverse kinematics (IK) and other motion tools animating nodes found within the skeleton field.
sites MFNode HAnimSite The sites field contains a list of references, one for each Site object defined within the skeleton field hierarchy of the Humanoid object. The order in which the sites are listed is irrelevant since the names of the sites are stored in the Site objects themselves. The references to contained Site objects may be used to support inverse kinematics (IK) and other motion tools animating nodes found within the skeleton field.
skeletalConfiguration MFVec3f 'BASIC' The skeletalConfiguration field identifies the skeletal configuration of this model. Any models that share the same skeletalConfiguration value can also share skeletal animation data. The only specific skeletal configuration defined in this International Standard is the "BASIC" skeletal configuration specified in 4.8.1 Overview. Since the default value of the skeletal configuration is "BASIC", a humanoid model that specifies a skeletalConfiguration value of "BASIC" shall conform to the restrictive skeletal model specified in 4.8.1 Overview. For any other value the model shall also contain one or more of the five binding fields.
skeleton MFNode HAnimJoint The skeleton field contains the humanoid_root Joint object. The Humanoid object is considered the parent object of the humanoid_root Joint object and defines a coordinate space for the humanoid_root Joint object. Thus, the Humanoid object's transformation affects the Joint object hierarchy in the skeleton field. A hierarchy of Joint objects is defined for each H-Anim humanoid figure within the skeleton field of the Humanoid object and a hierarchical definition of joints is present even when the geometry of the humanoid figure is not defined within the skeleton field. The skeleton field can also contain zero or more Site objects which allow landmarks to be established with respect to the overall humanoid figure, but which are not affected by the movement of any of the Joint objects.
skin MFNode X3DChildNode The skin field contains one or more indexed mesh definitions. Those indexed mesh definitions utilize the point and normal data that is defined within the skinCoord and skinNormal fields, respectively, of the Humanoid object. This field is defined as an generic type for which the specific representation is defined by each binding to a presentation system.
skinBindingCoords MFVec3f [] The skinBindingCoords field specifies an array of vertex locations that define the mesh in the binding pose. For each set of values corresponding to a given pose, the same vertex indexing system that is used for the skinCoord field also applies to this field.
skinBindingNormals MFVec3f [] The skinBindingNormals field specifies an array of normal vectors that define the mesh normal vectors in the binding pose. For each set of values corresponding to a given pose, the same normal indexing system used for the skinNormal field also applies to this field.
skinCoord SFNode X3DCoordinateNode The skinCoord field contains a single sequence of points which are used by the internal mechanisms of the Humanoid object to create the appropriate surface deformations as well as by the indexed mesh definitions within the skin field which do the actual rendering of the surface geometry.
skinNormal SFNode X3DNormalNode The skinNormal field contains the normal data definition which is used by the internal mechanisms of the Humanoid object to create the appropriate surface deformations as well as the indexed mesh definitions within the skin field which contains the actual surface geometry that is rendered.
translation SFVec3f 0,0,0 Transform The translation field specifies a translation to the coordinate system.
version SFString "" The version field stores the version of this International Standard to which the Humanoid object conforms. The version value for International Standard V2.0 is "2.0".
viewpoints MFNode HAnimSite The viewpoints field has a different functionality and behaviour than the joints, segments and sites fields. The viewpoints field can contain zero or more Site object definitions. The Site objects defined within this field are affected by the transformations applied to the Humanoid object, but are not affected by any of the transformations performed on the skeletal hierarchy defined within the skeleton field. The purpose of these Site objects is to define locations for virtual cameras in the reference frame of the Humanoid object. Site objects that are defined in this manner are intended to be used as attachment points from which a certain viewing perspective can be seen (such as viewing the face or profile of the human figure).