<div dir="ltr"><div dir="ltr"><div dir="auto">Hi John,<br>
<br>
the mybinder notebooks are not permanent. Saving only works for one session.<br>
<br>
The .toFileX_ITE() generated html has too much styling to be useful for jupyter.<br>
<br>
But just manually creating the proper minimal HTML, similar to x3dom, works better, after generating the x3d as file in the docker instance.<br>
<br>
Unfortunately, the html served in the HTML display does not use the local home as root, so it is not possible to just point to the x3d file as a relative url.<br>
<br>I added a couple of attempt to use x_ite to the jupyter notebook here:<br>
<br>
<a href="https://mybinder.org/v2/gh/andreasplesch/conda/master/?urlpath=lab/tree/sphere.ipynb" rel="noreferrer noreferrer" target="_blank">https://mybinder.org/v2/gh/andreasplesch/conda/master/?urlpath=lab/tree/sphere.ipynb</a></div><div dir="auto"><br></div><div>but had to give up.</div><div><br></div><div>x_ite works in an iframe with a accessible, remote url but does not work with a local url, in jupyterlab on mybinder. Perhaps it works on a local install.</div><div><br></div><div>Maybe I will try and see if textures and inlines work in x3dom on jupyter.</div><div><br></div><div>Cheers, Andreas</div><div dir="auto"><br></div></div></div><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
On Wed, May 22, 2019 at 11:37 AM John Carlson <<a href="mailto:yottzumm@gmail.com" rel="noreferrer" target="_blank">yottzumm@gmail.com</a>> wrote:<br>
><br>
> I welcome feedback on this X_ITE version, in a second notebook in your binder.  I merely stepped into the XML output 140 characters to arrive at something I could put between X3DCanvas tags.<br>
><br>
> <br>
><br>
> I’m not sure if this link will get you there, but it got me there.  I think the notebook is titled x_ite_sphere.ipynb.<br>
><br>
> <a href="https://hub.mybinder.org/user/andreasplesch-conda-vpb30a9r/lab" rel="noreferrer noreferrer" target="_blank">https://hub.mybinder.org/user/andreasplesch-conda-vpb30a9r/lab</a><br>
><br>
> <br>
><br>
> Needs debugged.  I don’t quite know what’s missing, looks like shaders.   See console log.<br>
><br>
> <br>
><br>
> Probably we need a released version?<br>
><br>
> <br>
><br>
> Twitter keeps the first 140 characters, and we drop them.   Heh!<br>
><br>
> <br>
><br>
> All the more reason to pass parameters or provide alternative functions.<br>
><br>
> <br>
><br>
> John<br>
><br>
> <br>
><br>
> Sent from Mail for Windows 10<br>
><br>
> <br>
><br>
> From: Andreas Plesch<br>
> Sent: Wednesday, May 22, 2019 7:08 AM<br>
> To: John Carlson<br>
> Cc: X3D Graphics public mailing list<br>
> Subject: Re: [x3d-public] jupyter notebook<br>
><br>
> <br>
><br>
> Hi John,<br>
><br>
> <br>
><br>
> X_ITE needs an additional X3DCanvas element wrapper:<br>
><br>
> <br>
><br>
> <a href="http://create3000.de/x_ite/getting-started/" rel="noreferrer noreferrer" target="_blank">http://create3000.de/x_ite/getting-started/</a><br>
><br>
> <br>
><br>
> And the x3d in a file.<br>
><br>
> <br>
><br>
> You could write the xml to a file in jupyter with python. But then the<br>
><br>
> file probably also needs to be served by a HTTP server. Since jupyter<br>
><br>
> is already served (even locally) to allow for the web interface,<br>
><br>
> perhaps it works to just point to the file as a relative url, as in<br>
><br>
> the example on the x_ite web page.<br>
><br>
> <br>
><br>
> With my x_ite_dom js bridge, it may work the same as with x3dom.<br>
><br>
> <br>
><br>
> -Andreas<br>
><br>
> <br>
><br>
> On Wed, May 22, 2019 at 4:37 AM John Carlson <<a href="mailto:yottzumm@gmail.com" rel="noreferrer" target="_blank">yottzumm@gmail.com</a>> wrote:<br>
><br>
> ><br>
><br>
> > It would be good to test Script nodes in X3DPSAIL output, but I think that means X_ITE instead of X3DOM.<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > Will that be as easy as tacking on different JS and CSS elements?<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > John<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > Sent from Mail for Windows 10<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > From: Andreas Plesch<br>
><br>
> > Sent: Tuesday, May 21, 2019 3:16 PM<br>
><br>
> > To: John Carlson<br>
><br>
> > Cc: X3D Graphics public mailing list<br>
><br>
> > Subject: Re: [x3d-public] jupyter notebook<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > I learned a little more about jupyterlab and <a href="http://mybinder.org" rel="noreferrer noreferrer" target="_blank">mybinder.org</a>.<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > <a href="https://mybinder.org/v2/gh/andreasplesch/conda/master/?urlpath=lab/tree/sphere.ipynb" rel="noreferrer noreferrer" target="_blank">https://mybinder.org/v2/gh/andreasplesch/conda/master/?urlpath=lab/tree/sphere.ipynb</a><br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > gives you now the full jupyterlab interface. I also added a second<br>
><br>
> ><br>
><br>
> > scene which is modified from the first scene by using a global<br>
><br>
> ><br>
><br>
> > material cell.<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > I was also thinking about animation, eg. updating an existing output<br>
><br>
> ><br>
><br>
> > but this seems to be not a very common jupyter notebook mode anyways.<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > But it would be a challenging next step to have an python interface to<br>
><br>
> ><br>
><br>
> > the generated DOM, or the live content in a X3D browser for true scene<br>
><br>
> ><br>
><br>
> > access.<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > For the way mybinder works with cached docker images on the server,<br>
><br>
> ><br>
><br>
> > the jar size may not be that critical. It all stays on the server. It<br>
><br>
> ><br>
><br>
> > just may take little longer to pull the prebuild docker image onto the<br>
><br>
> ><br>
><br>
> > server but the image is probably pretty large anyways.<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > It still feels pretty heavy to have to use a 40MB jar plus pyjnius.<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > Unfortunately, I am not familiar with anaconda packages. I guess the<br>
><br>
> ><br>
><br>
> > target is a package with Pyjnius as an (automatic?) dependency, which<br>
><br>
> ><br>
><br>
> > includes X3DJSAIL.jar and the autoclass generation python. Anaconda<br>
><br>
> ><br>
><br>
> > has channels, so if conda-forge does not accept such a package, one<br>
><br>
> ><br>
><br>
> > could perhaps find another channel or make one.<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > Let me see, I saw somewhere an example on how to include a jar in a<br>
><br>
> ><br>
><br>
> > conda package ...<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > <a href="https://github.com/conda-forge/conda-forge.github.io/issues/590" rel="noreferrer noreferrer" target="_blank">https://github.com/conda-forge/conda-forge.github.io/issues/590</a> is<br>
><br>
> ><br>
><br>
> > what you tried, and you got a recommendation.<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > Looks like <a href="https://pypi.org/project/scyjava/" rel="noreferrer noreferrer" target="_blank">https://pypi.org/project/scyjava/</a> is the way to go.<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > <a href="https://github.com/andreasplesch/conda" rel="noreferrer noreferrer" target="_blank">https://github.com/andreasplesch/conda</a> was just a quick way to try<br>
><br>
> ><br>
><br>
> > <a href="http://mybinder.org" rel="noreferrer noreferrer" target="_blank">mybinder.org</a> since that works with github repos. I learned that<br>
><br>
> ><br>
><br>
> > Mybinder.org is an instance of a BinderHub which can be created<br>
><br>
> ><br>
><br>
> > anywhere. Binder is mostly about automatically creating docker images<br>
><br>
> ><br>
><br>
> > for jupyterlab with any additional requirements/software necessary. So<br>
><br>
> ><br>
><br>
> > one could just have a local BinderHub.<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > "My" docker image boils down to just providing a simple<br>
><br>
> ><br>
><br>
> > environment.yml (which just specifies pyjnius as a required conda<br>
><br>
> ><br>
><br>
> > package) and X3DJSAIL in a place where it can be found (root). For any<br>
><br>
> ><br>
><br>
> > other python notebook it is likely that other conda packages are<br>
><br>
> ><br>
><br>
> > required in addition, although I think the default docker image<br>
><br>
> ><br>
><br>
> > already has the most popular ones preconfigured.<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > One can just clone the repo, and go from there.<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > Looking up how to generate conda packages:<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > <a href="https://conda.io/projects/conda-build/en/latest/concepts/recipe.html" rel="noreferrer noreferrer" target="_blank">https://conda.io/projects/conda-build/en/latest/concepts/recipe.html</a><br>
><br>
> ><br>
><br>
> > <a href="https://github.com/conda/conda-recipes" rel="noreferrer noreferrer" target="_blank">https://github.com/conda/conda-recipes</a><br>
><br>
> ><br>
><br>
> > <a href="https://conda.io/projects/conda-build/en/latest/resources/define-metadata.html" rel="noreferrer noreferrer" target="_blank">https://conda.io/projects/conda-build/en/latest/resources/define-metadata.html</a><br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > conda-forge has its own system on top of recipes:<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > <a href="https://conda-forge.org/docs/maintainer/updating_pkgs.html#maintaining-pkgs" rel="noreferrer noreferrer" target="_blank">https://conda-forge.org/docs/maintainer/updating_pkgs.html#maintaining-pkgs</a><br>
><br>
> ><br>
><br>
> > <a href="https://github.com/conda-forge/pyjnius-feedstock" rel="noreferrer noreferrer" target="_blank">https://github.com/conda-forge/pyjnius-feedstock</a><br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > There would need to be a maintainer.<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > -Andreas<br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > On Tue, May 21, 2019 at 2:05 PM John Carlson <<a href="mailto:yottzumm@gmail.com" rel="noreferrer" target="_blank">yottzumm@gmail.com</a>> wrote:<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > Yeah, that jar in the X3DJSAIL repo is ancient, and not kept up-to-date.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > The one here is 2 months old:<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > <a href="https://github.com/coderextreme/pythonSAI" rel="noreferrer noreferrer" target="_blank">https://github.com/coderextreme/pythonSAI</a><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > You can build your own X3DJSAIL with this repository, if you like something simple:<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > <a href="https://github.com/coderextreme/JavaSceneAuthoringInterfaceLibrary" rel="noreferrer noreferrer" target="_blank">https://github.com/coderextreme/JavaSceneAuthoringInterfaceLibrary</a><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > But it’s not a “fat” jar.  For that, you need Don’s build of the full jar below, or from Don’s X3DJSAIL web page.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > Otherwise, you have to use the ant target create.X3DJSAIL in <a href="http://www.web3d.org/x3d/stylesheets/" rel="noreferrer noreferrer" target="_blank">www.web3d.org/x3d/stylesheets/</a> (sourceforge download). Jars are found in java/jars below that.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > I’ve been seduced by the dark-side, Don and X3DJSAIL, and have not been maintaining my projects.  X3DPSAIL is a happy medium, and now thanks to you, a nearly publishable medium.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > Are you by chance, working on a Anaconda package so we can import x3dpsail (the first script on your page) into jupyter?  I have a way to generate python application scripts (second script on page) with leading x3dpsail. in front of the constructor calls.   This is to reduce namespace pollution.  Do we just need to install <a href="https://github.com/andreasplesch/conda" rel="noreferrer noreferrer" target="_blank">https://github.com/andreasplesch/conda</a>?  Could you provide instructions on how to install  into our own docker or jupyter enviroments?  Looks like <a href="https://mybinder.org/" rel="noreferrer noreferrer" target="_blank">https://mybinder.org/</a> leads the way. Or do you want to support everyone’s development with your docker?  …could get kind of crowded.  I think the best solution is to create a conda package for x3dpysail which includes the python and the jar.  I saw one issue on it, but it was VERY long, and closed, so I assume there’s documentation on how to include a jar in a conda package somewhere, just not sure where yet.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > John<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > Sent from Mail for Windows 10<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > From: Andreas Plesch<br>
><br>
> ><br>
><br>
> > > Sent: Tuesday, May 21, 2019 11:10 AM<br>
><br>
> ><br>
><br>
> > > To: John Carlson<br>
><br>
> ><br>
><br>
> > > Cc: X3D Graphics public mailing list<br>
><br>
> ><br>
><br>
> > > Subject: Re: [x3d-public] jupyter notebook<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > Hi John,<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > thanks for the quick response. I had provided an older X3DJSAIL.jar<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > from <a href="https://github.com/coderextreme/X3DJSAIL" rel="noreferrer noreferrer" target="_blank">https://github.com/coderextreme/X3DJSAIL</a> which had the advantage<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > of being small.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > Now, that I found the more up to date<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > <a href="http://www.web3d.org/specifications/java/jars/X3DJSAIL.3.3.full.jar" rel="noreferrer noreferrer" target="_blank">http://www.web3d.org/specifications/java/jars/X3DJSAIL.3.3.full.jar</a><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > and use that instead, things start to work (!). [Most links to the jar<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > on the page need to be updated].<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > Try again, the same link:<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > <a href="https://mybinder.org/v2/gh/andreasplesch/conda/master?filepath=sphere.ipynb" rel="noreferrer noreferrer" target="_blank">https://mybinder.org/v2/gh/andreasplesch/conda/master?filepath=sphere.ipynb</a><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > The errors are gone when you execute the cells.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > The generated xml looks good.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > But the IPython.display HTML function does not display anything. Does<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > that work locally for you ? HTML(data='<h1>Title</h1>') works. Maybe<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > an iframe is necessary.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > -Andreas<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > On Tue, May 21, 2019 at 11:20 AM John Carlson <<a href="mailto:yottzumm@gmail.com" rel="noreferrer" target="_blank">yottzumm@gmail.com</a>> wrote:<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > Hi Andreas.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > Summary:  I don’t think the X3DJSAIL .jar was found in .<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > I tried a very similar script to yours, putting the jar in the home folder.  I suspect that you don’t have access to your home folder, or the jar was uploaded as unreadable. Once I put my X3DJSAIL.3.3.full.jar in my local environment home, the classpath started working.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > I tried without the jar in place, and got similar issues with PointProperties.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > I tried running your remote jupyter and got similar results.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > I suspect readability issues or something configured with your classpath/jar.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > We need to get the jar into the x3dpsail conda package, I think.  An unsolved problem.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > It should run okay with a local anaconda.  I realize you want to run remote.  We understand, and will attempt to deliver a conda package in the next month or so.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > If you would like to help, we’re working on creating an x3dpsail package which includes all dependencies.  We have the start of a pip package, but so far, it won’t upload.   A Jupyter conda package is probably more acceptable to most people.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > It might be instructive to issue the first script with a single Java class, to see if it can find one Java class.  That will direct you to the smoking gun.  If it can’t load one class, then the classpath isn’t working.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > If you set a CLASSPATH environmental variable (java’s classpath) in your docker image, it might work better, give it a try. I am staying away from docker for now.   Ensure that OpenJDK or similar is deployed with jnius.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > Conclusion:<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > X3dpsail has been shown to work with an absolute path or the jar on a local system.  Try to use an absolute path in conda in the short term (within your sandbox), until we get a conda package for x3dpsail.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > John<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > Sent from Mail for Windows 10<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > From: Andreas Plesch<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > Sent: Tuesday, May 21, 2019 9:22 AM<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > To: X3D Graphics public mailing list<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > Subject: [x3d-public] jupyter notebook<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > Hi John,<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > I was curious and gave Pyjnius+X3DJSAIL.3.3 from your repo a try with<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > your sphere.ipynb, using online jupyter with <a href="http://mybinder.org" rel="noreferrer noreferrer" target="_blank">mybinder.org</a>:<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > <a href="https://github.com/andreasplesch/conda" rel="noreferrer noreferrer" target="_blank">https://github.com/andreasplesch/conda</a><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > Use this link<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > <a href="https://mybinder.org/v2/gh/andreasplesch/conda/master?filepath=sphere.ipynb" rel="noreferrer noreferrer" target="_blank">https://mybinder.org/v2/gh/andreasplesch/conda/master?filepath=sphere.ipynb</a><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > and wait until the server starts with the mybinder built docker image<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > (takes a bit).<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > Executing then the first cell with all the autoclass generation does<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > something until there is an error:<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > JavaException                             Traceback (most recent call last)<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > <ipython-input-1-149e86182885> in <module><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > >      87 HAnimHumanoid =<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > autoclass('org.web3d.x3d.jsail.HAnim.HAnimHumanoidObject')<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > >      88 HAnimJoint = autoclass('org.web3d.x3d.jsail.HAnim.HAnimJointObject')<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > ---> 89 HAnimMotion = autoclass('org.web3d.x3d.jsail.HAnim.HAnimMotionObject')<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > >      90 HAnimSegment = autoclass('org.web3d.x3d.jsail.HAnim.HAnimSegmentObject')<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > >      91 HAnimSite = autoclass('org.web3d.x3d.jsail.HAnim.HAnimSiteObject')<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > /srv/conda/envs/notebook/lib/python3.7/site-packages/jnius/reflect.py<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > in autoclass(clsname)<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > >     157<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > >     158     # c = Class.forName(clsname)<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > --> 159     c = find_javaclass(clsname)<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > >     160     if c is None:<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > >     161         raise Exception('Java class {0} not found'.format(c))<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > jnius/jnius_export_func.pxi in jnius.find_javaclass()<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > JavaException: Class not found b'org/web3d/x3d/jsail/HAnim/HAnimMotionObject'<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > The good news is that the online jupyter notebook seems to work in<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > principle, eg. Pyjnius and java is installed, and the X3DJSAIL.3.3.jar<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > seems to be found as well.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > Have you seen problems with the HAnimMotion before ?<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > Commenting out HAnimMotion, uncovers similar errors for PointProperties and X3D.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > JavaException                             Traceback (most recent call last)<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > <ipython-input-1-f7be65079716> in <module><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > >     255 Scene = autoclass('org.web3d.x3d.jsail.Core.SceneObject')<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > >     256 unit = autoclass('org.web3d.x3d.jsail.Core.unitObject')<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > --> 257 X3D = autoclass('org.web3d.x3d.jsail.Core.X3DObject')<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > >     258 SFBool = autoclass('org.web3d.x3d.jsail.fields.SFBoolObject')<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > >     259 MFBool = autoclass('org.web3d.x3d.jsail.fields.MFBoolObject')<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > /srv/conda/envs/notebook/lib/python3.7/site-packages/jnius/reflect.py<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > in autoclass(clsname)<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > >     157<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > >     158     # c = Class.forName(clsname)<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > --> 159     c = find_javaclass(clsname)<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > >     160     if c is None:<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > >     161         raise Exception('Java class {0} not found'.format(c))<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > jnius/jnius_export_func.pxi in jnius.find_javaclass()<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > JavaException: Class not found b'org/web3d/x3d/jsail/Core/X3DObject'<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > Is there another Pyjnius or X3DJSAIL.jar to try ?<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > Pyjnius is installed with conda and a pyjnius line in environment.yml.<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > -Andreas<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > --<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > Andreas Plesch<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > Waltham, MA 02453<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > _______________________________________________<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > x3d-public mailing list<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > <a href="mailto:x3d-public@web3d.org" rel="noreferrer" target="_blank">x3d-public@web3d.org</a><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > > <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > --<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > Andreas Plesch<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > > Waltham, MA 02453<br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> > ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> ><br>
><br>
> > --<br>
><br>
> ><br>
><br>
> > Andreas Plesch<br>
><br>
> ><br>
><br>
> > Waltham, MA 02453<br>
><br>
> ><br>
><br>
> ><br>
><br>
> <br>
><br>
> <br>
><br>
> <br>
><br>
> --<br>
><br>
> Andreas Plesch<br>
><br>
> Waltham, MA 02453<br>
><br>
> <br>
<br>
<br>
<br>
--<br>
Andreas Plesch<br>
Waltham, MA 02453<br>