<div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12pt"><p style="margin: 0.1rem 0; line-height: 1.0;"><span style="color: #000000; font-family: 'Times New Roman'; font-size: medium; white-space: normal; float: none; display: inline;">> No, I'm not going to read the SAI standard.</span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;">Then you will not have a good idea of how the event system works. </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
</div>
<div class="elnk-inline-message-container" style="border-left: 1px solid #aaa; box-sizing: border-box; padding: 10px 0 10px 15px; margin: 0;">
<p>-----Original Message-----<br>From: John Carlson <yottzumm@gmail.com><br>Sent: Aug 26, 2023 2:10 AM<br>To: X3D Graphics public mailing list <x3d-public@web3d.org>, Holger Seelig <holger.seelig@yahoo.de><br>Subject: [x3d-public] BVHacker, HAnim transformation, TypeScript SAI?</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">I would like to create a way to "render" HAnim animations/transformations to one or more X3D encodings, in particular, I would like to do this in a headless manner (no screen involved). In particular, I would like to solve the problem of moving the humanoid between different poses and saving them off. I realize that many animation tools probably already do this. I know that SFMatrix and MFMatrix SAI can do matrix multiplication (no quaternions??) and that may be important.  But more important is making skins and skeletons from different systems to work together. Doug recommended BVHacker, <a href="https://bvhacker.com/">bvhacker - home</a>.</div>
<div dir="ltr"> </div>
<div>I would use X3DOM or X_ITE if I could separate the rendering, X_ITE has Browser.toJSONString(), which I may experiment a bit with, and I want to address the skin and the skeleton separately, like rotating the skin 180 degrees, but not the skeleton.  Something like x3d-tidy or tovrmlx3d might be used to "animate" the humanoid.  That's up to those authors.</div>
<div> </div>
<div>So I think a bit about using XSLT and creating a TypeScript SAI.  I would likely modify the X3DJSAIL XSLT that takes the X3DUOM and produces X3DJSAIL, Python doesn't have a way to import any encoding that I know of (no createX3D...). X3DJSAIL has X3DLoaderDOM.java, which will allow me to import JSON as DOM which lets me use X3DJSONLD (I hope this works, otherwise I'll be riding the XML bandwagon!). C/C++/C# SAI looks like an empty shell (I realize there may be some DLLs).</div>
<div> </div>
<div>I choose not to modify the X3DJSAIL codebase beyond the stylesheet.  I'm not going there.  But my changes might be backported to Java.  I will attempt to use the SaxonJS product, if it is good enough, to be able to use x3dTo...xslt in the program. X3DJSAIL offers everything that I know I need except for applying transforms to centers.</div>
<div> </div>
<div>I chose TypeScript over JavaScript/ECMAScript because I feel the former is closer to Java than the latter two.</div>
<div> </div>
<div>No, I'm not going to read the SAI standard. I have to learn TypeScript.</div>
<div> </div>
<div>If anyone knows a way to easily design XSLT (Something like XSLbyDemo), let me know...XMLSpy?</div>
<div> </div>
<div>John</div>
</div>
</div>
</div>

<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>