<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body>
<p>Basically, we have 2 approaches to programming: Java, which uses
setters and adders on a constructed node (the constructor has
no-parameters...the Java default constructor), and Python, which
shoves everything into the constructor parameters. I suspect that
many decisions may depend on performance in the longer term. It's
good to be flexible with the SAI and the SAI examples--code
generate and round-trip.</p>
<p>I know one can initialize data members in a constructor call in
C++, which might be another flavor of programming.</p>
<p>I believe that Java is becoming a bit more flexible about named
parameters instead of positional parameters, but I'm pretty much a
noob about that.</p>
<p>For Java builder pattern (simulating named parameters), see:
<a class="moz-txt-link-freetext" href="https://stackoverflow.com/questions/1988016/named-parameter-idiom-in-java">https://stackoverflow.com/questions/1988016/named-parameter-idiom-in-java</a></p>
<p>I'm not sure if we're looking for alternate Java builders at this
point.</p>
<p>John<br>
</p>
<div class="moz-cite-prefix">On 8/30/21 11:51 PM, Brutzman, Donald
(Don) (CIV) wrote:<br>
</div>
<blockquote type="cite"
cite="mid:BY3PR13MB4884A35BE9D357523C02A976C4CC9@BY3PR13MB4884.namprd13.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style>@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;}@font-face
{font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
font-size:10.0pt;
font-family:"Courier New";}p.m7649055059744266865msolistparagraph, li.m7649055059744266865msolistparagraph, div.m7649055059744266865msolistparagraph
{mso-style-name:m_7649055059744266865msolistparagraph;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:"Courier New";}.MsoChpDefault
{mso-style-type:export-only;}div.WordSection1
{page:WordSection1;}ol
{margin-bottom:0in;}ul
{margin-bottom:0in;}</style>
<div class="WordSection1">
<p class="MsoNormal">I expect that the majority of your points
below will be answered when we start looking at examples.
Much easier then to compare alternatives.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">v/r Don<o:p></o:p></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:yottzumm@gmail.com"
moz-do-not-send="true">John Carlson</a><br>
<b>Sent: </b>Monday, August 30, 2021 9:48 PM<br>
<b>To: </b><a href="mailto:brutzman@nps.edu"
moz-do-not-send="true">Brutzman, Donald (Don) (CIV)</a><br>
<b>Cc: </b><a href="mailto:myeongwonlee@gmail.com"
moz-do-not-send="true">Myeong Won Lee</a>; <a
href="mailto:npolys@vt.edu" moz-do-not-send="true">
Nicholas Polys</a>; <a href="mailto:puk@igraphics.com"
moz-do-not-send="true">Richard F. Puk</a>; <a
href="mailto:x3d-public@web3d.org" moz-do-not-send="true">
x3d-public@web3d.org</a><br>
<b>Subject: </b>Re: [x3d-public] X3D meeting minutes 20 AUG
2021, C C++ C# and Mantis</p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Agreed on developing setters and
getters for patterns previously discussed on the subject.
That is, we have setters provided for construction
(import) of an object passed to the constructor. At that
point, the object constructed by should be encapsulated.
Only methods passed an exporter may extract data from the
constructed object.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">But OO may be a bit passé these days?
I don’t know how to achieve such a thing in the C SAI, but
I need to look. I was told by a patterns guy that
setters and getters were used for legacy systems??? <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The idea of the importer/exporter
pattern is to provide a class hierarchy of importers:
VRMLImporter, XMLImporter, JSONImporter, GenericImporter
and similarly, a class hierarchy for Exporters. While
building such classes by hand is numbingly difficult, I
feel with code generation from X3DUOM, the task could be
relatively easy. Again, I have not done something like
this in C.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Discussion and better solutions
appreciated!<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Examples especially helpful!<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Yes, I know about JavaBeans and POJOs.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I’m all for being overruled. Show me
something the achieves encapsulation better. I know
about accessType on fields. Is this how we design the
encapsulation?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The reference I would use for
Importer/exporter is “Holub on Patterns.”<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">John<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal">On Mon, Aug 30, 2021 at 10:54 PM
Brutzman, Donald (Don) (CIV) <<a
href="mailto:brutzman@nps.edu"
moz-do-not-send="true">brutzman@nps.edu</a>>
wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC
1.0pt;padding:0in 0in 0in
6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">John,
thanks for excellent progress. Apologies that I
was unable to meet today.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I
think it is prudent for us to check in the current
master copy provided by Dr. Lee so that we have a
baseline. Any subsequent changes will be
discernible via diff comparisons.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Recommend
that we intentionally _<i>not</i>_ look at Script
nodes for a while.
</p>
<ol type="a" start="1">
<li class="m7649055059744266865msolistparagraph"
style="mso-list:l1 level1 lfo1">
First we have to make sure that basic nodes
(parent-children relationships) and simple
fields are represented satisfactorily, with
intuitive accessors (get and set methods.<o:p></o:p></li>
<li class="m7649055059744266865msolistparagraph"
style="mso-list:l1 level1 lfo1">
Then look at statements.<o:p></o:p></li>
<li class="m7649055059744266865msolistparagraph"
style="mso-list:l1 level1 lfo1">
Then look at <field> definitions, usable
by both prototypes and scripts.<o:p></o:p></li>
<li class="m7649055059744266865msolistparagraph"
style="mso-list:l1 level1 lfo1">
Then contained script code within a script node
(similarly for shader nodes).<o:p></o:p></li>
<li class="m7649055059744266865msolistparagraph"
style="mso-list:l1 level1 lfo1">
Then simple prototype declarations.<o:p></o:p></li>
<li class="m7649055059744266865msolistparagraph"
style="mso-list:l1 level1 lfo1">
Then more-complex prototype declarations with
IS/connect and embedded Script nodes.<o:p></o:p></li>
</ol>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">We
have plenty of examples to work with. Going from
simplest towards more complex (a..f above) will
help us maintain clarity throughout.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Looking
forward to meeting sometime and pursuing next
steps.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">v/r
Don</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>From:
</b><a href="mailto:yottzumm@gmail.com"
target="_blank" moz-do-not-send="true">John
Carlson</a><br>
<b>Sent: </b>Monday, August 30, 2021 6:31 PM<br>
<b>To: </b><a
href="mailto:myeongwonlee@gmail.com"
target="_blank" moz-do-not-send="true">Myeong
Won Lee</a>;
<a href="mailto:puk@igraphics.com"
target="_blank" moz-do-not-send="true">Richard
F. Puk</a><br>
<b>Cc: </b><a href="mailto:brutzman@nps.edu"
target="_blank" moz-do-not-send="true">Brutzman,
Donald (Don) (CIV)</a>;
<a href="mailto:npolys@vt.edu" target="_blank"
moz-do-not-send="true">Nicholas Polys</a>; <a
href="mailto:x3d-public@web3d.org"
target="_blank" moz-do-not-send="true">
x3d-public@web3d.org</a><br>
<b>Subject: </b>Re: [x3d-public] X3D meeting
minutes 20 AUG 2021, C C++ C# and Mantis
MetadataDate</p>
</div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Don
suggested a meeting for checking in the new
19777-{3,4,5} working drafts. If people are
interested, send me times when you are
available. Dick, Don, since you are the
maintainers, one of you should be there—I
think the Mantis currently says Don. Myeong
or I can make zips available. I think they
may be checked into my repository.</p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I
do not know if more review time is necessary
before checking in? I for one have not done
much reviewing beyond structure. One may
want to search through the folders to see if
the string “Java” is found within the c/c++/c#
working draft files. That is, do an explorer
and/or grep search.</p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">From
what I saw of the .h files, it looks quite
excellent. We can start with any code
generation. If Myeong doesn’t give us the .h
files and we can’t otherwise scrape the HTML
or WD, perhaps code generation of SAI from
X3DUOM is indicated? We have done this for
Python and Java. I don’t know if Myeong is
code generating the .h code or not. I’ve laid
out a couple of scenarios for stylesheets, but
I have not worked on making these a reality
yet. It would probably be good for me to lay
out the alternatives in a presentation so we
can choose a path forward which is most
maintainable for second and third parties.</p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Nicholas,
does your team intend to provide a full
library beyond the interface? If so, will
they be working on an implementation
stylesheet? I guess in C/C++ the interface
is separate from the implementation, so it
would be possible to have coordinated
implementation?</p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Could
someone who has used Script nodes with
c,c++,c# fill me in on how to do it?</p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">John</p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">On
Fri, Aug 27, 2021 at 8:50 AM Myeong Won
Lee <<a
href="mailto:myeongwonlee@gmail.com"
target="_blank" moz-do-not-send="true">myeongwonlee@gmail.com</a>>
wrote:</p>
</div>
<blockquote
style="border:none;border-left:solid #CCCCCC
1.0pt;padding:0in 0in 0in
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Dear
John,<br>
<br>
Thank you for your efforts in setting
up the GitHub repository.<br>
<br>
In the folders, I think that the "CD"
folders may not be necessary because
we have restarted with WDs and the CDs
are old versions of the WDs.<br>
I submitted the CDs last year, but
they were not approved as CD texts,
and so I resubmitted them as WDs.<br>
We should work on the WD texts.<br>
How about deleting the CD folders?<br>
In addition, if WD-originals are old
versions, it would be OK to delete
them.<br>
<br>
In summary, I think that the folders
should be as follows:<br>
<br>
./ISO-IEC19777/ISO-IEC19777-3/ISO-IEC19777-3v3.3-WD<br>
./ISO-IEC19777/ISO-IEC19777-4/ISO-IEC19777-4v3.3-WD<br>
./ISO-IEC19777/ISO-IEC19777-5/ISO-IEC19777-5v3.3-WD</p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Sincerely,</p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Myeong</p>
</div>
</div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">On
Fri, Aug 27, 2021 at 6:30 AM John
Carlson <<a
href="mailto:yottzumm@gmail.com"
target="_blank"
moz-do-not-send="true">yottzumm@gmail.com</a>>
wrote:</p>
</div>
<blockquote
style="border:none;border-left:solid
#CCCCCC 1.0pt;padding:0in 0in 0in
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<div>
<p>Myeong,</p>
<p>Thanks for your efforts on the
C/C#/C++ standards!</p>
<p>My understanding from Don is that
we want the current WD versions of
the 19777-3, 19777-4 and 19777-5
standards checked into GitHub,
somewhere below this folder:
<a
href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FWeb3DConsortium%2FX3D&data=04%7C01%7Cbrutzman%40nps.edu%7C95c6f67a2e7f4b8a26d208d96c3a566f%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637659820991840016%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=knYg5J%2FS98UehWbGirNdgLSHd4Jvcvlcwqpvlq81Oys%3D&reserved=0"
target="_blank"
moz-do-not-send="true">
https://github.com/Web3DConsortium/X3D</a> (If you need assistance, let
me know, it's quite confusing.
We'll probably have to do things
like rename the folders once
unpacked from the zips and move
them from). Issues with the
standards should go into Mantis.
Google Drive/Docs, while important
for private sharing, are not
suitable for group editing of
standards. GitHub has adequate
protections in the X3D
repository. With your permission,
I will check your Google shared
zips into GitHub unpacked.
Probably in the folders here that
you identify:</p>
<p>./ISO-IEC19777/ISO-IEC19777-4/ISO-IEC19777-4v3.3/ISO-IEC19777-4v3.3-WD<br>
./ISO-IEC19777/ISO-IEC19777-4/ISO-IEC19777-4v3.3/ISO-IEC19777-4v3.3-CD<br>
./ISO-IEC19777/ISO-IEC19777-3/ISO-IEC19777-3v3.3/ISO-IEC19777-3v3.3-CD<br>
./ISO-IEC19777/ISO-IEC19777-3/ISO-IEC19777-3v3.3/ISO-IEC19777-3v3.3-WD<br>
./ISO-IEC19777/ISO-IEC19777-5/ISO-IEC19777-5v3.3/ISO-IEC19777-5v3.3-CD<br>
./ISO-IEC19777/ISO-IEC19777-5/ISO-IEC19777-5v3.3/ISO-IEC19777-5v3.3-WD</p>
<p>( Please confirm that the WD
folders are correct).</p>
<p>These are the original folders
that where already there that are
moved out of the way.</p>
<p>./ISO-IEC19777-4/ISO-IEC19777-4v3.3/ISO-IEC19777-4v3.3-WD-original<br>
./ISO-IEC19777-3/ISO-IEC19777-3v3.3/ISO-IEC19777-3v3.3-WD-original<br>
./ISO-IEC19777-5/ISO-IEC19777-5v3.3/ISO-IEC19777-5v3.3-WD-original</p>
<p>I currently all these changes
ready for a git add, commit,
push. I have done 1) ready and a
little bit of aiming. I need
approval to fire.</p>
<p>I will enter a Mantis ticket for
these changes.</p>
<p>===========================================================</p>
<p>Secondly, according to Don, we
need to move discussions to the
x3d-public mailing list. If
issues are sensitive, then there's
the x3d mailing list. Here's how
to subscribe to x3d-public:
<a
href="http://www.web3d.org/mailman/listinfo/x3d-public_web3d.org"
target="_blank"
moz-do-not-send="true">
http://www.web3d.org/mailman/listinfo/x3d-public_web3d.org</a></p>
<p>Issues with source code artifacts
should be can be recorded here: <a
href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourceforge.net%2Fp%2Fx3d%2Fdiscussion%2F&data=04%7C01%7Cbrutzman%40nps.edu%7C95c6f67a2e7f4b8a26d208d96c3a566f%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637659820991849986%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=tyJHTE6gp4JZXciuX8Qa4VSw4jedCabAnzug6ArR7qc%3D&reserved=0"
target="_blank"
moz-do-not-send="true">
https://sourceforge.net/p/x3d/discussion/</a></p>
<p>Source code artifacts should go
here in addition: <a
href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourceforge.net%2Fp%2Fx3d%2Fcode%2FHEAD%2Ftree%2Fwww.web3d.org%2Fx3d%2Flanguages%2F&data=04%7C01%7Cbrutzman%40nps.edu%7C95c6f67a2e7f4b8a26d208d96c3a566f%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637659820991849986%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=EMsac3BZDxkqddC2puA1cn797xspzZ1h7mxZWUk6p4U%3D&reserved=0"
target="_blank"
moz-do-not-send="true">
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/languages/</a>
I can facilitate uploads to
there. Myeong, with your
permission, I will archive the old
code (many months old) to "legacy"
under the main x3d-code folder.</p>
<p>If you have any open questions,
please post to the x3d-public list
(respond to this email).</p>
<p>I don't believe source code
changes require Mantis.</p>
<p>John</p>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">On
8/26/21 9:34 AM, Brutzman,
Donald (Don) (CIV) wrote:</p>
</div>
<blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Again:
it would be useful to have to
have a design page that
discussed programming patterns
and open issues.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Again:
GitHub is master version,
being aware that differences
exist but are not identified
isn’t very useful.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Again:
Hoping we can “get on the good
foot” in how this effort is
pursued. This is how the
Java, JSON, Python and Turtle
language bindings built
towards consensus and were all
successfully accomplished.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Thanks
for all efforts, hopefully
they can become productive and
fruitful by working
deliberately together.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">all
the best, Don<br>
<span
style="font-family:"Courier
New"">-- <br>
Don Brutzman Naval
Postgraduate School, Code
USW/Br <a
href="mailto:brutzman@nps.edu"
target="_blank"
moz-do-not-send="true">
brutzman@nps.edu</a><br>
Watkins 270, MOVES
Institute, Monterey CA
93943-5000 USA
+1.831.656.2149<br>
X3D graphics, virtual
worlds, navy robotics <a
href="http://faculty.nps.edu/brutzman"
target="_blank"
moz-do-not-send="true">
http://faculty.nps.edu/brutzman</a></span></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<div
style="border:none;border-top:solid
#E1E1E1 1.0pt;padding:3.0pt
0in 0in 0in">
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>From:
</b><a
href="mailto:yottzumm@gmail.com"
target="_blank"
moz-do-not-send="true">John
Carlson</a><br>
<b>Sent: </b>Friday, August
20, 2021 12:36 PM<br>
<b>To: </b><a
href="mailto:brutzman@nps.edu"
target="_blank"
moz-do-not-send="true">Brutzman,
Donald (Don) (CIV)</a>;
<a
href="mailto:x3d-public@web3d.org"
target="_blank"
moz-do-not-send="true">x3d-public@web3d.org</a>;
<a
href="mailto:myeongwonlee@gmail.com"
target="_blank"
moz-do-not-send="true">
Myeong Won Lee</a>; <a
href="mailto:gpugroup@gmail.com"
target="_blank"
moz-do-not-send="true">GPU
Group</a><br>
<b>Subject: </b>Re:
[x3d-public] X3D meeting
minutes 20 AUG 2021, C C++
C# and Mantis MetadataDate</p>
</div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<div style="border:solid #004679
1.0pt;padding:2.0pt 2.0pt
2.0pt 2.0pt">
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;line-height:12.0pt;background:#004679"><span
style="font-size:10.0pt;color:yellow">NPS WARNING: *external sender*
verify before acting.</span></p>
</div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<div>
<p>Don, Myeong, Doug,</p>
<p>I noticed that there are no
virtual methods in the C++
spec SAI I got (examples,
yes, except for
~SAIExample5()) on
<a
href="https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdrive.google.com%2F&data=04%7C01%7Cbrutzman%40nps.edu%7C95c6f67a2e7f4b8a26d208d96c3a566f%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637659820991859939%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=H7KoA5KR1NhoNyZuaD3ss6WgNMCgMuXbPKXFkWKUceg%3D&reserved=0"
target="_blank"
moz-do-not-send="true">
drive.google.com</a>. I
do not think they are
necessary, but may be useful
when defining subclasses for
people who want to subclass
from the SAI abstract and
concrete nodes.
<a
href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.geeksforgeeks.org%2Fvirtual-function-cpp%2F&data=04%7C01%7Cbrutzman%40nps.edu%7C95c6f67a2e7f4b8a26d208d96c3a566f%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637659820991859939%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Yf43CPlzZjd7dCEo%2Bbi01NMwzwux6W%2BB5QQvtN%2BV8cM%3D&reserved=0"
target="_blank"
moz-do-not-send="true">
https://www.geeksforgeeks.org/virtual-function-cpp/</a> Note that most
methods are virtual in Java,
without the keyword. I
think virtual methods are
slower than regular methods,
last I heard. But I'm
pretty sure all destructors
should be virtual? I've
forgotten. Some discussion
whether destructors should
be present in the spec is
welcome. The virtual
destructor ensures that the
superclass destructor is not
called.</p>
<p>I think it would be useful
to have Doug Sanden review
the abstract and concrete
class and structs before
making big decisions.</p>
<p>I am also unsure why the
first parameter to many C
function pointer
declarations is void*
instead of passing a pointer
to a struct type?</p>
<p>In all cases, C/C++/C# it
might be useful for setter
functions and members to
return this or *this,
instead of void. We need
set functions to return this
for creating builders I'm
fairly sure. (In C SAI, the
first parameter is called
this, it's not a keyword
that I know of).</p>
<p>I'm glad I am reviewing
this! We'll see if anything
else pops into my head after
I send the message!</p>
<p>Thanks,</p>
<p>John</p>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">On
8/20/21 1:46 PM, Brutzman,
Donald (Don) (CIV) wrote:</p>
</div>
<blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Attendees
John Carlson, Vince
Marchetti, Dick Puk, Don
Brutzman</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p style="margin-left:.25in">1.<span
style="font-size:7.0pt;font-family:"Times New Roman",serif">
</span>Very useful
discussion today, we
reviewed proposed language
bindings</p>
<ol type="1" start="1">
<li class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2
level1 lfo2">
19755- 3, C<o:p></o:p></li>
<li class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2
level1 lfo2">
19755- 4, C++<o:p></o:p></li>
<li class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2
level1 lfo2">
19755- 5, C#<o:p></o:p></li>
</ol>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">We
discussed whether special
treatment is deserved for
exposing these draft
specifications. 22 Web3D
members have access to
them now.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Language
bindings need compilable
interfaces for ISO, and at
least two implementations
for Web3D.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Close
inspection of each shows
that a handful of example
programs are available for
test development, and
could be used as basis for
X3dToCCppCsharp.xslt
conversion stylesheet.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Close
inspection of detailed
abstract interfaces, and
detailed node/statement
implementations for
libraries are available
(with some omissions).
Each appears quite similar
to the others.
Regeneration via X3DUOM of
compilable “header” or
interface files matching
the source code in the
HTML is possible.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">C
and C++ language
compilation is easily
possible using gcc
compiler. Compilation of
C# is not so clear, some
open-source
implementations are
available. Once initial
compilation of headers is
accomplished, further
scrutiny and possible
evolution of design
patterns would be
straightforward. We’ll
use gcc on the next round
since it is part of our
build infrastructure
already.</p>
<ol type="1" start="1">
<li class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0
level1 lfo3">
GCC, the GNU Compiler
Collection <a
href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc.gnu.org%2F&data=04%7C01%7Cbrutzman%40nps.edu%7C95c6f67a2e7f4b8a26d208d96c3a566f%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637659820991869895%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=0oGTDshBBVtMPtuLqa%2F4Gfnhe2H2oPC8b%2BGg26%2F%2BuQg%3D&reserved=0"
target="_blank"
moz-do-not-send="true">
https://gcc.gnu.org</a>
<o:p></o:p></li>
<li class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0
level1 lfo3">
<a
href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F26078437%2Fwhy-does-gcc-support-java-and-not-c-sharp&data=04%7C01%7Cbrutzman%40nps.edu%7C95c6f67a2e7f4b8a26d208d96c3a566f%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637659820991869895%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=skNdk%2FZhWnvHUXUQkMj2N6By1Ug2sDhI%2BL0%2BOufPDLg%3D&reserved=0"
target="_blank"
moz-do-not-send="true">https://stackoverflow.com/questions/26078437/why-does-gcc-support-java-and-not-c-sharp</a>
<o:p></o:p></li>
</ol>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">We
have enough that immediate
sharing of shared
specifications can be
deferred until broader
discussion is warranted.
Sharing of generated code
will help, and that does
not have to be restricted.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">We
are concerned about
personnel availability,
but will keep working on
it step by step.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><br>
We will welcome all help
and participation as the
work proceeds.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p style="margin-left:.25in">2.<span
style="font-size:7.0pt;font-family:"Times New Roman",serif">
</span>Mantis issue
progress is persevering
steadily each week.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p style="margin-left:.75in">1.<span
style="font-size:7.0pt;font-family:"Times New Roman",serif">
</span>Mantis 1218 for
creating a MetadataDate or
MetadataTime node needs to
be deferred to X3D4.1.
Meanwhile we might an
example scene
demonstrating how to do
such representations with
existing nodes, workably
across all forms of X3D.
E.g. pseudocode examples:</p>
<p style="margin-left:.75in"><MetadataDouble
name=”time”
value=“0.0”
reference=”Unix reference
of time with start at 1
JAN 1970”/></p>
<p style="margin-left:.75in"><MetadataString
name=”TuesdayLunch”
value=“24-AUG-2021-1200-pacific”
reference=”XSD, XML Schema
Definition”/>
<MetadataString
name=”ThankGoodnessItsMonday”
value=“23-AUG-2021-1200-pacific” reference=”ISO 8601 Time standard”/>
</p>
<p style="margin-left:.75in">Any
scene of examples would be
fully detailed and
cross-referenced for
clarity.</p>
<p style="margin-left:.75in"><span
style="font-size:10.0pt;font-family:"Verdana",sans-serif;color:black;background:#F3F3F3">Mantis
1218: 07.2.4
MetadataDate - New node
type, or new data type</span></p>
<p style="margin-left:.75in"><a
href="https://www.web3d.org/member-only/mantis/view.php?id=1218"
target="_blank"
moz-do-not-send="true">https://www.web3d.org/member-only/mantis/view.php?id=1218</a>
</p>
<p style="margin-left:.75in"> </p>
<p style="margin-left:.75in">2.<span
style="font-size:7.0pt;font-family:"Times New Roman",serif">
</span>Other mantis issues
are being fixed and
addresses each week.
Membership has value.</p>
<p style="margin-left:.75in"><a
href="https://www.web3d.org/member-only/mantis/view_all_bug_page.php"
target="_blank"
moz-do-not-send="true">https://www.web3d.org/member-only/mantis/view_all_bug_page.php</a>
</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Thanks
everyone for a worthy
effort today. Have fun
with X3D! 8)</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<div>
<div
style="border:none;border-top:solid
#E1E1E1
1.0pt;padding:3.0pt 0in
0in 0in">
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>From:</b>
Brutzman, Donald (Don)
(CIV)
<br>
<b>Sent:</b> Friday,
August 20, 2021 12:27
AM<br>
<b>To:</b> <a
href="mailto:x3d-public@web3d.org"
target="_blank"
moz-do-not-send="true"><span
style="color:#0563C1">x3d-public@web3d.org</span></a><br>
<b>Cc:</b> Brutzman,
Donald (Don) (CIV) <a
href="mailto:brutzman@nps.edu" target="_blank" moz-do-not-send="true">
<span
style="color:#0563C1"><brutzman@nps.edu></span></a><br>
<b>Subject:</b> X3D
meeting agenda 20 AUG
2021, C C++ C# and
Mantis</p>
</div>
</div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Regular
weekly call once again
this week, Friday 10-1100
Pacific on Web3D
conference line.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">We
will review our approach
to C C++ C# encodings and
also ongoing Mantis
progress. Additional
topics welcome.</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">all
the best, Don</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">--
</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Don
Brutzman Naval
Postgraduate School, Code
USW/Br
<a
href="mailto:brutzman@nps.edu"
target="_blank"
moz-do-not-send="true"><span
style="color:#0563C1">brutzman@nps.edu</span></a></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Watkins
270, MOVES Institute,
Monterey CA 93943-5000
USA +1.831.656.2149</p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">X3D
graphics, virtual worlds,
navy robotics
<a
href="http://faculty.nps.edu/brutzman"
target="_blank"
moz-do-not-send="true"><span
style="color:#0563C1">http://faculty.nps.edu/brutzman</span></a></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;margin-bottom:12.0pt"> </p>
<pre>_______________________________________________</pre>
<pre>x3d-public mailing list</pre>
<pre><a href="mailto:x3d-public@web3d.org" target="_blank" moz-do-not-send="true">x3d-public@web3d.org</a></pre>
</blockquote>
</div>
<pre style="mso-margin-top-alt:0in;margin-right:.5in;margin-bottom:5.0pt;margin-left:.5in"><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank" moz-do-not-send="true">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></pre>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
style="font-size:10.0pt;font-family:"Courier New""> </span></p>
</div>
</blockquote>
</div>
</blockquote>
</div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><br
clear="all">
</p>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
</div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">--
</p>
</div>
</blockquote>
</div>
</div>
</div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt;line-height:12.0pt"><span
style="font-size:7.5pt;font-family:"Verdana",sans-serif;color:black">Myeong
Won Lee, PhD, Professor<br>
Faculty of Computer Science, U. of Suwon <br>
Hwaseong, Gyeonggi-do, 18323 Korea <br>
E-mail) <a href="mailto:myeongwonlee@gmail.com"
target="_blank" moz-do-not-send="true">myeongwonlee@gmail.com</a>,
<a href="mailto:mwlee@suwon.ac.kr"
target="_blank" moz-do-not-send="true">mwlee@suwon.ac.kr</a></span></p>
</div>
</div>
</blockquote>
</div>
</div>
</div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:4.8pt"> </p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</blockquote>
</body>
</html>