Package org.web3d.x3d.sai.HAnim
Interface HAnimHumanoid
- All Superinterfaces:
X3DBoundedObject
,X3DChildNode
,X3DNode
- All Known Implementing Classes:
HAnimHumanoid
The HAnimHumanoid node is used to: (a) store references to the joints, segments, sites, skeleton, optional skin, and fixed viewpoints, (b) serve as a container for the entire humanoid, (c) provide a convenient way of moving the humanoid through its environment, and (d) store human-readable metadata such as name, version, author, copyright, age, gender and other information.
Warning: this is an abstract interface that cannot be instantiated as a concrete object. Java programmers typically only need to use concrete objects provided by the
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
Warning: this is an abstract interface that cannot be instantiated as a concrete object. Java programmers typically only need to use concrete objects provided by the
org.web3d.x3d.jsail
classes.
HAnimHumanoid node tooltip: [X3DChildNode,X3DBoundedObject,X3DVisibleObject] The HAnimHumanoid node is used to: (a) store references to the joints, segments, sites, skeleton, optional skin, and fixed viewpoints, (b) serve as a container for the entire humanoid, (c) provide a convenient way of moving the humanoid through its environment, and (d) store human-readable metadata such as name, version, author, copyright, age, gender and other information. HAnimHumanoid contains a skeleton consisting of HAnimJoint, HAnimSegment and HAnimSite nodes. HAnimHumanoid can also contain an optional skin consisting of an IndexedFaceSet mesh with corresponding skinCoord Coordinate|CoordinateDouble vertices and skinNormal Normal vectors.
- Hint: MFNode arrays for the joints, segments, sites, and viewpoints fields provide lists for all HAnim nodes found in the skeleton hierarchy and thus only contain USE node references.
- Hint: HAnim Specification https://www.web3d.org/documents/specifications/19774/V2.0
- Hint: HAnim Specification part 1, Humanoid https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid
- Hint: HAnim Specification part 2, clause 6.4 Extended definition of Humanoid object https://www.web3d.org/documents/specifications/19774/V2.0/MotionDataAnimation/MotionNodes.html#HumanoidObjectExtension
- Hint: X3D for Advanced Modeling (X3D4AM) slideset https://x3dgraphics.com/slidesets/X3dForAdvancedModeling/HumanoidAnimation.pdf
- Warning: requires X3D profile='Full' or else include <component name='HAnim' level='1'/>
- Warning: for X3D3 HAnim1, previous spelling of component name was 'H-Anim' (including hyphen)
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Add array of child joints nodes to array of existing nodes (if any).void
addMotions
(X3DNode[] newValue) Add array of child motions nodes to array of existing nodes (if any).void
addSegments
(X3DNode[] newValue) Add array of child segments nodes to array of existing nodes (if any).void
Add array of child sites nodes to array of existing nodes (if any).void
addSkeleton
(X3DNode[] newValue) Add array of child skeleton nodes to array of existing nodes (if any).void
Add array of child skin nodes to array of existing nodes (if any).void
addViewpoints
(X3DNode[] newValue) Add array of child viewpoints nodes to array of existing nodes (if any).float[]
Provide array of 3-tuple float results from initializeOnly SFVec3f field named bboxCenter.boolean
Provide boolean value from inputOutput SFBool field named bboxDisplay.float[]
Provide array of 3-tuple float results within allowed range of [0,infinity), or default value [-1 -1 -1], from initializeOnly SFVec3f field named bboxSize.float[]
Provide array of 3-tuple float results from inputOutput SFVec3f field named center.Provide String value from inputOutput SFString field named description.String[]
getInfo()
Provide array of String results from inputOutput MFString field named info.float[]
Provide array of 3-tuple float results from inputOutput MFVec3f field named jointBindingPositions.float[]
Provide array of 4-tuple float results unit axis, angle (in radians) from inputOutput MFRotation field named jointBindingRotations.float[]
Provide array of 3-tuple float results from inputOutput MFVec3f field named jointBindingScales.X3DNode[]
Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field joints.int
getLoa()
Provide int value within allowed range of [-1,4] from inputOutput SFInt32 field named loa.Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.X3DNode[]
Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field motions.boolean[]
Provide array of boolean results from inputOutput MFBool field named motionsEnabled.getName()
Provide String value from inputOutput SFString field named name.float[]
Provide array of 4-tuple float results unit axis, angle (in radians) from inputOutput SFRotation field named rotation.float[]
getScale()
Provide array of 3-tuple float results within allowed range of (0,infinity) from inputOutput SFVec3f field named scale.float[]
Provide array of 4-tuple float results unit axis, angle (in radians) from inputOutput SFRotation field named scaleOrientation.X3DNode[]
Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field segments.X3DNode[]
getSites()
Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field sites.Provide String value from inputOutput SFString field named skeletalConfiguration.X3DNode[]
Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) with acceptable node types limited to HAnimJoint|HAnimSite, from inputOutput MFNode field skeleton.X3DNode[]
getSkin()
Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) with acceptable node types limited to Group|Transform|Shape|IndexedFaceSet, from inputOutput MFNode field skin.Provide org.web3d.x3d.sai.Core.X3DNode instance (using a properly typed node) with acceptable node types limited to Coordinate|CoordinateDouble, from inputOutput SFNode field skinBindingCoords.Provide org.web3d.x3d.sai.Rendering.X3DNormalNode instance (using a properly typed node) from inputOutput SFNode field skinBindingNormals.Provide org.web3d.x3d.sai.Core.X3DNode instance (using a properly typed node) with acceptable node types limited to Coordinate|CoordinateDouble, from inputOutput SFNode field skinCoord.Provide org.web3d.x3d.sai.Rendering.X3DNormalNode instance (using a properly typed node) from inputOutput SFNode field skinNormal.float[]
Provide array of 3-tuple float results from inputOutput SFVec3f field named translation.Provide String enumeration value (baseType xs:NMTOKEN) ["2.0"] from inputOutput SFString field named version.X3DNode[]
Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field viewpoints.boolean
Provide boolean value from inputOutput SFBool field named visible.setBboxCenter
(float[] newValue) Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxCenter.setBboxDisplay
(boolean newValue) Accessor method to assign boolean value to inputOutput SFBool field named bboxDisplay.setBboxSize
(float[] newValue) Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxSize.setCenter
(float[] newValue) Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named center.setDescription
(String newValue) Accessor method to assign String value to inputOutput SFString field named description.Accessor method to assign String array to inputOutput MFString field named info.setJointBindingPositions
(float[] newValue) Accessor method to assign 3-tuple float array to inputOutput MFVec3f field named jointBindingPositions.setJointBindingRotations
(float[] newValue) Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput MFRotation field named jointBindingRotations.setJointBindingScales
(float[] newValue) Accessor method to assign 3-tuple float array to inputOutput MFVec3f field named jointBindingScales.void
Set single child joints node, replacing prior array of existing nodes (if any).Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field joints.setLoa
(int newValue) Accessor method to assign int value to inputOutput SFInt32 field named loa.setMetadata
(X3DMetadataObject newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.void
setMotions
(X3DNode newValue) Set single child motions node, replacing prior array of existing nodes (if any).setMotions
(X3DNode[] newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field motions.setMotionsEnabled
(boolean[] newValue) Accessor method to assign boolean array to inputOutput MFBool field named motionsEnabled.Accessor method to assign String value to inputOutput SFString field named name.setRotation
(float[] newValue) Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput SFRotation field named rotation.setScale
(float[] newValue) Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named scale.setScaleOrientation
(float[] newValue) Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput SFRotation field named scaleOrientation.void
setSegments
(X3DNode newValue) Set single child segments node, replacing prior array of existing nodes (if any).setSegments
(X3DNode[] newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field segments.void
Set single child sites node, replacing prior array of existing nodes (if any).Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field sites.setSkeletalConfiguration
(String newValue) Accessor method to assign String value to inputOutput SFString field named skeletalConfiguration.void
setSkeleton
(X3DNode newValue) Set single child skeleton node, replacing prior array of existing nodes (if any).setSkeleton
(X3DNode[] newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field skeleton.void
Set single child skin node, replacing prior array of existing nodes (if any).Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field skin.setSkinBindingCoords
(X3DNode newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DNode instance (using a properly typed node) to inputOutput SFNode field skinBindingCoords.setSkinBindingNormals
(X3DNormalNode newValue) Accessor method to assign org.web3d.x3d.sai.Rendering.X3DNormalNode instance (using a properly typed node) to inputOutput SFNode field skinBindingNormals.setSkinCoord
(X3DNode newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DNode instance (using a properly typed node) to inputOutput SFNode field skinCoord.setSkinNormal
(X3DNormalNode newValue) Accessor method to assign org.web3d.x3d.sai.Rendering.X3DNormalNode instance (using a properly typed node) to inputOutput SFNode field skinNormal.setTranslation
(float[] newValue) Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named translation.setVersion
(String newValue) Accessor method to assign String enumeration value ("2.0") to inputOutput SFString field named version.void
setViewpoints
(X3DNode newValue) Set single child viewpoints node, replacing prior array of existing nodes (if any).setViewpoints
(X3DNode[] newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field viewpoints.setVisible
(boolean newValue) Accessor method to assign boolean value to inputOutput SFBool field named visible.
-
Method Details
-
getBboxCenter
float[] getBboxCenter()Provide array of 3-tuple float results from initializeOnly SFVec3f field named bboxCenter.
Tooltip: Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.- Hint: precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- Hint: X3D Architecture, 10.2.2 Bounding boxes https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS /Part01/components/grouping.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS /Part01/components/grouping.html#X3DBoundedObject
- Specified by:
getBboxCenter
in interfaceX3DBoundedObject
- Returns:
- value of bboxCenter field
-
setBboxCenter
Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxCenter.
Tooltip: Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.- Hint: precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- Hint: X3D Architecture, 10.2.2 Bounding boxes https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS /Part01/components/grouping.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS /Part01/components/grouping.html#X3DBoundedObject
- Specified by:
setBboxCenter
in interfaceX3DBoundedObject
- Parameters:
newValue
- is new value for the bboxCenter field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getBboxDisplay
boolean getBboxDisplay()Provide boolean value from inputOutput SFBool field named bboxDisplay.
Tooltip: Whether to display bounding box for associated geometry, aligned with world coordinates.- Hint: the bounding box is displayed regardless of whether contained content is visible.
- Specified by:
getBboxDisplay
in interfaceX3DBoundedObject
- Returns:
- value of bboxDisplay field
-
setBboxDisplay
Accessor method to assign boolean value to inputOutput SFBool field named bboxDisplay.
Tooltip: Whether to display bounding box for associated geometry, aligned with world coordinates.- Hint: the bounding box is displayed regardless of whether contained content is visible.
- Specified by:
setBboxDisplay
in interfaceX3DBoundedObject
- Parameters:
newValue
- is new value for the bboxDisplay field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getBboxSize
float[] getBboxSize()Provide array of 3-tuple float results within allowed range of [0,infinity), or default value [-1 -1 -1], from initializeOnly SFVec3f field named bboxSize.
Tooltip: or [0,+infinity) 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.- Hint: can be useful for collision computations or inverse-kinematics (IK) engines.
- Hint: precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- Hint: X3D Architecture, 10.2.2 Bounding boxes https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS /Part01/components/grouping.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS /Part01/components/grouping.html#X3DBoundedObject
- Specified by:
getBboxSize
in interfaceX3DBoundedObject
- Returns:
- value of bboxSize field
-
setBboxSize
Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxSize.
Tooltip: or [0,+infinity) 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.- Hint: can be useful for collision computations or inverse-kinematics (IK) engines.
- Hint: precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- Hint: X3D Architecture, 10.2.2 Bounding boxes https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS /Part01/components/grouping.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS /Part01/components/grouping.html#X3DBoundedObject
- Specified by:
setBboxSize
in interfaceX3DBoundedObject
- Parameters:
newValue
- is new value for the bboxSize field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getCenter
float[] getCenter()Provide array of 3-tuple float results from inputOutput SFVec3f field named center.
Tooltip: Translation offset from origin of local coordinate system. *- Returns:
- value of center field
-
setCenter
Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named center.
Tooltip: Translation offset from origin of local coordinate system. *- Parameters:
newValue
- is new value for the center field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getDescription
String getDescription()Provide String value from inputOutput SFString field named description.
Tooltip: Author-provided prose that describes intended purpose of this node.- Hint: many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as & for & ampersand character, or " for " quotation-mark character).
- Returns:
- value of description field
-
setDescription
Accessor method to assign String value to inputOutput SFString field named description.
Tooltip: Author-provided prose that describes intended purpose of this node.- Hint: many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as & for & ampersand character, or " for " quotation-mark character).
- Parameters:
newValue
- is new value for the description field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getInfo
String[] getInfo()Provide array of String results from inputOutput MFString field named info.
Tooltip: Contains metadata keyword=value pairs, where approved keyword terms are humanoidVersion authorName authorEmail copyright creationDate usageRestrictions age gender height and weight.- Hint: height and weight are in base units (typically meters), hanimVersion is for author use and separate from HAnimHumanoid version field.
- Hint: alternate metadata keywords are also allowed.
- Returns:
- value of info field
-
setInfo
Accessor method to assign String array to inputOutput MFString field named info.
Tooltip: Contains metadata keyword=value pairs, where approved keyword terms are humanoidVersion authorName authorEmail copyright creationDate usageRestrictions age gender height and weight.- Hint: height and weight are in base units (typically meters), hanimVersion is for author use and separate from HAnimHumanoid version field.
- Hint: alternate metadata keywords are also allowed.
- Parameters:
newValue
- is new value for the info field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getJointBindingPositions
float[] getJointBindingPositions()Provide array of 3-tuple float results from inputOutput MFVec3f field named jointBindingPositions.
Tooltip: Specifies an array of position values for each HAnimJoint node in the joints field, in order, corresponding to each binding pose.- Hint: if only one value is provided, it is provided to each Joint equivalently.
- Warning: not used when skeletalConfiguration='BASIC'.
- Returns:
- value of jointBindingPositions field
-
setJointBindingPositions
Accessor method to assign 3-tuple float array to inputOutput MFVec3f field named jointBindingPositions.
Tooltip: Specifies an array of position values for each HAnimJoint node in the joints field, in order, corresponding to each binding pose.- Hint: if only one value is provided, it is provided to each Joint equivalently.
- Warning: not used when skeletalConfiguration='BASIC'.
- Parameters:
newValue
- is new value for the jointBindingPositions field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getJointBindingRotations
float[] getJointBindingRotations()Provide array of 4-tuple float results unit axis, angle (in radians) from inputOutput MFRotation field named jointBindingRotations.
Tooltip: Specifies an array of rotation values for each HAnimJoint node in the joints field, in order, corresponding to each binding pose.- Hint: if only one value is provided, it is provided to each Joint equivalently.
- Warning: not used when skeletalConfiguration='BASIC'.
- Returns:
- value of jointBindingRotations field
-
setJointBindingRotations
Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput MFRotation field named jointBindingRotations.
Tooltip: Specifies an array of rotation values for each HAnimJoint node in the joints field, in order, corresponding to each binding pose.- Hint: if only one value is provided, it is provided to each Joint equivalently.
- Warning: not used when skeletalConfiguration='BASIC'.
- Parameters:
newValue
- is new value for the jointBindingRotations field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getJointBindingScales
float[] getJointBindingScales()Provide array of 3-tuple float results from inputOutput MFVec3f field named jointBindingScales.
Tooltip: Specifies an array of scale values for each HAnimJoint node in the joints field, in order, corresponding to each binding pose.- Hint: if only one value is provided, it is provided to each Joint equivalently.
- Warning: not used when skeletalConfiguration='BASIC'.
- Returns:
- value of jointBindingScales field
-
setJointBindingScales
Accessor method to assign 3-tuple float array to inputOutput MFVec3f field named jointBindingScales.
Tooltip: Specifies an array of scale values for each HAnimJoint node in the joints field, in order, corresponding to each binding pose.- Hint: if only one value is provided, it is provided to each Joint equivalently.
- Warning: not used when skeletalConfiguration='BASIC'.
- Parameters:
newValue
- is new value for the jointBindingScales field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getJoints
X3DNode[] getJoints()Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field joints.
Tooltip: [HAnimJoint] The joints field contains a list of USE references for all HAnimJoint node instances found within the preceding skeleton hierarchy.- Hint: order is irrelevant since names are contained in the original DEF objects.
- Hint: these USE nodes can be utilitized by inverse kinematics (IK) and animation engines.
- Warning: the number of contained <HAnimJoint USE='*' containerField='joints'/> nodes at top level of HAnimHumanoid needs to match the number of corresponding HAnimJoint node instances found within the preceding skeleton hierarchy.
- Warning: top-level HAnimJoint USE nodes must include containerField='joints' for proper validation and operation.
Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimJoint.- Returns:
- value of joints field
- See Also:
-
setJoints
Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field joints.
Tooltip: [HAnimJoint] The joints field contains a list of USE references for all HAnimJoint node instances found within the preceding skeleton hierarchy.- Hint: order is irrelevant since names are contained in the original DEF objects.
- Hint: these USE nodes can be utilitized by inverse kinematics (IK) and animation engines.
- Warning: the number of contained <HAnimJoint USE='*' containerField='joints'/> nodes at top level of HAnimHumanoid needs to match the number of corresponding HAnimJoint node instances found within the preceding skeleton hierarchy.
- Warning: top-level HAnimJoint USE nodes must include containerField='joints' for proper validation and operation.
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimJoint.- Parameters:
newValue
- is new value for the joints field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
addJoints
Add array of child joints nodes to array of existing nodes (if any).
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimJoint.- Parameters:
newValue
- is new value array to be appended the joints field.
-
setJoints
Set single child joints node, replacing prior array of existing nodes (if any).- Parameters:
newValue
- is new node for the joints field
-
getLoa
int getLoa()Provide int value within allowed range of [-1,4] from inputOutput SFInt32 field named loa.
Tooltip: [-1,4] Level Of Articulation 0..4 indicates complexity and detail of joints for given humanoid skeletal hierarchy.- Hint: loa value of -1 indicates that no LOA conformance is provided.
- Hint: Humanoid Animation (HAnim) Specification, Part 1 Architecture, 4.8.4 Levels of articulation, https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#LevelsOfArticulation
- Returns:
- value of loa field
-
setLoa
Accessor method to assign int value to inputOutput SFInt32 field named loa.
Tooltip: [-1,4] Level Of Articulation 0..4 indicates complexity and detail of joints for given humanoid skeletal hierarchy.- Hint: loa value of -1 indicates that no LOA conformance is provided.
- Hint: Humanoid Animation (HAnim) Specification, Part 1 Architecture, 4.8.4 Levels of articulation, https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#LevelsOfArticulation
- Parameters:
newValue
- is new value for the loa field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getMetadata
X3DMetadataObject getMetadata()Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS /Part01/components/core.html#Metadata
- Specified by:
getMetadata
in interfaceX3DChildNode
- Specified by:
getMetadata
in interfaceX3DNode
- Returns:
- value of metadata field
- See Also:
-
setMetadata
Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS /Part01/components/core.html#Metadata
- Specified by:
setMetadata
in interfaceX3DChildNode
- Specified by:
setMetadata
in interfaceX3DNode
- Parameters:
newValue
- is new value for the metadata field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).- See Also:
-
getMotions
X3DNode[] getMotions()Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field motions.
Tooltip: [HAnimMotion] Contains any HAnimMotion nodes that can animate the HAnimHumanoid. *
Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimMotion.- Returns:
- value of motions field
- See Also:
-
setMotions
Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field motions.
Tooltip: [HAnimMotion] Contains any HAnimMotion nodes that can animate the HAnimHumanoid. *
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimMotion.- Parameters:
newValue
- is new value for the motions field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
addMotions
Add array of child motions nodes to array of existing nodes (if any).
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimMotion.- Parameters:
newValue
- is new value array to be appended the motions field.
-
setMotions
Set single child motions node, replacing prior array of existing nodes (if any).- Parameters:
newValue
- is new node for the motions field
-
getMotionsEnabled
boolean[] getMotionsEnabled()Provide array of boolean results from inputOutput MFBool field named motionsEnabled.
Tooltip: Array of boolean values corresponding to HAnimMotion nodes indicating which can animate the HAnimHumanoid. *- Returns:
- value of motionsEnabled field
-
setMotionsEnabled
Accessor method to assign boolean array to inputOutput MFBool field named motionsEnabled.
Tooltip: Array of boolean values corresponding to HAnimMotion nodes indicating which can animate the HAnimHumanoid. *- Parameters:
newValue
- is new value for the motionsEnabled field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getName
String getName()Provide String value from inputOutput SFString field named name.
Tooltip: Unique name attribute must be defined so that each HAnimHumanoid node in a scene can be identified at run time for animation purposes.- Hint: this same name is a required name prefix for all other HAnim nodes within the HAnimHumanoid, if more than one humanoid appears within a scene file.
- Warning: name field is not included if this instance is a USE node, in order to avoid potential mismatches.
- Hint: well-defined names can simplify design and debugging through improved author understanding.
- Hint: X3D Scene Authoring Hints, Naming Conventions https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NamingConventions
- Hint: HAnim2 Names HAnim1 Alias Tables https://www.web3d.org/x3d/content/examples/HumanoidAnimation/HAnim2NameHAnim1AliasTables.txt
- Returns:
- value of name field
-
setName
Accessor method to assign String value to inputOutput SFString field named name.
Tooltip: Unique name attribute must be defined so that each HAnimHumanoid node in a scene can be identified at run time for animation purposes.- Hint: this same name is a required name prefix for all other HAnim nodes within the HAnimHumanoid, if more than one humanoid appears within a scene file.
- Warning: name field is not included if this instance is a USE node, in order to avoid potential mismatches.
- Hint: well-defined names can simplify design and debugging through improved author understanding.
- Hint: X3D Scene Authoring Hints, Naming Conventions https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NamingConventions
- Hint: HAnim2 Names HAnim1 Alias Tables https://www.web3d.org/x3d/content/examples/HumanoidAnimation/HAnim2NameHAnim1AliasTables.txt
@see X3D Scene Authoring Hints: Naming Conventions- Parameters:
newValue
- is new value for the name field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getRotation
float[] getRotation()Provide array of 4-tuple float results unit axis, angle (in radians) from inputOutput SFRotation field named rotation.
Tooltip: Orientation of children relative to local coordinate system.- Warning: default pose is typically empty (or an identity rotation) to avoid distorted body animations.
- Returns:
- value of rotation field
-
setRotation
Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput SFRotation field named rotation.
Tooltip: Orientation of children relative to local coordinate system.- Warning: default pose is typically empty (or an identity rotation) to avoid distorted body animations.
- Parameters:
newValue
- is new value for the rotation field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getScale
float[] getScale()Provide array of 3-tuple float results within allowed range of (0,infinity) from inputOutput SFVec3f field named scale.
Tooltip: Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation.- Warning: HAnimHumanoid scale values must be positive.
- Returns:
- value of scale field
-
setScale
Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named scale.
Tooltip: Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation.- Warning: HAnimHumanoid scale values must be positive.
- Parameters:
newValue
- is new value for the scale field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getScaleOrientation
float[] getScaleOrientation()Provide array of 4-tuple float results unit axis, angle (in radians) from inputOutput SFRotation field named scaleOrientation.
Tooltip: Preliminary rotation of coordinate system before scaling (to allow scaling around arbitrary orientations). *- Returns:
- value of scaleOrientation field
-
setScaleOrientation
Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput SFRotation field named scaleOrientation.
Tooltip: Preliminary rotation of coordinate system before scaling (to allow scaling around arbitrary orientations). *- Parameters:
newValue
- is new value for the scaleOrientation field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getSegments
X3DNode[] getSegments()Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field segments.
Tooltip: [HAnimSegment] The segments field contains a list of USE references for all HAnimSegment node instances found within the preceding skeleton hierarchy.- Hint: order is irrelevant since names are contained in the original DEF objects.
- Hint: these USE nodes can be utilitized by inverse kinematics (IK) and animation engines.
- Warning: the number of contained <HAnimSegment USE='*' containerField='segments'/> nodes at top level of HAnimHumanoid needs to match the number of corresponding HAnimSegment node instances found within the preceding skeleton hierarchy.
- Warning: top-level HAnimSegment USE nodes must include containerField='segments' for proper validation and operation.
Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimSegment.- Returns:
- value of segments field
- See Also:
-
setSegments
Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field segments.
Tooltip: [HAnimSegment] The segments field contains a list of USE references for all HAnimSegment node instances found within the preceding skeleton hierarchy.- Hint: order is irrelevant since names are contained in the original DEF objects.
- Hint: these USE nodes can be utilitized by inverse kinematics (IK) and animation engines.
- Warning: the number of contained <HAnimSegment USE='*' containerField='segments'/> nodes at top level of HAnimHumanoid needs to match the number of corresponding HAnimSegment node instances found within the preceding skeleton hierarchy.
- Warning: top-level HAnimSegment USE nodes must include containerField='segments' for proper validation and operation.
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimSegment.- Parameters:
newValue
- is new value for the segments field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
addSegments
Add array of child segments nodes to array of existing nodes (if any).
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimSegment.- Parameters:
newValue
- is new value array to be appended the segments field.
-
setSegments
Set single child segments node, replacing prior array of existing nodes (if any).- Parameters:
newValue
- is new node for the segments field
-
getSites
X3DNode[] getSites()Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field sites.
Tooltip: [HAnimSite] sites field contains a list of USE references for all HAnimSite node instances found within the preceding skeleton hierarchy.- Hint: order is irrelevant since names are contained in the original DEF objects.
- Hint: these USE nodes can be utilitized by inverse kinematics (IK) and animation engines.
- Warning: the number of contained <HAnimSite USE='*' containerField='sites, skeleton or viewpoints'/> nodes at top level of HAnimHumanoid needs to match the number of corresponding HAnimSite node instances found within the preceding skeleton hierarchy.
- Warning: top-level HAnimSite USE nodes must include containerField='sites' for proper validation and operation.
Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimSite.- Returns:
- value of sites field
- See Also:
-
setSites
Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field sites.
Tooltip: [HAnimSite] sites field contains a list of USE references for all HAnimSite node instances found within the preceding skeleton hierarchy.- Hint: order is irrelevant since names are contained in the original DEF objects.
- Hint: these USE nodes can be utilitized by inverse kinematics (IK) and animation engines.
- Warning: the number of contained <HAnimSite USE='*' containerField='sites, skeleton or viewpoints'/> nodes at top level of HAnimHumanoid needs to match the number of corresponding HAnimSite node instances found within the preceding skeleton hierarchy.
- Warning: top-level HAnimSite USE nodes must include containerField='sites' for proper validation and operation.
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimSite.- Parameters:
newValue
- is new value for the sites field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
addSites
Add array of child sites nodes to array of existing nodes (if any).
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimSite.- Parameters:
newValue
- is new value array to be appended the sites field.
-
setSites
Set single child sites node, replacing prior array of existing nodes (if any).- Parameters:
newValue
- is new node for the sites field
-
getSkeletalConfiguration
String getSkeletalConfiguration()Provide String value from inputOutput SFString field named skeletalConfiguration.
Tooltip: Models sharing a common skeletal configuration can share animations and binding poses.- Hint: a value of 'BASIC' conforms to restrictive skeletal model in X3D Humanoid Animation (HAnim) Specification, Part 1 Architecture, 4.8 Modelling of humanoids, https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#ModellingOfHumanoids
- Returns:
- value of skeletalConfiguration field
-
setSkeletalConfiguration
Accessor method to assign String value to inputOutput SFString field named skeletalConfiguration.
Tooltip: Models sharing a common skeletal configuration can share animations and binding poses.- Hint: a value of 'BASIC' conforms to restrictive skeletal model in X3D Humanoid Animation (HAnim) Specification, Part 1 Architecture, 4.8 Modelling of humanoids, https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#ModellingOfHumanoids
- Parameters:
newValue
- is new value for the skeletalConfiguration field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getSkeleton
X3DNode[] getSkeleton()Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) with acceptable node types limited to HAnimJoint|HAnimSite, from inputOutput MFNode field skeleton.
Tooltip: [HAnimJoint|HAnimSite] List of top-level HAnimJoint and HAnimSite nodes that create the skeleton model. The skeleton field contains the humanoid_root Joint object, and thus the entire hierarchy of HAnimJoint/HAnimSegment nodes making up the articulated skeleton model.- Hint: typically contains HAnimJoint with name='humanoid_root'.
- Hint: immediate children in the skeleton field can also include top-level HAnimSite node declarations, which are landmarks for the overall humanoid figure that are not affected by HAnimJoint movement.
- Warning: top-level HAnimJoint and HAnimSite nodes must include containerField='skeleton' for proper validation and operation.
Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimJoint|HAnimSite.- Returns:
- value of skeleton field
- See Also:
-
setSkeleton
Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field skeleton.
Tooltip: [HAnimJoint|HAnimSite] List of top-level HAnimJoint and HAnimSite nodes that create the skeleton model. The skeleton field contains the humanoid_root Joint object, and thus the entire hierarchy of HAnimJoint/HAnimSegment nodes making up the articulated skeleton model.- Hint: typically contains HAnimJoint with name='humanoid_root'.
- Hint: immediate children in the skeleton field can also include top-level HAnimSite node declarations, which are landmarks for the overall humanoid figure that are not affected by HAnimJoint movement.
- Warning: top-level HAnimJoint and HAnimSite nodes must include containerField='skeleton' for proper validation and operation.
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimJoint|HAnimSite.- Parameters:
newValue
- is new value for the skeleton field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
addSkeleton
Add array of child skeleton nodes to array of existing nodes (if any).
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimJoint|HAnimSite.- Parameters:
newValue
- is new value array to be appended the skeleton field.
-
setSkeleton
Set single child skeleton node, replacing prior array of existing nodes (if any).- Parameters:
newValue
- is new node for the skeleton field
-
getSkin
X3DNode[] getSkin()Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) with acceptable node types limited to Group|Transform|Shape|IndexedFaceSet, from inputOutput MFNode field skin.
Tooltip: [Group|LOD|Shape|Switch|Transform|IndexedFaceSet|IndexedTriangleFanSet|IndexedLineSet|IndexedQuadSet|IndexedTriangleSet|IndexedTriangleStripSet] List of one or more indexed mesh definitions (such as IndexedFaceSet) that utilize skinCoord point and skinNormal normal data.- Warning: index values for HanimHumanoid skin IndexedFaceSet, skinCoord and skinNormal nodes must all be consistently defined together with HAnimJoint HAnimSegment and HAnimDisplacer nodes for proper skin animation.
- Warning: top-level node must include containerField='skin' for proper validation and operation.
- Hint: put skin node first and provide DEF label to simplify USE node usage within the skeleton hierarchy.
- Warning: requires X3D profile='Full' or else include <component name='HAnim' level='2'/>
- Warning: for X3D3 HAnim1, previous spelling of component name was 'H-Anim' (including hyphen).
Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to Group|Transform|Shape|IndexedFaceSet.- Returns:
- value of skin field
- See Also:
-
setSkin
Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field skin.
Tooltip: [Group|LOD|Shape|Switch|Transform|IndexedFaceSet|IndexedTriangleFanSet|IndexedLineSet|IndexedQuadSet|IndexedTriangleSet|IndexedTriangleStripSet] List of one or more indexed mesh definitions (such as IndexedFaceSet) that utilize skinCoord point and skinNormal normal data.- Warning: index values for HanimHumanoid skin IndexedFaceSet, skinCoord and skinNormal nodes must all be consistently defined together with HAnimJoint HAnimSegment and HAnimDisplacer nodes for proper skin animation.
- Warning: top-level node must include containerField='skin' for proper validation and operation.
- Hint: put skin node first and provide DEF label to simplify USE node usage within the skeleton hierarchy.
- Warning: requires X3D profile='Full' or else include <component name='HAnim' level='2'/>
- Warning: for X3D3 HAnim1, previous spelling of component name was 'H-Anim' (including hyphen).
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to Group|Transform|Shape|IndexedFaceSet.- Parameters:
newValue
- is new value for the skin field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
addSkin
Add array of child skin nodes to array of existing nodes (if any).
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to Group|Transform|Shape|IndexedFaceSet.- Parameters:
newValue
- is new value array to be appended the skin field.
-
setSkin
Set single child skin node, replacing prior array of existing nodes (if any).- Parameters:
newValue
- is new node for the skin field
-
getSkinBindingCoords
X3DNode getSkinBindingCoords()Provide org.web3d.x3d.sai.Core.X3DNode instance (using a properly typed node) with acceptable node types limited to Coordinate|CoordinateDouble, from inputOutput SFNode field skinBindingCoords.
Tooltip: [Coordinate|CoordinateDouble] Array of Coordinate nodes to handle non-default source pose so that both skin and skeleton can be in same binding pose.- Warning: index values for HanimHumanoid skin IndexedFaceSet, skinCoord and skinNormal nodes must all be consistently defined together with HAnimJoint HAnimSegment and HAnimDisplacer nodes for proper skin animation.
- Warning: top-level Coordinate or CoordinateDouble nodes must include containerField='skinBindingCoords' for proper validation and operation.
- Hint: a single node is used so that coordIndex references are consistent for all references to these coordinates.
- Warning: requires X3D profile='Full' or else include <component name='HAnim' level='2'/>
- Warning: for X3D3 HAnim1, spelling of component name is 'H-Anim' (including hyphen).
- Warning: not used when skeletalConfiguration='BASIC'.
- Returns:
- value of skinBindingCoords field
-
setSkinBindingCoords
Accessor method to assign org.web3d.x3d.sai.Core.X3DNode instance (using a properly typed node) to inputOutput SFNode field skinBindingCoords.
Tooltip: [Coordinate|CoordinateDouble] Array of Coordinate nodes to handle non-default source pose so that both skin and skeleton can be in same binding pose.- Warning: index values for HanimHumanoid skin IndexedFaceSet, skinCoord and skinNormal nodes must all be consistently defined together with HAnimJoint HAnimSegment and HAnimDisplacer nodes for proper skin animation.
- Warning: top-level Coordinate or CoordinateDouble nodes must include containerField='skinBindingCoords' for proper validation and operation.
- Hint: a single node is used so that coordIndex references are consistent for all references to these coordinates.
- Warning: requires X3D profile='Full' or else include <component name='HAnim' level='2'/>
- Warning: for X3D3 HAnim1, spelling of component name is 'H-Anim' (including hyphen).
- Warning: not used when skeletalConfiguration='BASIC'.
- Parameters:
newValue
- is new value for the skinBindingCoords field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getSkinBindingNormals
X3DNormalNode getSkinBindingNormals()Provide org.web3d.x3d.sai.Rendering.X3DNormalNode instance (using a properly typed node) from inputOutput SFNode field skinBindingNormals.
Tooltip: [X3DNormalNode] Array of Normal nodes to handle non-default source pose so that both skin and skeleton can be in same binding pose.- Warning: index values for HanimHumanoid skin IndexedFaceSet, skinCoord and skinNormal nodes must all be consistently defined together with HAnimJoint HAnimSegment and HAnimDisplacer nodes for proper skin animation.
- Warning: top-level Normal nodes must include containerField='skinBindingNormals' for proper validation and operation.
- Warning: requires X3D profile='Full' or else include <component name='HAnim' level='2'/>
- Warning: for X3D3 HAnim1, spelling of component name is 'H-Anim' (including hyphen).
- Warning: not used when skeletalConfiguration='BASIC'.
- Returns:
- value of skinBindingNormals field
-
setSkinBindingNormals
Accessor method to assign org.web3d.x3d.sai.Rendering.X3DNormalNode instance (using a properly typed node) to inputOutput SFNode field skinBindingNormals.
Tooltip: [X3DNormalNode] Array of Normal nodes to handle non-default source pose so that both skin and skeleton can be in same binding pose.- Warning: index values for HanimHumanoid skin IndexedFaceSet, skinCoord and skinNormal nodes must all be consistently defined together with HAnimJoint HAnimSegment and HAnimDisplacer nodes for proper skin animation.
- Warning: top-level Normal nodes must include containerField='skinBindingNormals' for proper validation and operation.
- Warning: requires X3D profile='Full' or else include <component name='HAnim' level='2'/>
- Warning: for X3D3 HAnim1, spelling of component name is 'H-Anim' (including hyphen).
- Warning: not used when skeletalConfiguration='BASIC'.
- Parameters:
newValue
- is new value for the skinBindingNormals field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getSkinCoord
X3DNode getSkinCoord()Provide org.web3d.x3d.sai.Core.X3DNode instance (using a properly typed node) with acceptable node types limited to Coordinate|CoordinateDouble, from inputOutput SFNode field skinCoord.
Tooltip: [Coordinate|CoordinateDouble] Coordinate node utilized by indexed mesh definitions for skin. The skinCoord field contains a single sequence of points, used by internal HAnimHumanoid mechanisms to create appropriate surface deformations as well as by the indexed face set definitions within the skin field that perform the actual rendering of surface geometry.- Warning: index values for HanimHumanoid skin IndexedFaceSet, skinCoord and skinNormal nodes must all be consistently defined together with HAnimJoint HAnimSegment and HAnimDisplacer nodes for proper skin animation.
- Warning: top-level Coordinate or CoordinateDouble node must include containerField='skinCoord' for proper validation and operation.
- Hint: a single node is used so that coordIndex references are consistent for all references to these coordinates.
- Warning: requires X3D profile='Full' or else include <component name='HAnim' level='2'/>
- Warning: for X3D3 HAnim1, previous spelling of component name was 'H-Anim' (including hyphen).
- Returns:
- value of skinCoord field
-
setSkinCoord
Accessor method to assign org.web3d.x3d.sai.Core.X3DNode instance (using a properly typed node) to inputOutput SFNode field skinCoord.
Tooltip: [Coordinate|CoordinateDouble] Coordinate node utilized by indexed mesh definitions for skin. The skinCoord field contains a single sequence of points, used by internal HAnimHumanoid mechanisms to create appropriate surface deformations as well as by the indexed face set definitions within the skin field that perform the actual rendering of surface geometry.- Warning: index values for HanimHumanoid skin IndexedFaceSet, skinCoord and skinNormal nodes must all be consistently defined together with HAnimJoint HAnimSegment and HAnimDisplacer nodes for proper skin animation.
- Warning: top-level Coordinate or CoordinateDouble node must include containerField='skinCoord' for proper validation and operation.
- Hint: a single node is used so that coordIndex references are consistent for all references to these coordinates.
- Warning: requires X3D profile='Full' or else include <component name='HAnim' level='2'/>
- Warning: for X3D3 HAnim1, previous spelling of component name was 'H-Anim' (including hyphen).
- Parameters:
newValue
- is new value for the skinCoord field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getSkinNormal
X3DNormalNode getSkinNormal()Provide org.web3d.x3d.sai.Rendering.X3DNormalNode instance (using a properly typed node) from inputOutput SFNode field skinNormal.
Tooltip: [X3DNormalNode] Single Normal node utilized by indexed mesh definitions for skin. The skinNormal field contains a single sequence of normal values, used by internal HAnimHumanoid mechanisms to create appropriate surface deformations as well as by the indexed face set definitions within the skin field that perform the actual rendering of surface geometry.- Warning: index values for HanimHumanoid skin IndexedFaceSet, skinCoord and skinNormal nodes must all be consistently defined together with HAnimJoint HAnimSegment and HAnimDisplacer nodes for proper skin animation.
- Warning: top-level Normal node must include containerField='skinNormal' for proper validation and operation.
- Warning: requires X3D profile='Full' or else include <component name='HAnim' level='2'/>
- Warning: for X3D3 HAnim1, spelling of component name is 'H-Anim' (including hyphen).
- Returns:
- value of skinNormal field
-
setSkinNormal
Accessor method to assign org.web3d.x3d.sai.Rendering.X3DNormalNode instance (using a properly typed node) to inputOutput SFNode field skinNormal.
Tooltip: [X3DNormalNode] Single Normal node utilized by indexed mesh definitions for skin. The skinNormal field contains a single sequence of normal values, used by internal HAnimHumanoid mechanisms to create appropriate surface deformations as well as by the indexed face set definitions within the skin field that perform the actual rendering of surface geometry.- Warning: index values for HanimHumanoid skin IndexedFaceSet, skinCoord and skinNormal nodes must all be consistently defined together with HAnimJoint HAnimSegment and HAnimDisplacer nodes for proper skin animation.
- Warning: top-level Normal node must include containerField='skinNormal' for proper validation and operation.
- Warning: requires X3D profile='Full' or else include <component name='HAnim' level='2'/>
- Warning: for X3D3 HAnim1, spelling of component name is 'H-Anim' (including hyphen).
- Parameters:
newValue
- is new value for the skinNormal field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getTranslation
float[] getTranslation()Provide array of 3-tuple float results from inputOutput SFVec3f field named translation.
Tooltip: Position of children relative to local coordinate system.- Hint: since default pose faces along +Z axis, -x values are right side and +x values are left side within HAnimHumanoid.
- Returns:
- value of translation field
-
setTranslation
Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named translation.
Tooltip: Position of children relative to local coordinate system.- Hint: since default pose faces along +Z axis, -x values are right side and +x values are left side within HAnimHumanoid.
- Parameters:
newValue
- is new value for the translation field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getVersion
String getVersion()Provide String enumeration value (baseType xs:NMTOKEN) ["2.0"] from inputOutput SFString field named version.
Tooltip: HAnimHumanoid version, where allowed value is 2.0 for final ISO 19774 version 2019.- Hint: default HAnimHumanoid version is 1.0 for X3D version 3, and HAnimHumanoid required version is 2.0 for X3D version 4.
- Warning: no other values are allowed for strict validation.
- Warning: prior developmental versions of HAnim nodes, such as version 1 of standardized ISO 19774 version 2006, might not validate correctly due to small changes in the contained-node content model, so conversion of such models is recommended.
- Returns:
- value of version field
-
setVersion
Accessor method to assign String enumeration value ("2.0") to inputOutput SFString field named version.
Tooltip: HAnimHumanoid version, where allowed value is 2.0 for final ISO 19774 version 2019.- Hint: default HAnimHumanoid version is 1.0 for X3D version 3, and HAnimHumanoid required version is 2.0 for X3D version 4.
- Warning: no other values are allowed for strict validation.
- Warning: prior developmental versions of HAnim nodes, such as version 1 of standardized ISO 19774 version 2006, might not validate correctly due to small changes in the contained-node content model, so conversion of such models is recommended.
- Parameters:
newValue
- is new value for the version field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getViewpoints
X3DNode[] getViewpoints()Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field viewpoints.
Tooltip: [HAnimSite] List of HAnimSite nodes containing Viewpoint nodes that appear in the skeleton model, usually as USE node references. The viewpoints field contains zero or more special HAnimSite nodes that are only affected by HAnimHumanoid transformations (and no HAnimJoint transformations). Each HAnimSite can contain a Viewpoint as virtual camera in the HAnimHumanoid reference frame (such as viewing the face or profile of the human figure).- Warning: these are actual node declarations, not USE nodes.
- Hint: the viewpoint field has different functionality than the joints, segments and sites fields.
- Hint: the viewpoints field connects internal Site nodes that in turn hold relative Viewpoint nodes, such as <HAnimSite USE='ObserveFaceSite_view' containerField='viewpoints'/> which has corresponding counterpart nodes <HAnimSite DEF='ObserveFaceSite_view' name='ObserveFaceSite_view' containerField='children'> <Viewpoint description='look at me!'/> </HAnimSite>.
- Warning: top-level HAnimSite nodes (in turn containing Viewpoint nodes) must include containerField='viewpoints' for proper validation and operation.
Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimSite.- Returns:
- value of viewpoints field
- See Also:
-
setViewpoints
Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field viewpoints.
Tooltip: [HAnimSite] List of HAnimSite nodes containing Viewpoint nodes that appear in the skeleton model, usually as USE node references. The viewpoints field contains zero or more special HAnimSite nodes that are only affected by HAnimHumanoid transformations (and no HAnimJoint transformations). Each HAnimSite can contain a Viewpoint as virtual camera in the HAnimHumanoid reference frame (such as viewing the face or profile of the human figure).- Warning: these are actual node declarations, not USE nodes.
- Hint: the viewpoint field has different functionality than the joints, segments and sites fields.
- Hint: the viewpoints field connects internal Site nodes that in turn hold relative Viewpoint nodes, such as <HAnimSite USE='ObserveFaceSite_view' containerField='viewpoints'/> which has corresponding counterpart nodes <HAnimSite DEF='ObserveFaceSite_view' name='ObserveFaceSite_view' containerField='children'> <Viewpoint description='look at me!'/> </HAnimSite>.
- Warning: top-level HAnimSite nodes (in turn containing Viewpoint nodes) must include containerField='viewpoints' for proper validation and operation.
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimSite.- Parameters:
newValue
- is new value for the viewpoints field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
addViewpoints
Add array of child viewpoints nodes to array of existing nodes (if any).
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to HAnimSite.- Parameters:
newValue
- is new value array to be appended the viewpoints field.
-
setViewpoints
Set single child viewpoints node, replacing prior array of existing nodes (if any).- Parameters:
newValue
- is new node for the viewpoints field
-
getVisible
boolean getVisible()Provide boolean value from inputOutput SFBool field named visible.
Tooltip: Whether or not renderable content within this node is visually displayed.- Hint: the visible field has no effect on animation behaviors, event passing or other non-visual characteristics.
- Hint: content must be visible to be collidable and to be pickable.
- Specified by:
getVisible
in interfaceX3DBoundedObject
- Returns:
- value of visible field
-
setVisible
Accessor method to assign boolean value to inputOutput SFBool field named visible.
Tooltip: Whether or not renderable content within this node is visually displayed.- Hint: the visible field has no effect on animation behaviors, event passing or other non-visual characteristics.
- Hint: content must be visible to be collidable and to be pickable.
- Specified by:
setVisible
in interfaceX3DBoundedObject
- Parameters:
newValue
- is new value for the visible field.- Returns:
HAnimHumanoid
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-