[x3d-public] X3D meeting minutes 20 AUG 2021, C C++ C# and Mantis MetadataDate

John Carlson yottzumm at gmail.com
Thu Aug 26 14:30:38 PDT 2021


Myeong,

Thanks for your efforts on the C/C#/C++ standards!

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: https://github.com/Web3DConsortium/X3D (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:

./ISO-IEC19777/ISO-IEC19777-4/ISO-IEC19777-4v3.3/ISO-IEC19777-4v3.3-WD
./ISO-IEC19777/ISO-IEC19777-4/ISO-IEC19777-4v3.3/ISO-IEC19777-4v3.3-CD
./ISO-IEC19777/ISO-IEC19777-3/ISO-IEC19777-3v3.3/ISO-IEC19777-3v3.3-CD
./ISO-IEC19777/ISO-IEC19777-3/ISO-IEC19777-3v3.3/ISO-IEC19777-3v3.3-WD
./ISO-IEC19777/ISO-IEC19777-5/ISO-IEC19777-5v3.3/ISO-IEC19777-5v3.3-CD
./ISO-IEC19777/ISO-IEC19777-5/ISO-IEC19777-5v3.3/ISO-IEC19777-5v3.3-WD

( Please confirm that the WD folders are correct).

These are the original folders that where already there that are moved 
out of the way.

./ISO-IEC19777-4/ISO-IEC19777-4v3.3/ISO-IEC19777-4v3.3-WD-original
./ISO-IEC19777-3/ISO-IEC19777-3v3.3/ISO-IEC19777-3v3.3-WD-original
./ISO-IEC19777-5/ISO-IEC19777-5v3.3/ISO-IEC19777-5v3.3-WD-original

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.

I will enter a Mantis ticket for these changes.

===========================================================

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: 
http://www.web3d.org/mailman/listinfo/x3d-public_web3d.org

Issues with source code artifacts should be can be recorded here: 
https://sourceforge.net/p/x3d/discussion/

Source code artifacts should go here in addition: 
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/languages/ 
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.

If you have any open questions, please post to the x3d-public list 
(respond to this email).

I don't believe source code changes require Mantis.

John

On 8/26/21 9:34 AM, Brutzman, Donald (Don) (CIV) wrote:
>
> Again: it would be useful to have to have a design page that discussed 
> programming patterns and open issues.
>
> Again: GitHub is master version, being aware that differences exist 
> but are not identified isn’t very useful.
>
> 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.
>
> Thanks for all efforts, hopefully they can become productive and 
> fruitful by working deliberately together.
>
> all the best, Don
> -- 
> Don Brutzman  Naval Postgraduate School, Code USW/Br brutzman at nps.edu
> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149
> X3D graphics, virtual worlds, navy robotics 
> http://faculty.nps.edu/brutzman <http://faculty.nps.edu/brutzman>
>
> *From: *John Carlson <mailto:yottzumm at gmail.com>
> *Sent: *Friday, August 20, 2021 12:36 PM
> *To: *Brutzman, Donald (Don) (CIV) <mailto:brutzman at nps.edu>; 
> x3d-public at web3d.org <mailto:x3d-public at web3d.org>; Myeong Won Lee 
> <mailto:myeongwonlee at gmail.com>; GPU Group <mailto:gpugroup at gmail.com>
> *Subject: *Re: [x3d-public] X3D meeting minutes 20 AUG 2021, C C++ C# 
> and Mantis MetadataDate
>
> NPS WARNING: *external sender* verify before acting.
>
> Don, Myeong, Doug,
>
> 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. https://www.geeksforgeeks.org/virtual-function-cpp/ 
> <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> 
> 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.
>
> I think it would be useful to have Doug Sanden review the abstract and 
> concrete class and structs before making big decisions.
>
> 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?
>
> 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).
>
> I'm glad I am reviewing this!  We'll see if anything else pops into my 
> head after I send the message!
>
> Thanks,
>
> John
>
> On 8/20/21 1:46 PM, Brutzman, Donald (Don) (CIV) wrote:
>
>     Attendees John Carlson, Vince Marchetti, Dick Puk, Don Brutzman
>
>     1.Very useful discussion today, we reviewed proposed language bindings
>
>      1. 19755- 3, C
>      2. 19755- 4, C++
>      3. 19755- 5, C#
>
>     We discussed whether special treatment is deserved for exposing
>     these draft specifications.  22 Web3D members have access to them now.
>
>     Language bindings need compilable interfaces for ISO, and at least
>     two implementations for Web3D.
>
>     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.
>
>     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.
>
>     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.
>
>      1. GCC, the GNU Compiler Collection https://gcc.gnu.org
>         <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>
>
>      2. https://stackoverflow.com/questions/26078437/why-does-gcc-support-java-and-not-c-sharp
>         <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>
>
>
>     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.
>
>     We are concerned about personnel availability, but will keep
>     working on it step by step.
>
>
>     We will welcome all help and participation as the work proceeds.
>
>     2.Mantis issue progress is persevering steadily each week.
>
>     1.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:
>
>     <MetadataDouble name=”time”                  value=“0.0”
>     reference=”Unix reference of time with start at 1 JAN 1970”/>
>
>     <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”/>
>
>     Any scene of examples would be fully detailed and cross-referenced
>     for clarity.
>
>     Mantis 1218: 07.2.4 MetadataDate - New node type, or new data type
>
>     https://www.web3d.org/member-only/mantis/view.php?id=1218
>     <https://www.web3d.org/member-only/mantis/view.php?id=1218>
>
>     2.Other mantis issues are being fixed and addresses each week. 
>     Membership has value.
>
>     https://www.web3d.org/member-only/mantis/view_all_bug_page.php
>     <https://www.web3d.org/member-only/mantis/view_all_bug_page.php>
>
>     Thanks everyone for a worthy effort today.  Have fun with X3D!  8)
>
>     *From:* Brutzman, Donald (Don) (CIV)
>     *Sent:* Friday, August 20, 2021 12:27 AM
>     *To:* x3d-public at web3d.org <mailto:x3d-public at web3d.org>
>     *Cc:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
>     <mailto:brutzman at nps.edu>
>     *Subject:* X3D meeting agenda 20 AUG 2021, C C++ C# and Mantis
>
>     Regular weekly call once again this week, Friday 10-1100 Pacific
>     on Web3D conference line.
>
>     We will review our approach to C C++ C# encodings and also ongoing
>     Mantis progress.  Additional topics welcome.
>
>     all the best, Don
>
>     -- 
>
>     Don Brutzman  Naval Postgraduate School, Code USW/Br
>     brutzman at nps.edu <mailto:brutzman at nps.edu>
>
>     Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA  
>     +1.831.656.2149
>
>     X3D graphics, virtual worlds, navy robotics
>     http://faculty.nps.edu/brutzman <http://faculty.nps.edu/brutzman>
>
>
>
>     _______________________________________________
>
>     x3d-public mailing list
>
>     x3d-public at web3d.org  <mailto:x3d-public at web3d.org>
>
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org  <http://web3d.org/mailman/listinfo/x3d-public_web3d.org>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20210826/56ce7080/attachment-0001.html>


More information about the x3d-public mailing list