<div dir="ltr">Round3 review of C-SAI<div>SAI field structs have no memory allocation data. They have various scalars - pointers to functions, some ID, and get the data from the server on demand and pass to the server on demand. So the structs are suitable as stack variables, except something needs to initialize their function pointers and ID.</div><div>Normally SAI users aren't creating nodes and fields - they are fetching already created nodes on the server, and so a call to get a particular field will return a struct that has its function pointers initialized. When a node or field is created, the server will do the allocation on the server, and put the node in its own garbage collection list, so its not necessary for the SAI application to specifically delete the node. The server instance may out-last the SAI application.</div><div>Matrix - are local. There's no server allocation. No allocation is needed,  float _data[16] can be in every matrix struct, and the structs passed around like normal stack variables. The problem is initialization, to populate the function pointers:</div><div>{</div><div>Matrix A = newMatrix(); // struct initialized on rhs right hand side and copied element-wise to matrix struc on lhs</div><div>Matrix B = newMatrix() // ditto</div><div>Matrix C = A.mulitply( B );  // Matrix B copied element wise to stack variable and passed to multiply function, function return struct gets copied elementwise to Matrix C including function pointers and float _data[16];</div><div>} //end of local scope, A, B, C structs popped off stack. No mallocs were done, so no frees needed</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 19, 2023 at 4:14 PM GPU Group <<a href="mailto:gpugroup@gmail.com">gpugroup@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Round 2 review of C SAI<div><br></div><div>I scraped Annex A field structs</div><div><a href="http://www.web3d.org/specifications/ISO-IEC19777/ISO-IEC19777-3v3.3-DIS/" target="_blank">http://www.web3d.org/specifications/ISO-IEC19777/ISO-IEC19777-3v3.3-DIS/</a></div><div><a href="http://www.web3d.org/specifications/ISO-IEC19777/ISO-IEC19777-3v3.3-DIS/Part03/abstracts.html" target="_blank">http://www.web3d.org/specifications/ISO-IEC19777/ISO-IEC19777-3v3.3-DIS/Part03/abstracts.html</a><br></div><div>pasted into a C program and tried compiling. It didn't compile.</div><div>I hacked for a few hours and got them to compile.</div><div><a href="https://drive.google.com/file/d/1fTZfD8geN4_kSP1gow35eiElkMTvj6vH/view?usp=sharing" target="_blank">https://drive.google.com/file/d/1fTZfD8geN4_kSP1gow35eiElkMTvj6vH/view?usp=sharing</a> <br></div><div>CSAI_check2.c</div><div>1 small repetitive syntax errors > missing or double semi-colon</div><div>2 enums different in C, don't put a type int for each value</div><div>3 throw / exceptions not defined in C (there is a way to do it, but not standard or normal)</div><div>4 function name overloading not permitted in C -- use a different name or simplify the options</div><div>5 MF values being returned via getValue need to return a *size, there's no hint in float ** value as to how many SFs there are.</div><div><br></div><div><br></div><div>Review of CSAIExamples</div><div>- compiled and linked</div><div>x unable to run, missing some dlls like mfc110d.dll </div><div>- the author had C++ classes defined elsewhere (in a binary lib, X3DLib) in C++ and used a Microsoft technology AFX to wrap and expose those classes as flat C structs.<br></div><div><p class="MsoNormal">class AFX_EXT_CLASS CSFColorRGBA
: public CX3DField<span></span></p>

<p class="MsoNormal">{<span></span></p>

<p class="MsoNormal">          DECLARE_DYNAMIC(CSFColorRGBA);<span></span></p><p class="MsoNormal">...</p></div><div>- there's an equivalent way to wrap classes manually in a lib, suitable for other operating systems</div><div><a href="http://www.faqs.org/docs/Linux-mini/C++-dlopen.html" target="_blank"> http://www.faqs.org/docs/Linux-mini/C++-dlopen.html</a><br></div><div>Common to both methods: there are 2 functions in addition to the struct representing a class:</div><div>- create()</div><div>- destroy(void *)</div><div>In C++ a class instance can allocate memory when creating an object and when the object goes out of local scope { }</div><div> a destructor defined by the class author, is automatically called to deallocate the memory. C doesn't have this feature, the application must explicitly call something to deallocate.<br></div><div>This affects strategy when defining functions:</div><div>Matrix3f {</div><div>   Matrix3f multiply( void *this, Matrix3f rhs); //bad, C++ copy constructor called on rhs when passed in, and on return value</div><div>   Matrix3f multiply( void *this, Matrix3f *lhs, Matrix3f *rhs ); // better, programmer is in charge of explicitly creating and destroying lhs and rhs</div><div>}</div><div>Or that's what it looked like to me with limited time to review</div><div>-Doug</div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 19, 2023 at 8:25 AM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>





<div lang="EN-US">
<div>
<p class="MsoNormal">We meet at our regular time tomorrow, 0900-1000 pacific Friday 20 JAN.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">First we will briefly review updates to the following important status resource, discussing next steps.<u></u><u></u></p>
<ul type="disc">
<li class="MsoNormal" style="color:black;background:rgb(204,255,255)">
<i><span style="font-size:13.5pt;font-family:"Times New Roman",serif">Updated.</span></i><span style="font-size:13.5pt;font-family:"Times New Roman",serif"> <a href="https://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx" target="_blank">X3D Node Inventory Comparison</a> (<a href="https://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf" target="_blank">.pdf</a>)
 shows node-by-node implementation coverage of the X3D Abstract Specification: validation using X3D Schema, X3D DOCTYPE, and X3D Schematron; X3D Tooltips and VRML97 node sets; plus selected open-source implementations: FreeWrl, X3DOM, X_ITE, view3dscene (Castle
 Game Engine), X3D-Edit, Xj3D.<u></u><u></u></span></li><li style="margin-left:0in"><a href="https://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx" target="_blank">https://www.web3d.org/specifications/X3dNodeInventoryComparison.xlsx</a><u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf" target="_blank">https://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf</a><u></u><u></u></li></ul>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Our primary goal is to review all comments on the C, C++, C# draft specifications and ensure they are captured appropriately in the Web3D Consortium Mantis Issue Tracker. Results will be submitted to ISO.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">All participation is welcome.  Last week’s minutes attached for convenience.  Have fun with X3D! 8)<u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New""><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">all the best, Don<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">-- <u></u>
<u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Don Brutzman  Naval Postgraduate School, Code USW/Br       
<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">X3D graphics, virtual worlds, Navy robotics https://</span>
<span style="font-size:10pt;font-family:"Courier New""><a href="http://faculty.nps.edu/brutzman" target="_blank">faculty.nps.edu/brutzman</a><u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><b>From:</b> Brutzman, Donald (Don) (CIV) <a href="mailto:brutzman@nps.edu" target="_blank">
brutzman@nps.edu</a> <br>
<b>Sent:</b> Friday, January 13, 2023 10:40 AM<br>
<b>To:</b> X3D Public Mailing List (<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>)
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<b>Cc:</b> Brutzman, Donald (Don) (CIV) <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br>
<b>Subject:</b> X3D Working Group minutes 13 JAN 2023: refined goals, ISO specification updates, X3D4 implementation upgrade guidelines?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Happy Friday 13<sup>th</sup> everyone!  (bwa ha ha…)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Today we held our regular weekly meeting of X3D Working Group, Friday 13 January 2023 at 09-10 pacific.  Connection information and topics follow.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<ul style="margin-top:0in" type="disc">
<li><a href="https://us02web.zoom.us/j/81634670698?pwd=a1VPeU5tN01rc21Oa3hScUlHK0Rxdz09" target="_blank">https://us02web.zoom.us/j/81634670698?pwd=a1VPeU5tN01rc21Oa3hScUlHK0Rxdz09</a>
<u></u><u></u></li><li><a href="https://zoom.us/j/148206572" target="_blank">https://zoom.us/j/148206572</a>  Password 483805
<u></u><u></u></li><li><a href="https://www.web3d.org/member/teleconference-information" target="_blank">https://www.web3d.org/member/teleconference-information</a>
<u></u><u></u></li></ul>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Attendees: Anita Havele, Nicholas Polys, Dick Puk, Doug Sanden, Don Brutzman.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<ol style="margin-top:0in" start="1" type="1">
<li>
<b>Goal statement review</b>.  Our primary activities for X3D Working Group in 2023 are focused on broad and correct deployment.  Refined:<u></u><u></u></li></ol>
<p class="MsoNormal"><u></u> <u></u></p>
<ol style="margin-top:0in" start="1" type="a">
<li style="margin-left:0.25in">Encourage consistent rendering, interaction and usage for the many tremendous capabilities in X3D4.<u></u><u></u></li><li style="margin-left:0.25in">Update ISO specifications and implementations for multiple programming languages and file encodings to match X3D4.<u></u><u></u></li></ol>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">The dozen corresponding standards to receive these updates are illustrated as follows:<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in">X3D Graphics Standards Relationships<u></u><u></u></li><li style="margin-left:0in"><a href="https://web3d.org/specifications/X3dGraphicsStandardsRelationships.png" target="_blank">https://web3d.org/specifications/X3dGraphicsStandardsRelationships.png</a><u></u><u></u></li></ul>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<ol style="margin-top:0in" start="2" type="1">
<li>
<b>Milestone: X3D4 Architecture Finalization</b>.  <u></u><u></u></li></ol>
<p class="MsoNormal" style="margin-left:4.5pt"><u></u> <u></u></p>
<p class="MsoNormal" style="margin-left:4.5pt">Last Tuesday we held a totally successful ISO Editors meeting for X3D4 Architecture Draft International Specification (DIS).  ISO review and approval deliberations continue.<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:4.5pt"><u></u> <u></u></p>
<p class="MsoNormal" style="margin-left:4.5pt">Today we reviewed progress, changes and next steps following.  Almost finally, finally done locking in all details…<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in">X3D4: Extensible 3D (X3D) Part 1: Architecture and base components, ISO/IEC 19775-1:2022<u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/Architecture.html" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/Architecture.html</a><u></u><u></u></li></ul>
<p class="MsoNormal"><u></u> <u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in">Mantis Issue Tracker<u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/member-only/mantis/view_all_bug_page.php" target="_blank">https://www.web3d.org/member-only/mantis/view_all_bug_page.php</a><u></u><u></u></li></ul>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Mantis issues are being updated to track all of the agreed-upon ISO changes correctly.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Given the formally approved list of X3D4 Architecture changes, we can finally proceed with document editing.  Next step is to apply CSS-markup highlighted changes to the current DIS source for group review.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Proposed github location for that draft:<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in">Web3D Consortium GitHub Archive
<u></u><u></u></li><li style="margin-left:0in"><a href="https://github.com/Web3dConsortium" target="_blank">https://github.com/Web3dConsortium</a><u></u><u></u></li><li style="margin-left:0in"><a href="https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC19775/ISO-IEC19775-1/ISO-IEC19775-1v4.0/ISO-IEC19775-1v4-DIS" target="_blank">https://github.com/Web3DConsortium/X3D/tree/master/ISO-IEC19775/ISO-IEC19775-1/ISO-IEC19775-1v4.0/ISO-IEC19775-1v4-DIS</a><u></u><u></u></li><li style="margin-left:0in">ISO-IEC19775-1v4-ProposedIS will be new directory location, eventual rename to “IS” once accepted by ISO<u></u><u></u></li></ul>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">X3D schema, DTD, X3DUOM, X3DJSAIL updates in progress, so far so good.  Have applied most validation-related changes.  Initial recapitalization/dehyphenization of Web Audio-related enumerations to follow.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Forward thinkers can rest assured that no good ideas regarding X3D evolution that didn’t “make the final ISO cut” are getting lost.  All future possibilities will continue to be tracked in Mantis and designated as future X3D 4.1.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<ol style="margin-top:0in" start="3" type="1">
<li>
<b>Web3D Review of C, C++, C# draft standards for X3D 3.3.</b>  <u></u><u></u></li></ol>
<p class="MsoNormal" style="margin-left:4.5pt"><u></u> <u></u></p>
<p class="MsoNormal" style="margin-left:4.5pt">Deadline is imminent, we intend to review all comments next week.  Based on that review, X3D Working Group will make a recommendation to Web3D Board of Directors regarding Consortium and community inputs on specification
 readiness.<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:4.5pt"><u></u> <u></u></p>
<p class="MsoNormal" style="margin-left:4.5pt"><u></u> <u></u></p>
<ol style="margin-top:0in" start="4" type="1">
<li>
<b>Preparing for Outreach</b>.<u></u><u></u></li></ol>
<p class="MsoNormal" style="margin-left:4.5pt"><u></u> <u></u></p>
<p class="MsoNormal" style="margin-left:4.5pt">We discussed how to communicate the soon-to-happen approval of X3D 4.0 by ISO, including possible testimonials by members, implementers, authors, users, Standards Development Organization (SDO) partners, et al.<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:4.5pt"><u></u> <u></u></p>
<p class="MsoNormal" style="margin-left:4.5pt"><i>All testimonial statements are welcome.</i>  Web3D Consortium Executive Director Anita Havele to participate.<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:4.5pt"><u></u> <u></u></p>
<p class="MsoNormal" style="margin-left:4.5pt"><u></u> <u></u></p>
<ol style="margin-top:0in" start="5" type="1">
<li>
<b>X3D Node Inventory Comparison</b>.<u></u><u></u></li></ol>
<p class="MsoNormal" style="margin-left:4.5pt"><u></u> <u></u></p>
<p class="MsoNormal" style="margin-left:4.5pt">We took another look at this spreadsheet, let’s prepare to regularly update.  Multiple other assets can also be used by implementers to support upgrading to X3D4.<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:4.5pt"><u></u> <u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in">X3D Specifications: Schema and DOCTYPE Validation<u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/specifications" target="_blank">https://www.web3d.org/specifications</a><u></u><u></u></li><li style="margin-left:0in">These assets are commonly used for XML validation of X3D scenes, and in-depth documentation is also provided here.<u></u><u></u></li></ul>
<p class="MsoNormal"><u></u> <u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in">X3D Node Inventory Comparison (.pdf) shows node-by-node implementation coverage of the X3D Abstract Specification: validation using X3D Schema, X3D DOCTYPE, and X3D Schematron; X3D
 Tooltips and VRML97 node sets; plus selected open-source implementations: FreeWrl, X3DOM, X_ITE, view3dscene (Castle Game Engine), X3D-Edit, Xj3D.<u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/specifications/X3dNodeInventoryComparison.xslx" target="_blank">https://www.web3d.org/specifications/X3dNodeInventoryComparison.xslx</a> (master in version control)<u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf" target="_blank">https://www.web3d.org/specifications/X3dNodeInventoryComparison.pdf</a><u></u><u></u></li><li style="margin-left:0in">This will be updated to X3D 4.0 latest, with changes highlighted in yellow<u></u><u></u></li></ul>
<p><u></u> <u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in">X3D Tooltips 4.0 also highlights all changes in yellow<u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/x3d/tooltips/X3dTooltips.html" target="_blank">https://www.web3d.org/x3d/tooltips/X3dTooltips.html</a><u></u><u></u></li><li style="margin-left:0in">For example, Anchor tooltips:<u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/x3d/tooltips/X3dTooltips.html#Anchor" target="_blank">https://www.web3d.org/x3d/tooltips/X3dTooltips.html#Anchor</a><u></u><u></u></li></ul>
<p><u></u> <u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in">The X3D4 Architecture specification itself also reveals specific changes to nodes and fields, from versions 3.0, 3.1, 3.2, 3.3 and 4.0:<u></u><u></u></li><li style="margin-left:0in">X3D4 Architecture, Annex Z, Version Content<u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/versionContent.html" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/versionContent.html</a><u></u><u></u></li><li style="margin-left:0in">For example, looking at Anchor node, you can see in rightmost column that v4.0 adds load, bboxDisplay, autoRefreshTimeLimit etc.<u></u><u></u></li></ul>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Suggested: should we create an X3D4 Migration Guide to help implementers?  Seems like an excellent idea, also “rings true” with our initial goal statements today.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><i>Volunteers please?  </i>Creating some form of X3D4 Migration Guide checklist to assist implementers might be quite useful.  Also an excellent professional opportunity for experts and consultants to demonstrate (and upgrade) their expertise.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<ol style="margin-top:0in" start="6" type="1">
<li>
<b>All other business</b>.  <u></u><u></u></li></ol>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Good discussions on download statistics (X3D-Edit, FreeWrl) and a variety of other topics... we’re having fun now!<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">As ever, many thanks for the work of many contributors.  Deep breath… wow.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">No Web3D member-only information is included in these minutes… but please do note: several valuable items documented here have Web3D member-only access.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Consortium membership has value!  <i>Please consider joining</i>.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in">Join the Web3D Consortium<u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/join" target="_blank">https://www.web3d.org/join</a><u></u><u></u></li></ul>
<p><u></u> <u></u></p>
<p class="MsoNormal">Have fun with X3D4!   8)<u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New""><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">all the best, Don<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">-- <u></u>
<u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Don Brutzman  Naval Postgraduate School, Code USW/Br       
<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">X3D graphics, virtual worlds, Navy robotics https://</span>
<span style="font-size:10pt;font-family:"Courier New""><a href="http://faculty.nps.edu/brutzman" target="_blank">faculty.nps.edu/brutzman</a><u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New""><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">all the best, Don<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">-- <u></u>
<u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Don Brutzman  Naval Postgraduate School, Code USW/Br        <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">X3D graphics, virtual worlds, Navy robotics https://</span>
<span style="font-size:10pt;font-family:"Courier New""><a href="http://faculty.nps.edu/brutzman" target="_blank">faculty.nps.edu/brutzman</a><u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</div></blockquote></div>
</blockquote></div>