<div><div dir="auto">I will continue to support X3DJSAIL and X3D JSON. Otherwise, I’m waiting on interested parties with use cases. What are the top priorities on the wish list? My top priority creating/fixing test cases for JSON. AFAIK, JSON continues to work in X3DOM and X_ITE?</div><div dir="auto"><br></div><div dir="auto">I realize that the interfaces between Java and Python to JavaScript may not be working properly.</div><div dir="auto"><br></div><div dir="auto">Should we review the JSON working draft? Has it changed recently?</div><div dir="auto"><br></div><div dir="auto"> Tasks in X3DJSONLD will be ongoing work with bundling. I have introduced some window . globals that need to be addressed.</div><div dir="auto"><br></div><div dir="auto">John</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 22, 2021 at 7:44 AM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
<div lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div>
<p class="MsoNormal">Hi John, you addressed this to me so I will reply.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">As ever, extensions and examples are always welcome. Any changes to x3d.py itself will need to be native Python with clearly understood use cases.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Good luck with your Python programming efforts.<u></u><u></u></p></div></div><div lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word"><div>
<div>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New""><u style="font-family:"Courier New""></u> <u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">all the best, Don<u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">-- <u style="font-family:"Courier New""></u>
<u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Don Brutzman Naval Postgraduate School, Code USW/Br <a href="mailto:brutzman@nps.edu" style="font-family:"Courier New"" target="_blank">brutzman@nps.edu</a><u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149<u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">X3D graphics, virtual worlds, navy robotics https://</span>
<span style="font-size:10pt;font-family:"Courier New""><a href="http://faculty.nps.edu/brutzman" style="font-family:"Courier New"" target="_blank">faculty.nps.edu/brutzman</a><u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div style="border-style:solid none none;border-top-width:1pt;padding:3pt 0in 0in;border-top-color:rgb(225,225,225)">
<p class="MsoNormal"><b>From:</b> John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> <br>
<b>Sent:</b> Sunday, November 21, 2021 7:25 PM<br>
<b>To:</b> Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>><br>
<b>Cc:</b> <a href="mailto:vmarchetti@kshell.com" target="_blank">vmarchetti@kshell.com</a>; X3D Graphics Working Group <<a href="mailto:x3d@web3d.org" target="_blank">x3d@web3d.org</a>><br>
<b>Subject:</b> Re: [x3d] Ideas for the x3d.py package development - JSON support<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<div>
<p class="MsoNormal">What I’m envisioning is a set of python methods for building a dict for output with the json package or a set of methods for outputting a JSON string.
<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I’m also envisioning a set of methods for taking a dict and producing a x3d.py scene graph.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Let me know if I am off base.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">John<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Sent from my iPad<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><br>
<br>
<u></u><u></u></p>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal" style="margin-bottom:12pt">On Nov 19, 2021, at 3:30 AM, Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:<u></u><u></u></p>
</blockquote>
</div>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<div>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Developers and users might do anything, but one of the declared goals of X3DPSAIL x3d.py is minimalist pure python. So far it has no library dependencies other than built-in Python capabilities. See current NumPy discussion for more rationale
about staying lightweight, avoiding namespace pollution and hidden dependencies/conflicts, etc.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Here is more about use of Saxon with Pyt<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in">StackOverflow use saxon with python,
<u></u><u></u></li><li style="margin-left:0in"><a href="https://stackoverflow.com/questions/29443364/use-saxon-with-python" target="_blank">https://stackoverflow.com/questions/29443364/use-saxon-with-python</a><u></u><u></u></li></ul>
<p class="MsoNormal"> <u></u><u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in">Saxon/C - XML document processing for C/C++, PHP and Python<u></u><u></u></li><li style="margin-left:0in"><a href="https://www.saxonica.com/saxon-c/index.xml" target="_blank">https://www.saxonica.com/saxon-c/index.xml</a><u></u><u></u></li></ul>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">If you want to develop an example python program showing how to use Saxon in combination with x3d.py, then am happy to add that to the project.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Similar approach, different outcome: if you can write a simple Python program showing how to use built-in library json.load() then those code patterns can be integrated into x3d.py autogeneration.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">No magic here, we’re simply being Pythonic. 8)<u></u><u></u></p>
<div>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New""> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">all the best, Don</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">-- </span>
<u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Don Brutzman Naval Postgraduate School, Code USW/Br
<a href="mailto:brutzman@nps.edu" style="font-family:"Courier New"" target="_blank">brutzman@nps.edu</a></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">X3D graphics, virtual worlds, navy robotics https://</span>
<span style="font-size:10pt;font-family:"Courier New""><a href="http://faculty.nps.edu/brutzman" style="font-family:"Courier New"" target="_blank">faculty.nps.edu/brutzman</a></span><u></u><u></u></p>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div style="border-style:solid none none;border-top-width:1pt;padding:3pt 0in 0in;border-top-color:rgb(225,225,225)">
<p class="MsoNormal"><b>From:</b> John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>>
<br>
<b>Sent:</b> Thursday, November 18, 2021 2:26 PM<br>
<b>To:</b> Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>>;
<a href="mailto:vmarchetti@kshell.com" target="_blank">vmarchetti@kshell.com</a><br>
<b>Cc:</b> X3D Graphics Working Group <<a href="mailto:x3d@web3d.org" target="_blank">x3d@web3d.org</a>><br>
<b>Subject:</b> Re: [x3d] Ideas for the x3d.py package development - JSON support<u></u><u></u></p>
</div>
</div>
<div>
<p>Another thing we could try in X3DJSAIL and X3DPSAIL is use Saxon's capability for reading JSON and converting it.<u></u><u></u></p>
<p>It might be worth a try. We could add our own functions with/in Saxon/XSLT or something.<u></u><u></u></p>
<p>John<u></u><u></u></p>
<div>
<p class="MsoNormal">On 11/18/21 16:21, John Carlson wrote<u></u><u></u></p>
</div>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<div>
<p class="MsoNormal">On 11/18/21 09:09, Brutzman, Donald (Don) (CIV) wrote:<u></u><u></u></p>
</div>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">Hi John, thanks for your note.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">The X3DJSAIL page has a Conversions section which notes that JSON loading is still a TODO item. How do you recommend we add JSON loading similar to other loading?<u></u><u></u></p>
</blockquote>
<p class="MsoNormal">We can convert JSON to a DOM document, or otherwise change the stylesheet to create an X3DLoaderJSON.java<br>
<br>
<br>
<u></u><u></u></p>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p> <u></u><u></u></p>
<ol style="margin-top:0in" start="1" type="1">
<li style="margin-left:0in"><a href="http://www.web3d.org/specifications/java/X3DJSAIL.html#Conversions" target="_blank">http://www.web3d.org/specifications/java/X3DJSAIL.html#Conversions</a><u></u><u></u></li></ol>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">The x3d.py X3DPSAIL page was silent about this, now updated to note need for JSON exporter and loader.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<ol style="margin-top:0in" start="2" type="1">
<li style="margin-left:0in"><a href="http://www.web3d.org/specifications/java/X3DJSAIL.html#Conversions" target="_blank">http://www.web3d.org/specifications/java/X3DJSAIL.html#Conversions</a><u></u><u></u></li></ol>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">For x3d.py python note that XML, VRML97 and ClassicVRML export are provided already. I think it would be a straightforward matter to add export of JSON via print statements. Shall we write that together? Hopefully I can meet next Monday
afternoon.<u></u><u></u></p>
</blockquote>
<p>I'm pretty sure I will be available. My brain is toast after a long session where I'm struggling with JavaScript on X3DJSONLD.<u></u><u></u></p>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">For x3d.py python import of JSON, there is a Python built-in standard library which might be used. No doubt special configuration or data massaging will be needed. What do you think?<br>
<br>
<br>
<br>
<u></u><u></u></p>
<ol style="margin-top:0in" start="3" type="1">
<li style="margin-left:0in"><a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.python.org%2F3%2Flibrary%2Fjson.html&data=04%7C01%7Cbrutzman%40nps.edu%7C25fa2b400fbf458faa3608d9ad67a156%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637731483939897849%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=uKty3QAZDsalhGeOvD%2Fi44WiFBQi95R5%2BxBMFgRB3II%3D&reserved=0" target="_blank">https://docs.python.org/3/library/json.html</a><u></u><u></u></li></ol>
</blockquote>
<p> <u></u><u></u></p>
<p>I'm guessing we would take the output from json.load() or json.loads() and convert it to a full scenegraph.<u></u><u></u></p>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<ol style="margin-top:0in" start="4" type="1">
<li style="margin-left:0in"> <u></u><u></u></li></ol>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New""> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">all the best, Don</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">-- </span>
<u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Don Brutzman Naval Postgraduate School, Code USW/Br
<a href="mailto:brutzman@nps.edu" style="font-family:"Courier New"" target="_blank">brutzman@nps.edu</a></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">X3D graphics, virtual worlds, navy robotics https://</span>
<span style="font-size:10pt;font-family:"Courier New""><a href="http://faculty.nps.edu/brutzman" style="font-family:"Courier New"" target="_blank">faculty.nps.edu/brutzman</a></span><u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<div style="border-style:solid none none;border-top-width:1pt;padding:3pt 0in 0in;border-top-color:rgb(225,225,225)">
<p class="MsoNormal"><b>From:</b> x3d <a href="mailto:x3d-bounces@web3d.org" target="_blank"><x3d-bounces@web3d.org></a>
<b>On Behalf Of </b>John Carlson<br>
<b>Sent:</b> Wednesday, November 17, 2021 7:10 PM<br>
<b>To:</b> <a href="mailto:vmarchetti@kshell.com" target="_blank">vmarchetti@kshell.com</a><br>
<b>Cc:</b> X3D Graphics Working Group <a href="mailto:x3d@web3d.org" target="_blank"><x3d@web3d.org></a><br>
<b>Subject:</b> Re: [x3d] Ideas for the x3d.py package development<u></u><u></u></p>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<p class="MsoNormal">Don, <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Your input on converting schemas or X3DUOM to general purpose programming language code, so the schemas are no longer required (for speed) would be nice, especially for python. How do we properly validate X3D-encoded files in a fairly
performant manner?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">I am familiar with X3DJSAIL, X3DLoaderDOM.java and X3DUOM. These methods are highly successful now.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">I know how to load JSON into a DOM document.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Where I’m not clear is creating scenes from parsed JSON files (glTF and X3D) inside x3d.py and X3DJSAIL.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Would the preferred approach be calling X3DJSAIL methods inside a stylesheet?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">John<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">On Wed, Nov 17, 2021 at 1:35 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-left-width:1pt;padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt;border-left-color:rgb(204,204,204)">
<p class="MsoNormal">One thing we should probably work on for python is a fast JSON and/or XML validation. This will probably mean converting schemas to python code, like the fastjsonschema package. We should find out if this package is still maintained/upgraded.<br>
<br>
My experience with JSON Schema draft 2020-12 is that it’s extremely slow with the available python validator. I hope that something like numba will speed it up. Jeff, can we start looking into speeding up the python code we wrote for validation with numba?<br>
<br>
Thanks all!<br>
<br>
Sent from my iPad<br>
<br>
> On Nov 16, 2021, at 11:30 AM, <a href="mailto:vmarchetti@kshell.com" target="_blank">
vmarchetti@kshell.com</a> wrote:<br>
> <br>
> As a topic for the X3D WG I have some observations and proposals for the x3d.py Python package developed by
<br>
> this working groups' members and distributed by the PyPI repository at <a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpypi.org%2Fproject%2Fx3d%2F&data=04%7C01%7Cbrutzman%40nps.edu%7C25fa2b400fbf458faa3608d9ad67a156%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637731483939907808%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=6QXBpsy7mGpNpnGWJ4rlr6YGpPX3ppL9%2BlmTiNonsBw%3D&reserved=0" target="_blank">
https://pypi.org/project/x3d/</a><br>
> <br>
> I base these on experience in using this package in a Jupyter notebook, most recently as prepared for the Web3D 2021 tutorial session. The Jupyter notebook may be viewed at
<a href="https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fnbviewer.org%2Fgithub%2Fvincentmarchetti%2Fweb3d2021_jupyter_tutorial%2Fblob%2Fmain%2Fconic_figure.ipynb&data=04%7C01%7Cbrutzman%40nps.edu%7C25fa2b400fbf458faa3608d9ad67a156%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637731483939907808%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=wR5cbkSOreCPJQDasF%2Flq%2BHNT3T5gbeBSfLOS5RBtMY%3D&reserved=0" target="_blank">
http://nbviewer.org/github/vincentmarchetti/web3d2021_jupyter_tutorial/blob/main/conic_figure.ipynb</a> ; the tutorial session is at
<a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fweb3d.siggraph.org%2Fprogram%2Ftutorials-3%2F&data=04%7C01%7Cbrutzman%40nps.edu%7C25fa2b400fbf458faa3608d9ad67a156%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637731483939917768%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=nNPFzn%2F6dNAo0CcoiJ9V4%2B1hRhR3ABd%2F3mqT%2BiItW6o%3D&reserved=0" target="_blank">
https://web3d.siggraph.org/program/tutorials-3/</a><br>
> <br>
> Andreas Plesch also used the x3d package in Jupyter in his work on creating X3D from STEP files:<br>
> See the notebook at <a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fnbviewer.org%2Fgithub%2Fandreasplesch%2FOCCToX3D%2Fblob%2Fconda2%2Fnotebooks%2Fdoc_to_wire_vrml.ipynb&data=04%7C01%7Cbrutzman%40nps.edu%7C25fa2b400fbf458faa3608d9ad67a156%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637731483939917768%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=FSqP%2BONYXsBINosGtIy66LhypzVLb0D0sUi4ZJEAUlw%3D&reserved=0" target="_blank">
https://nbviewer.org/github/andreasplesch/OCCToX3D/blob/conda2/notebooks/doc_to_wire_vrml.ipynb</a> in which the x3d package is used to generate a Viewpoint node<br>
> <br>
> My observations and proposals.<br>
> <br>
> 1. The x3d package can, for some cases, emit invalid X3D markup for SFString values. As an example, a MetadataSet node with a name field of items' -- meaning the SFString is a 5 character string, and the last character is an apostrophe. The Python script
evaluate_SFString_XML_encoding.py attached below demonstrates constructing this case using x3d package, the resulting XML output is:<br>
> <MetadataSet name='items''/><br>
> which is not valid XML.<br>
> <br>
> The markup generated by the xml.etree library, not using the x3d.py package is:<br>
> <MetadataSet name="items'" /><br>
> which is valid XML<br>
> <br>
> 2. I do not see that there is a way to generate the XML or HTML5 markup for the few remaining cases where the XML and HTML5 encoding will require the use of the XML 'containerField' XML attribute to resolve the interpretation of a XML element. One essential
case in which this appears is an XML MetadataString element as an XML child of an MetadataSet XML element, but can be either a value of the "metadata" X3D field or a member of the "value" X3D field. I don't believe a modification of the default values rules
can fully resolve this ambiguity without use of an explicit containerField attribute for some cases.<br>
> <br>
> 3. A proposed extension of the x3d package is to modify the type checking done so that an array created in the popular numpy package (
<a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fnumpy.org%2F&data=04%7C01%7Cbrutzman%40nps.edu%7C25fa2b400fbf458faa3608d9ad67a156%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637731483939927716%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=89gfZ%2BNXDWFugYp27SHvNy159NSKAnEdAwHvDiscKw4%3D&reserved=0" target="_blank">
https://numpy.org/</a> ) can be used as the value of an MFVec3f field. The attached script evaluate_numpy_typechecking.py demonstrates a usage of this, in which a rank 2 numpy array is used as the value of an MFVec3f for the Coordinate node of a IndexedTriangleSet<br>
> <br>
> <br>
> Vince Marchetti<br>
> <br>
> _______________________________________________<br>
> x3d mailing list<br>
> <a href="mailto:x3d@web3d.org" target="_blank">x3d@web3d.org</a><br>
> <a href="http://web3d.org/mailman/listinfo/x3d_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d_web3d.org</a><u></u><u></u></p>
</blockquote>
</div>
</div>
</blockquote>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote></div></div>
</div>