<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">John,</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">I was wondering how you converted X3D
to DOM (X3D can be expressed in JSON as you and Don have been
working on for a few years). <br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">There are two issues. I can't follow
your discussion below so this may be answered (in a manner that I
do not understand). Can you provide simple answers for each of
these points?</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">
<ol>
<li>DOM is not a file format, but an API. X3D (in JSON or XML)
is a file format. How do you handle conversion of a file
format to an API? Is the result something that populates the
DOM tree? Is it something else? Note that XML -> DOM is a
well-defined conversion (and built-in to web browsers) that
populates the DOM tree with the data from the XML document.
DOM contains data, structure, and methods that are not present
in the XML document; but are part of the standard DOM and
DOM-tree definition.<br>
<br>
</li>
<li>DOM very explicitly does not allow multi-parents. I think I
understand your statements that when converting from a
multi-parent structure to one that only allows single parent,
you create a copy of the original. This resolves the
multi-parent issue into one that may break run-time. As I
understand your description: if A & B are parents of
node-subtrees and X is DEFed in the A tree and USEd in the B
tree; then the A and B trees have distinct copies of X (called
X and X'). Do you add mechanisms so that runtime changes to X
also change X'?</li>
</ol>
<p><br>
</p>
<p>Unreal (and perhaps Unity) get around this issue (node reuse in
a single-parent environment) by making X a class and having each
USE of X to be a new instance of that class. Changes to the X
class are propagated to all instances. Each instance may define
instance-specific methods/data that override those from the
inherited class. It is also possible to sub-class X' and add in
instance-specific methods/data.</p>
<p><br>
</p>
<p>Leonard Daly</p>
<p><br>
</p>
</div>
<div class="moz-cite-prefix"><br>
</div>
<blockquote type="cite"
cite="mid:5ccb044a.1c69fb81.46592.bc74@mx.google.com">
<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;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";
color:black;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:"Courier New";
color:black;}
.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;}
/* List Definitions */
@list l0
{mso-list-id:632636882;
mso-list-template-ids:-1;}
@list l0:level1
{mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level2
{mso-level-tab-stop:1.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level3
{mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level4
{mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level5
{mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level6
{mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level7
{mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level8
{mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level9
{mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></style>
<div class="WordSection1">
<p class="MsoNormal">Jeff, stop work, I think the X3D Program
-> DOM problem is solved with Jupyter notebook. We just
need to write or find a kernel for Jupyter notebook. Kernels
are found here: <a
href="https://github.com/jupyter/jupyter/wiki/Jupyter-kernels"
moz-do-not-send="true">https://github.com/jupyter/jupyter/wiki/Jupyter-kernels</a>
Jupyter is very cool. Alexander, can you install a JavaScript
and Java kernels in our Jupyter, along with the Python?
Sheesh, I am behind the times.</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Leonard if that doesn’t satisfy you, I
think you were focused on following:</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">To handle multi-parenting in languages that
don’t support multi-parenting, I will use DEF/USE as an
attribute/property/field/slot, or duplicate that portion of
the tree. I believe I am conforming to how X3D XML is
handled. For languages that have multi-parents, I should be
handling that, and generating multi-parents and multiple
variables (sigh).</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">For example, in JSON -> STL, that would
be an issue.</p>
<p class="MsoNormal"><br>
I believe for JSON -> STL, I search backwards through
previously processed nodes, looking for DEFs, and keep a
transform stack, so I generate unique data for each DEF/USE in
a different transform. I forget the details. You’re welcome
to look at the code:</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><a class="moz-txt-link-freetext" href="https://github.com/coderextreme/">https://github.com/coderextreme/</a><span
style="color:black">X3DJSONLD/src/main/node/convertJsonToStl.js<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">It would likely be possible to do
multi-parenting based on using something like what JSON ->
STL does, looking up DEFs. That would mess up my and Don’s
pretty indented trees though! I have solved a similar before
by separating out ProtoInstance(just one tag) into separate
variables (in my Java serializer, I think).</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If you have some suggestions for changing
my serializers to use more than one variable (some already do
use more than one variable, and they can be changed, I would
welcome that. That is, I would do, .addChild(variable)
instead of .addChild(constructor().setUSE(…), In many cases,
it would just be matter of finding or keeping track of the
DEFs, then inserting the variable associate with that DEF into
the children list. TODO.</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks for the attention. I have not been
trying to solve the scenegraph issue in DOM. It’s very
possible to solve it with JavaScript, Java and Python (not
DOM, XML, EXI, PLY, STL or JSON) by using a DEF value to
variable map. Did I answer your question? I think your
question had more to do with translating to DOM. I believe I
would have variable names or DEFs from the source syntax to
use for DEFs. Note that I don’t translate from JavaScript,
Java or Python yet to DOM (and probably won’t), I use the
X3DJSAIL API for those languages, which translates to XML
first. </p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>Don, might the same issue Leonard brings
up be in the stylesheet conversion to Java? Do you solve it
there?<o:p></o:p></b></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Leonard, I believe you were addressing
this:</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">“I believe I will start work (we probably
already have) on Java->DOM, Python->DOM,
C/C#/C++->DOM and JavaScript->DOM transpilers. For
people who don’t want a full weight of X3DJSAIL or X3DPSAIL.
This will be a valuable addition to X3DJSAIL, should it choose
to accept it. I will call it “PRESAIL” for now.”</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">This work has been cancelled (above), in
favor of Jupyter notebook. Is there a remaining action when a
Program (not data) is the target of a serializer or
stylesheet? Should I (and maybe Don) follow through on the
above multiparenting with our serializers to Java, JavaScript
and Python (and probably later in C/C#/C++)?</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Don, can you run X3DJSAIL inside Jupyter?
Jupyter is inside Anaconda, and I think you can install
kernels with pip.</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">John</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Sent from <a
href="https://go.microsoft.com/fwlink/?LinkId=550986"
moz-do-not-send="true">Mail</a> for Windows 10</p>
<p class="MsoNormal"><o:p> </o:p></p>
<div
style="mso-element:para-border-div;border:none;border-top:solid
#E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="border:none;padding:0in"><b>From:
</b><a href="mailto:Leonard.Daly@realism.com"
moz-do-not-send="true">Leonard Daly</a><br>
<b>Sent: </b>Wednesday, May 1, 2019 8:24 PM<br>
<b>To: </b><a href="mailto:x3d-public@web3d.org"
moz-do-not-send="true">x3d-public@web3d.org</a><br>
<b>Subject: </b>Re: [x3d-public] Report on X3DJSONLD,
X3DJSAIL conversion work. PLYSTL <-> JSON conversions.
Future plans. Program -> DOM</p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:black">John,<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">I presume that
this is a conversion of X3D content between these various
formats. In which case, how can anything convert to DOM
because<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<ol start="1" type="1">
<li class="MsoNormal"
style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0
level1 lfo1">DOM is a language-neutral interface (see <a
href="https://www.w3.org/DOM/#what"
moz-do-not-send="true"><span style="color:#0563C1">https://www.w3.org/DOM/#what</span></a>)<o:p></o:p></li>
<li class="MsoNormal"
style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0
level1 lfo1">DOM does not support elements with multiple
parents. Each element can have at most one parent (see
second paragraph at <a
href="https://dom.spec.whatwg.org/#trees"
moz-do-not-send="true"><span style="color:#0563C1">https://dom.spec.whatwg.org/#trees</span></a>
or if you don't want the living spec then use <a
href="https://www.w3.org/TR/dom/#trees"
moz-do-not-send="true"><span style="color:#0563C1">https://www.w3.org/TR/dom/#trees</span></a>).<o:p></o:p></li>
</ol>
<p>X3D explicitly allows multi-parenting (through the use of
DEF/USE). How does this application resolve the conflict?</p>
<p><o:p> </o:p></p>
<p>Leonard Daly</p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span style="color:black">X3DJSONLD does
the following conversions:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
JSON->DOM<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
DOM->XML (borrowed)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
XML->DOM (borrowed)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
DOM->JSON<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
DOM->Java<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
DOM->Python<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
DOM->JavaScript<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
PLY->JSON<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
STL->JSON<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
JSON->STL (not done, not always triangles, needs
someone who wants to do tessellation, or can provide a
JavaScript library)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
JSON->EXI<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
EXI->JSON<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">XD3JSAIL/SourceForge
X3D does the following conversions that were added by me<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
JSON->DOM (Java version of X3DJSONLD)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
X3DJSAIL->JavaScript <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
DOM->Python (X3DPSAIL)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
DOM->Python (Pure Python—doesn’t do anything)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">X3DJSAIL does:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
X3DJSAIL->XML<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
X3DJSAIL->JSON<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
X3DJSAIL->X3D<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
X3DJSAIL->ClassicVRML<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
X3DJSAIL->VRML97<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
X3DJSAIL->HTML<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
X3DJSAIL->Java<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
X3DJSAIL->ModelMetaMarkdown<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
X3DJSAIL->X3dTidy<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
X3DJSAIL->X3DOM<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
X3DJSAIL->X_ITE<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
X3DJSAIL->Cobweb<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
X3DJSAIL->EXI<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
X3DJSAIL->GZIP<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
X3DJSAIL->ZIP<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Don will likely
add toFileJavaScript (replacing my work—I think there may
already be a start on a stylesheet) and toFilePython
stylesheet conversions to X3DJSAIL. Is that OK, Don?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Probably I will
retain maintenance of all JSON->DOM conversions
(JavaScript, Java, C++, X3DJSAIL, X3DOM, X_ITE). (Don uses
a stylesheet or strings to generate XML). I am open to
developing JSON->DOM for other languages and improving
the C++ version if people are interested. You should be
willing to provide example JSON files (possibly converted
with X3D-Edit). Recommend you use Everit or Ajv for JSON
Schema validation, if not X3DJSONLD’s validator (based on
Ajv).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Ideally I
think, Don will take over all serializers, except my
DOM->JSON serializer. I also use a javascript
serializer on my web page.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">================================================================================================================<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">What X3DJSONLD
could provide for X3DJSAIL and X3DPSAIL (JavaScript)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
PLY->JSON<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
STL->JSON<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
JSON->STL<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">These
conversions are stored under ~/X3DJSONLD/src/main/node:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">convertJsonToStl.js<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">convertPlyToJson.js<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">convertStlToJson.js<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">The JSON to STL
conversion looks at the following X3D JSON indexes<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
IndexedFaceSet : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
Group : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
Shape : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
Box : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
IndexedTriangleSet : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
IndexedTriangleStripSet : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
IndexedTriangleFanSet : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
IndexedLineSet : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
Normal : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
Coordinate : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
Transform : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
"@scale" : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
"@rotation" : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
"@translation" : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
"@normalPerVertex" : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
"@size" : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
"@vector" : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
"@point" : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
"@normalIndex" : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
"@coordIndex" : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">
"@index" : function(obj, LDNode) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Note: There
are no colors or textures.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Note:
Sometimes I create more complex polygons than triangles.
This is not in the STL “specification”<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Suggestions for
additional shapes to translate are welcome:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Arc2D
ArcClose2D Circle2D Disk2D Polyline2D Polypoint2D
Rectangle2D TriangleSet2D<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Cone, Cylinder,
ElevationGrid,Extrusion,Sphere,Text,GeoElevationGrid
(why?),QuadSet,IndexedQuadSet<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">LineSet
PointSet TriangleFanSet TriangleSet TriangleStripSet HAnim<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">I won’t
translate the 2D geometry, I think. I will not translate
Points or Lines<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">I don’t yet
know how to translate Cone,
Cylinder,*ElevationGrid,Extrusion,Sphere,Text,HAnim (will
the standard help?) Help! I can probably handle the other
ones. Volunteers are welcome! Pull requests are welcome!
Suggestions for JavaScript libraries accepted.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#548235">The ones I
can handle, I think are QuadSet, IndexedQuadSet,
TriangleFanSet, TriangleSet and TriangleStripSet.</span><span
style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Would it be
better to take a scenegraph from X3DOM or X_ITE? Is
there documentation for the scenegraphs?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">The STL to JSON
creates a single IndexedFaceSet for all polygons found in
the STL file. No color is handled from the STL file<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">The PLY to JSON
file creates IndexedFaceSets and IndexedLineSets. Any
more suggestions or PLY files you want translated?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Is there any
requirement for JSON -> PLY?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Note: I just
discovered <a href="https://cadexchanger.com/x3d"
moz-do-not-send="true"><span style="color:#0563C1">https://cadexchanger.com/x3d</span></a>
for X3D to STL conversions. Add to X3D resources? I
haven’t tried it yet. CADExchanger already mentioned here:
<a
href="http://www.web3d.org/wiki/index.php/STEP_X3D_Translation#Open_Cascade_and_PythonOCC"
moz-do-not-send="true"><span style="color:#0563C1">http://www.web3d.org/wiki/index.php/STEP_X3D_Translation#Open_Cascade_and_PythonOCC</span></a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Is there any
need for STL conversion beyond CADExchanger (And others)?
I will delete my STL conversions.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">For my
JSON->DOM converter, should I create a python version.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">I believe I
will start work (we probably already have) on
Java->DOM, Python->DOM, C/C#/C++->DOM and
JavaScript->DOM transpilers. For people who don’t want
a full weight of X3DJSAIL or X3DPSAIL. This will be a
valuable addition to X3DJSAIL, should it choose to accept
it. I will call it “PRESAIL” for now.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><br>
<br>
<o:p></o:p></span></p>
<pre>_______________________________________________</pre>
<pre>x3d-public mailing list</pre>
<pre><a href="mailto:x3d-public@web3d.org" moz-do-not-send="true">x3d-public@web3d.org</a></pre>
<pre><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" moz-do-not-send="true">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></pre>
</blockquote>
<p><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:black">-- <br>
</span><b><span style="font-size:13.5pt;color:#333366">Leonard
Daly</span></b><span style="color:#333366"><br>
3D Systems & Cloud Consultant<br>
LA ACM SIGGRAPH Past Chair<br>
President, Daly Realism - <i>Creating the Future</i> </span><span
style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
</blockquote>
<p><br>
</p>
<div class="moz-signature">-- <br>
<font class="tahoma,arial,helvetica san serif" color="#333366">
<font size="+1"><b>Leonard Daly</b></font><br>
3D Systems & Cloud Consultant<br>
LA ACM SIGGRAPH Past Chair<br>
President, Daly Realism - <i>Creating the Future</i>
</font></div>
</body>
</html>