[x3d-public] X3DJSAIL reverses order of skin and skinCoord fields in HAnimHumanoid
John Carlson
yottzumm at gmail.com
Thu Feb 6 20:11:50 PST 2025
Summary. Please make sure input XML and output XML order field in
HAnimHumanoid agree in X3DJSAIL. or solve the DEF/USE problem.
Most obvious, skinCoord and skin become reversed.
We need to make sure all our tools agree on field order. I will work on
WinterAndSpring (the original source).
$ java -cp ~/Downloads/X3DJSAIL.4.0.full.jar
org.web3d.x3d.jsail.CommandLine -toXML Gramps8Final.x3d >
Gramps8Final.x3d.out
Order switched between input XML and output XML:
$ grep GrampsSkinCoord Gramps8Final.x3d*
Gramps8Final.x3d: <Coordinate
DEF="GrampsSkinCoord" containerField="skinCoord"
Gramps8Final.x3d:
<Coordinate USE="GrampsSkinCoord" />
Gramps8Final.x3d.out: <Coordinate USE='GrampsSkinCoord'/>
Gramps8Final.x3d.out: <Coordinate DEF='GrampsSkinCoord'
containerField='skinCoord'/>
If you're going to swap the fields, swap the DEF/USE too.
============================================================================================
Less obvious:
Original XML:
Gramps8Final.x3d: <Coordinate
DEF="GrampsSkinCoord" containerField="skinCoord"
Gramps8Final.x3d:
<Coordinate USE="GrampsSkinCoord" />
---------------------------------------------------------------------------------------------
Translated JSON:
Gramps8Final.json:
"@DEF":"GrampsSkinCoord",
Gramps8Final.json:
"@USE":"GrampsSkinCoord"
--------------------------------------------------------------------------------------------------------
My GraalJS code (derived from JSON):
.setSkinCoord(new
Coordinate().setContainerFieldOverride("skinCoord").setDEF("Gramps
.setCoord(new Coordinate().setUSE("GrampsSkinCoord"))
-------------------------------------------------------------------------------------------------
My Java code (doesn't compile):
.setSkinCoord(((Coordinate)new
Coordinate().setContainerFieldOverride("skinCoord")).
.setCoord(new Coordinate().setUSE("GrampsSkinCoord"))
------------------------------------------------------------------------------------------------------
Output X3DJSAIL XML (from GraalJS code):
Gramps_WS.scaled1.x3d: <Coordinate USE='GrampsSkinCoord'/>
Gramps_WS.scaled1.x3d: <Coordinate DEF='GrampsSkinCoord'
containerField='skinCoord' point
This seems to be the problem of DEF/USE in or field order HAnimHumanoid
fields.
Original too big to attach. See link: https://coderextreme.net/Gramps8.zip
GitHub doesn't like large files.
John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250206/198734d7/attachment.html>
More information about the x3d-public
mailing list