<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body>
    <p>19777-{3,4,5} Examples source code from the standards are ready
      to check in here, and will be checked into sourceforge:</p>
    <p>x3d-code/www.web3d.org/x3d/languages/c/Examples<br>
      x3d-code/www.web3d.org/x3d/languages/cpp/Examples<br>
      x3d-code/www.web3d.org/x3d/languages/csharp/Examples</p>
    <p>Note that we do not have up-to-date .h files as a separate
      deliverable yet.  The .h files are currently embedded in the
      standard HTML.</p>
    <p>I hope I explained myself well enough.</p>
    <p>John<br>
    </p>
    <div class="moz-cite-prefix">On 8/26/21 4:30 PM, John Carlson wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:c1c30be7-8ee8-6bb8-e0dd-c63f11e4ea86@gmail.com">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <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
          class="moz-txt-link-freetext"
          href="https://github.com/Web3DConsortium/X3D"
          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.<br>
      </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.<br>
      </p>
      <p>===========================================================<br>
      </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
          class="moz-txt-link-freetext"
          href="http://www.web3d.org/mailman/listinfo/x3d-public_web3d.org"
          moz-do-not-send="true">http://www.web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
      </p>
      <p>Issues with source code artifacts should be can be recorded
        here: <a class="moz-txt-link-freetext"
          href="https://sourceforge.net/p/x3d/discussion/"
          moz-do-not-send="true">https://sourceforge.net/p/x3d/discussion/</a></p>
      <p>Source code artifacts should go here in addition:
        <a class="moz-txt-link-freetext"
href="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/languages/"
          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.<br>
      </p>
      <p>John<br>
      </p>
      <div class="moz-cite-prefix">On 8/26/21 9:34 AM, Brutzman, Donald
        (Don) (CIV) wrote:<br>
      </div>
      <blockquote type="cite"
