[x3d-public] HAnim 1.0, 2.0 joint, segment and featurePoint names implemented in X3DUOM, X3DJSAIL

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Sun Mar 3 23:17:43 PST 2019


Progress report.  Following up on progress with X3Dv4 XML Schema and X3D Unified Object Model (X3DUOM), all of the allowed X3Dv4 / HAnim v2.0 enumerations for jointName, segmentName and featurePointName are now implemented in X3DJSAIL as lists and utility methods.  Accessor methods are also provided for index, Level of Articulation (LOA), alias and parent.

===================================================================
X3D Java Scene Access Interface Library (X3DJSAIL)
http://www.web3d.org/specifications/java/X3DJSAIL.html

X3D Java Scene Access Interface Library (X3DJSAIL) supports programmers with standards-based X3D Java interfaces and objects, all as open source.
===================================================================

Example documentation:
http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/HAnim/HAnimJointObject.html
http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/HAnim/HAnimJointObject.html#jointNameValues
http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/HAnim/HAnimJointObject.html#getName--
http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/HAnim/HAnimJointObject.html#setName-java.lang.String-

static boolean 	hasJointNameAlias(java.lang.String jointName)
		Whether a alias exists for this jointName
static boolean 	hasJointNameIndex(java.lang.String jointName)
		Whether an index exists for this jointName
static boolean 	hasJointNameLoa(java.lang.String jointName)
		Whether an loa exists for this jointName
static boolean 	hasJointNameParent(java.lang.String jointName)
		Whether a parent exists for this jointName

static java.lang.String	getJointNameAlias(java.lang.String jointName)
			Get alias for this jointName
static int 		getJointNameIndex(java.lang.String jointName)
			Get index for this jointName
static int 		getJointNameLoa(java.lang.String jointName)
			Get Level of Articulation (loa) for this jointName
static java.lang.String	getJointNameParent(java.lang.String jointName)
			Get parent for this jointName

etc. etc.  Similar enumeration lists can be found in HAnimSegment and HAnimSite.

Joe, thanks for all the excellent work on aliases.  If you want to continue and integrate corresponding values for object centers and site translations, we can update all these assets further.  Starting-point example values are found in

* HAnim 1.0 Annex A (informative) Nominal body dimensions and levels of articulation
   http://www.web3d.org/documents/specifications/19774/V1.0/HAnim/BodyDimensionsAndLOAs.html

Looking ahead: next round of X3DJSAIL implementation work will add parent-child validation checks for HAnimJoint, HAnimSegment and HAnimSite nodes.  Might possibly skeleton-tree serialization output as well.  The alias values will allow backwards validation of HAnim 1.0 (X3Dv3) models.  Such capabilities will significantly improve our Quality Assurance (QA) of HAnim models.

We will then work on upgrading X3D Schematron rules and HAnim example scenes to X3Dv4 / HAnim2.0 specifications.

	X3D Example Archives: Basic, Humanoid Animation
	http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation

It remains our hope that HAnimsupport v2.0 representations for full anatomical fidelity of skeleton models and BVH-style motion animation will eventually lead to better support for accurate human modeling in medical tools and electronic health records.

Onward we go.  Have fun with Humanoid Animation (HAnim)!   8)

all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman


More information about the x3d-public mailing list