<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body>
    <p>Perhaps it would be good to express what products and standards
      we want out of the C, C++, C# work initiative.  That is, define
      IDE tools such as JavaScript or XSLT for Scripts, and Python or
      XSLT for SAI?</p>
    <p>    * I see 1 to 3 products for SAI to generate SAI libraries for
      each language<br>
    </p>
    <p>    * I see 1 to 3 products for each language for generating
      script examples</p>
    <p>    * Do we need 2 independent implementations?</p>
    <p>I don't really mind if we choose 1 or 3, we just want to simplify
      maintenance for the long term, X3DV4, X3DV4.1, 5, 6, etc.  What
      will allow us to also support more languages like Rust, Kotlin,
      Scala, Groovy, ECMAScript, TypeScript, etc.</p>
    <p>If we're supporting a full-on compiler framework for X3D, let's
      do it the right way and following i18n, l10n, and a11y industry
      practices.  I think the way people currently approach things with
      i18n and l10n are the "right way" and I think that a11y may fall
      under that.</p>
    <p>I am of two minds.  Either we build it all ourselves (nice for
      knowledge of implementation), or we use existing tools and adopt
      them.  I think you said gcc is a good tool.  I think you meant
      good for compiling our products.  I'm more concerned about
      developing a compiler framework, and whether we should naturally
      latch onto gcc to develop our transformers, transpilers and
      translators.  If you haven't looked at ANTLR 4, there's probably a
      good video.  The problem is the main maintainer has moved on to
      other things.</p>
    <p>I need to dig into NPM packages xmldom and xml2js a bit, to see
      if we can port our tools from Python to JavaScript.<br>
    </p>
    <p>John<br>
    </p>
    <div class="moz-cite-prefix">On 8/30/21 10:54 PM, Brutzman, Donald
      (Don) (CIV) wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:BY3PR13MB4884B5C563BB0AB49C4FA01FC4CC9@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.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        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">John, thanks for excellent progress. 
          Apologies that I was unable to meet today.</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">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"><o:p> </o:p></p>
        <p class="MsoNormal">Recommend that we intentionally _<i>not</i>_
          look at Script nodes for a while.
        </p>
        <ol style="margin-top:0in" type="a" start="1">
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l2 level1 lfo3">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.</li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l2 level1 lfo3">Then look at
            statements.</li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l2 level1 lfo3">Then look at
            <field> definitions, usable by both prototypes and
            scripts.</li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l2 level1 lfo3">Then
            contained script code within a script node (similarly for
            shader nodes).</li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l2 level1 lfo3">Then simple
            prototype declarations.</li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l2 level1 lfo3">Then
            more-complex prototype declarations with IS/connect and
            embedded Script nodes.</li>
        </ol>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">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"><o:p> </o:p></p>
        <p class="MsoNormal">Looking forward to meeting sometime and
          pursuing next steps.</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">v/r Don</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 6:31 PM<br>
            <b>To: </b><a href="mailto:myeongwonlee@gmail.com"
              moz-do-not-send="true">Myeong Won Lee</a>; <a
              href="mailto:puk@igraphics.com" moz-do-not-send="true">
              Richard F. Puk</a><br>
            <b>Cc: </b><a href="mailto:brutzman@nps.edu"
              moz-do-not-send="true">Brutzman, Donald (Don) (CIV)</a>; <a
              href="mailto:npolys@vt.edu" moz-do-not-send="true">
              Nicholas Polys</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 MetadataDate</p>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div>
          <div>
            <p class="MsoNormal">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.<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
          <div>
            <p class="MsoNormal">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.<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
          <div>
            <p class="MsoNormal">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.<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
          <div>
            <p class="MsoNormal">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?<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
          <div>
            <p class="MsoNormal">Could someone who has used Script nodes
              with c,c++,c# fill me in on how to do it?<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>
                <p class="MsoNormal">On Fri, Aug 27, 2021 at 8:50 AM
                  Myeong Won Lee <<a
                    href="mailto:myeongwonlee@gmail.com"
                    moz-do-not-send="true">myeongwonlee@gmail.com</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">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<o:p></o:p></p>
                  </div>
                  <div>
                    <p class="MsoNormal"><o:p> </o:p></p>
                  </div>
                  <div>
                    <p class="MsoNormal">Sincerely,<o:p></o:p></p>
                  </div>
                  <div>
                    <p class="MsoNormal"><o:p> </o:p></p>
                  </div>
                  <div>
                    <p class="MsoNormal">Myeong<o:p></o:p></p>
                  </div>
                </div>
                <div>
                  <p class="MsoNormal"><o:p> </o:p></p>
                  <div>
                    <div>
                      <p class="MsoNormal">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:<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>
                        <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%7C5c8fa760fe724ed4a28708d96c1ed524%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637659702854783384%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=%2FdxJ0uvHzdL0trwWw7PmZjS8gh5hhYQ5hmX0N3ZVGss%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%7C5c8fa760fe724ed4a28708d96c1ed524%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637659702854783384%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=a2kbNlGgRnfyzq2vIRTCskJZJ86AIkW4FjlWvGDuh7s%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%7C5c8fa760fe724ed4a28708d96c1ed524%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637659702854793322%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Ia6pbyNz4IS4sNkF5Z0nBhmjoaMTARX6RRfivxzGKdY%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">On 8/26/21 9:34 AM,
                            Brutzman, Donald (Don) (CIV) wrote:<o:p></o:p></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%7C5c8fa760fe724ed4a28708d96c1ed524%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637659702854793322%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=8tYOmA5FuhO9WJVbL6hWoq4FYDLei3F7ow9hWLLMdf0%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%7C5c8fa760fe724ed4a28708d96c1ed524%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637659702854803280%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=cMJMC%2FwdzHqgHMa%2BChxhHJFHfqeoG0AXx3mgJdvov6E%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:l1
                                    level1 lfo1">
                                    19755- 3, C<o:p></o:p></li>
                                  <li class="MsoNormal"
                                    style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1
                                    level1 lfo1">
                                    19755- 4, C++<o:p></o:p></li>
                                  <li class="MsoNormal"
                                    style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1
                                    level1 lfo1">
                                    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 lfo2">
                                    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%7C5c8fa760fe724ed4a28708d96c1ed524%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637659702854803280%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=aX4r%2FxVhW3U%2BqomrVVvztrz8zCv9bLLa7cA3ny3Cry0%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 lfo2">
                                    <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%7C5c8fa760fe724ed4a28708d96c1ed524%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637659702854813255%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=UadYVe93UvlWPFaN9Z4Ez19GcEIZeDcVtCLNpVrtwyk%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"><o:p> </o:p></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"><br clear="all">
                    <o:p></o:p></p>
                  <div>
                    <p class="MsoNormal"><o:p> </o:p></p>
                  </div>
                  <p class="MsoNormal">-- <o:p></o:p></p>
                </div>
              </blockquote>
            </div>
          </div>
        </div>
        <p class="MsoNormal"
          style="mso-margin-top-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>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
    </blockquote>
  </body>
</html>