cite="mid:BY3PR13MB488445D63D5C4FEEAC0083B6C4C79@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">Again: it would be useful to have to have
            a design page that discussed programming patterns and open
            issues.</p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">Again: GitHub is master version, being
            aware that differences exist but are not identified isn’t
            very useful.</p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">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"><o:p> </o:p></p>
          <p class="MsoNormal">Thanks for all efforts, hopefully they
            can become productive and fruitful by working deliberately
            together.</p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">all the best, Don<br>
            <span style="font-family:"Courier New"">-- <br>
              Don Brutzman  Naval Postgraduate School, Code USW/Br      
              <a class="moz-txt-link-abbreviated"
                href="mailto:brutzman@nps.edu" 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"
                moz-do-not-send="true"> http://faculty.nps.edu/brutzman</a></span><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>Friday, August 20, 2021 12:36 PM<br>
              <b>To: </b><a href="mailto:brutzman@nps.edu"
                moz-do-not-send="true">Brutzman, Donald (Don) (CIV)</a>;
              <a href="mailto:x3d-public@web3d.org"
                moz-do-not-send="true"> x3d-public@web3d.org</a>; <a
                href="mailto:myeongwonlee@gmail.com"
                moz-do-not-send="true">Myeong Won Lee</a>; <a
                href="mailto:gpugroup@gmail.com" 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"><o:p> </o:p></p>
          <div style="border:solid #004679 1.0pt;padding:2.0pt 2.0pt
            2.0pt 2.0pt">
            <p class="MsoNormal"
              style="line-height:12.0pt;background:#004679"><span
                style="font-size:10.0pt;color:yellow">NPS WARNING:
                *external sender* verify before acting.<o:p></o:p></span></p>
          </div>
          <p class="MsoNormal"><o:p> </o:p></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 drive.google.com.  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%7C4e6ee194cc544357635908d964118d12%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637650850010851004%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=EkRmxJLy9eZ1jjBqCZ%2FS99OiG9B9NcBGWff6ixidzNA%3D&reserved=0"
                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">On 8/20/21 1:46 PM, Brutzman, Donald
                (Don) (CIV) wrote:<o:p></o:p></p>
            </div>
            <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
              <p class="MsoNormal">Attendees John Carlson, Vince
                Marchetti, Dick Puk, Don Brutzman<o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoListParagraph"
                style="margin-left:.25in;text-indent:-.25in;mso-list:l1
                level1 lfo1">
                <!--[if !supportLists]--><span style="mso-list:Ignore">1.<span
                    style="font:7.0pt "Times New Roman"">      
                  </span></span><!--[endif]-->Very useful discussion
                today, we reviewed proposed language bindings<o:p></o:p></p>
              <ol style="margin-top:0in" type="1" start="1">
                <li class="MsoListParagraph"
                  style="margin-left:0in;mso-list:l0 level1 lfo2">19755-
                  3, C<o:p></o:p></li>
                <li class="MsoListParagraph"
                  style="margin-left:0in;mso-list:l0 level1 lfo2">19755-
                  4, C++<o:p></o:p></li>
                <li class="MsoListParagraph"
                  style="margin-left:0in;mso-list:l0 level1 lfo2">19755-
                  5, C#<o:p></o:p></li>
              </ol>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoNormal">We discussed whether special
                treatment is deserved for exposing these draft
                specifications.  22 Web3D members have access to them
                now.<o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoNormal">Language bindings need compilable
                interfaces for ISO, and at least two implementations for
                Web3D.<o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoNormal">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.<o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoNormal">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.<o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoNormal">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.<o:p></o:p></p>
              <ol style="margin-top:0in" type="1" start="1">
                <li class="MsoListParagraph"
                  style="margin-left:0in;mso-list:l2 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%7C4e6ee194cc544357635908d964118d12%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637650850010860960%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=InQmxP%2BpSNqMvgzuLehZ1WsMAhVzTsElQ6bPWfUJeqw%3D&reserved=0"
                    moz-do-not-send="true"> https://gcc.gnu.org</a> <o:p></o:p></li>
                <li class="MsoListParagraph"
                  style="margin-left:0in;mso-list:l2 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%7C4e6ee194cc544357635908d964118d12%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637650850010860960%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=ID4Gzh%2Bw9bW80EYdfPZCPLjH1m%2BlKDZnZGINmJjcyHA%3D&reserved=0"
                    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"> <o:p></o:p></p>
              <p class="MsoNormal">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.<o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoNormal">We are concerned about personnel
                availability, but will keep working on it step by step.<o:p></o:p></p>
              <p class="MsoNormal"><br>
                We will welcome all help and participation as the work
                proceeds.<o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoListParagraph"
                style="margin-left:.25in;text-indent:-.25in;mso-list:l1
                level1 lfo1">
                <!--[if !supportLists]--><span style="mso-list:Ignore">2.<span
                    style="font:7.0pt "Times New Roman"">      
                  </span></span><!--[endif]-->Mantis issue progress is
                persevering steadily each week.<o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoListParagraph"
                style="margin-left:.75in;text-indent:-.25in;mso-list:l1
                level2 lfo1">
                <!--[if !supportLists]--><span style="mso-list:Ignore">1.<span
                    style="font:7.0pt "Times New Roman"">      
                  </span></span><!--[endif]-->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:<o:p></o:p></p>
              <p class="MsoListParagraph" style="margin-left:.75in"><MetadataDouble
                name=”time”                  value=“0.0” reference=”Unix
                reference of time with start at 1 JAN 1970”/></p>
              <p class="MsoListParagraph" 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 class="MsoListParagraph" style="margin-left:.75in">Any
                scene of examples would be fully detailed and
                cross-referenced for clarity.</p>
              <p class="MsoListParagraph" 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 class="MsoListParagraph" style="margin-left:.75in"><a
                  href="https://www.web3d.org/member-only/mantis/view.php?id=1218"
                  moz-do-not-send="true">https://www.web3d.org/member-only/mantis/view.php?id=1218</a>
              </p>
              <p class="MsoListParagraph" style="margin-left:.75in"> </p>
              <p class="MsoListParagraph"
                style="margin-left:.75in;text-indent:-.25in;mso-list:l1
                level2 lfo1">
                <!--[if !supportLists]--><span style="mso-list:Ignore">2.<span
                    style="font:7.0pt "Times New Roman"">      
                  </span></span><!--[endif]-->Other mantis issues are
                being fixed and addresses each week.  Membership has
                value.<o:p></o:p></p>
              <p class="MsoListParagraph" style="margin-left:.75in"><a
                  href="https://www.web3d.org/member-only/mantis/view_all_bug_page.php"
                  moz-do-not-send="true">https://www.web3d.org/member-only/mantis/view_all_bug_page.php</a>
              </p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoNormal">Thanks everyone for a worthy effort
                today.  Have fun with X3D!  8)<o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <div>
                <div style="border:none;border-top:solid #E1E1E1
                  1.0pt;padding:3.0pt 0in 0in 0in">
                  <p class="MsoNormal"><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"
                      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"
                      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<o:p></o:p></p>
                </div>
              </div>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoNormal">Regular weekly call once again this
                week, Friday 10-1100 Pacific on Web3D conference line.<o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoNormal">We will review our approach to C C++
                C# encodings and also ongoing Mantis progress. 
                Additional topics welcome.<o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoNormal">all the best, Don<o:p></o:p></p>
              <p class="MsoNormal"><span
                  style="font-size:10.0pt;font-family:"Courier
                  New"">-- </span> <o:p></o:p></p>
              <p class="MsoNormal"><span
                  style="font-size:10.0pt;font-family:"Courier
                  New"">Don Brutzman  Naval Postgraduate School,
                  Code USW/Br       <a href="mailto:brutzman@nps.edu"
                    moz-do-not-send="true"><span style="color:#0563C1">brutzman@nps.edu</span></a></span><o:p></o:p></p>
              <p class="MsoNormal"><span
                  style="font-size:10.0pt;font-family:"Courier
                  New"">Watkins 270,  MOVES Institute, Monterey CA
                  93943-5000 USA   +1.831.656.2149</span><o:p></o:p></p>
              <p class="MsoNormal"><span
                  style="font-size:10.0pt;font-family:"Courier
                  New"">X3D graphics, virtual worlds, navy robotics
                  <a href="http://faculty.nps.edu/brutzman"
                    moz-do-not-send="true"><span style="color:#0563C1">http://faculty.nps.edu/brutzman</span></a></span><o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoNormal"><br>
                <br>
                <o:p></o:p></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>
            </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" moz-do-not-send="true">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></pre>
          <p class="MsoNormal"><span
              style="font-size:10.0pt;font-family:"Courier
              New""><o:p> </o:p></span></p>
        </div>
      </blockquote>
    </blockquote>
  </body>
</html>