<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-GB link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Andreas,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Your work below is very timely! Script node handling is under serious consideration at the moment with respect to the next version of the specifications. So we will look at your examples with great interest. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Regards,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Roy<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> x3d-public [mailto:x3d-public-bounces@web3d.org] <b>On Behalf Of </b>Andreas Plesch<br><b>Sent:</b> 16 September 2015 08:30<br><b>To:</b> X3D Graphics public mailing list<br><b>Subject:</b> [x3d-public] x3d script to x3dom scripting example<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><div><div><div><p class=MsoNormal style='margin-bottom:12.0pt'>Since I had a need to fix proper text alignment in x3dom, I ported the Nist conformance text driver example scene:<br><br><a href="http://www.web3d.org/x3d/content/examples/ConformanceNist/Appearance/FontStyle/driver.html">http://www.web3d.org/x3d/content/examples/ConformanceNist/Appearance/FontStyle/driver.html</a><br><br><a href="http://www.web3d.org/x3d/content/examples/ConformanceNist/Appearance/FontStyle/driver.js">http://www.web3d.org/x3d/content/examples/ConformanceNist/Appearance/FontStyle/driver.js</a><o:p></o:p></p></div><p class=MsoNormal style='margin-bottom:12.0pt'>to x3dom. It uses touchsensors and a x3d javascript script to modify the text font style alignment fields. Both nodes, touchsensor and script are not supported directly in x3dom. Instead one can use native web browser functionality for a x3dom style scene access interface. The ported scene is here:<br><br><a href="http://andreasplesch.github.io/x3dom/x3dom_text/driver_x3dom.xhtml">http://andreasplesch.github.io/x3dom/x3dom_text/driver_x3dom.xhtml</a><o:p></o:p></p></div><p class=MsoNormal style='margin-bottom:12.0pt'>I added some commenting in the x3d scene to point out what was necessary both in the xml and in the javascript.<o:p></o:p></p><div><div><div><p class=MsoNormal style='margin-bottom:12.0pt'>Here are source views:<br><br><a href="https://github.com/andreasplesch/x3dom/blob/gh-pages/x3dom_text/driver_x3dom.xhtml">https://github.com/andreasplesch/x3dom/blob/gh-pages/x3dom_text/driver_x3dom.xhtml</a><br><a href="https://github.com/andreasplesch/x3dom/blob/gh-pages/x3dom_text/driver_x3dom.js">https://github.com/andreasplesch/x3dom/blob/gh-pages/x3dom_text/driver_x3dom.js</a><o:p></o:p></p></div><div><p class=MsoNormal>One could probably find more elegant code but this tries to stick closely to the original.<br clear=all><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'>One can see that some work is involved in the porting to define the interface but the main functionality remains as is.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'>Hopefully this can help as a starting point if there is a need to convert existing, scripted x3d scenes to x3dom,  for example to integrate more tightly with a surrounding web page.<o:p></o:p></p></div><div><p class=MsoNormal>Andreas<o:p></o:p></p></div><div><p class=MsoNormal><br>-- <o:p></o:p></p><div><p class=MsoNormal>Andreas Plesch<br>39 Barbara Rd.<br>Waltham, MA 02453<o:p></o:p></p></div></div></div></div></div></div></body></html>