<html 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 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Great! Should help out with mapToMethod.js, generating setIS.</p><p class=MsoNormal><br>Thanks a bunch, now to change mapToMethodGenerator.py</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>You may want to look at mapToMethod2.js for any additional items to add to X3DUOM!</p><p class=MsoNormal><br>John</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>===========================================</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>4. Don has made some changes to X3D Unified Object Model (X3DUOM) that are reflected in the latest build, adding "IS" "connect" and "field" support.  These match the design patterns for other fields.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Excerpted:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>:X3DNode a owl:Class .</p><p class=MsoNormal>:hasIS a owl:ObjectProperty ;</p><p class=MsoNormal>   rdfs:domain :X3DNode ;</p><p class=MsoNormal>   rdfs:range :IS ;</p><p class=MsoNormal>   rdfs:subPropertyOf :hasChild .</p><p class=MsoNormal>:fieldISHasParentX3DNode a owl:ObjectProperty ;</p><p class=MsoNormal>   owl:inverseOf :hasIS ;</p><p class=MsoNormal>   rdfs:subPropertyOf :hasParentX3DNode .</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>:connect a owl:Class .</p><p class=MsoNormal>:nodeField a owl:DatatypeProperty ;</p><p class=MsoNormal>   rdfs:domain :connect ;</p><p class=MsoNormal>   rdfs:range x3d:SFString .</p><p class=MsoNormal>:protoField a owl:DatatypeProperty ;</p><p class=MsoNormal>   rdfs:domain :connect ;</p><p class=MsoNormal>   rdfs:range x3d:SFString .</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Background: IS/connect constructs are used to join nodes/fields within a ProtoBody, a fairly advanced X3D capability. Script and various Shader nodes have field definitions.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Tooltips:</p><p class=MsoNormal>- https://web3d.org/x3d/content/X3dTooltips.html#IS</p><p class=MsoNormal>- https://web3d.org/x3d/content/X3dTooltips.html#connect</p><p class=MsoNormal>- https://web3d.org/x3d/content/X3dTooltips.html#field</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>===========================================</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>