<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@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;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"Simplified Arabic Fixed";
        panose-1:2 7 3 9 2 2 5 2 4 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Maintaining proper interfaces between your code and 3<sup>rd</sup> party code is always a good idea.  Please look at various online videos about how to create interfaces.   If your language doesn’t support interfaces or abstract classes, get a new language.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>That said, we’re having difficulty with X3DPSAIL using abstract classes and interfaces as normal classes.  I suspect we are breaking the interface contracts.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</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:info@3dnetproductions.com">GL</a><br><b>Sent: </b>Friday, May 31, 2019 5:33 PM<br><b>To: </b><a href="mailto:christoph.valentin@gmx.at">'Christoph Valentin'</a>; <a href="mailto:x3d-public@web3d.org">'x3d-publicweb3d.org'</a><br><b>Subject: </b>Re: [x3d-public] Most portable way to wrap X3D Player by App</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:Consolas;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:Consolas;color:#1F497D'>I feel exactly the same way. Too many times I've tried relying on some company's offering in my own projects, only to have them change things out or cancel, thereby breaking my work. At this point, my goals are to build solutions that are as free of dependencies as can be. This means, I am not only gearing up to create a custom GUI, but I've also began the process of creating a 3D browser entirely optimized to the specific needs I wish to fulfill. This is one raison why I like X3D's open standards; code that I wrote 20 years ago remain valid today, and I trust that I can count on X3D for the next 20 years. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:Consolas;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:Consolas;color:#1F497D'>In your case, I'd suggest building your own application with C++ instead of VB, thus allowing you better control of what you're doing. It's more work, but it's work much less likely to let you down in the long run. We did trust web browsers before, but look at where we are now. So I am personally quite reluctant in going that way again, with what seems to me now like a house of cards. Good as a temporary stepping stone to bring users in no doubt, but for a permanent fully-interactive 3D world, the previous approach is a no brainer. GL<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:Consolas;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Simplified Arabic Fixed";color:#1F497D'>________________________________________________________<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Simplified Arabic Fixed";color:#1F497D'>* * * Interactive Multimedia - Internet Management * * *<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Simplified Arabic Fixed";color:#1F497D'>  * *  Virtual Reality -- Application Programming  * *<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Simplified Arabic Fixed";color:#1F497D'>    *   3D Net Productions  3dnetproductions.com   *<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:Consolas;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:Consolas;color:#1F497D'><o:p> </o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma",sans-serif'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma",sans-serif'> x3d-public [mailto:x3d-public-bounces@web3d.org] <b>On Behalf Of </b>Christoph Valentin<br><b>Sent:</b> Thursday, May 30, 2019 8:55 AM<br><b>To:</b> x3d-publicweb3d.org<br><b>Subject:</b> [x3d-public] Most portable way to wrap X3D Player by App<o:p></o:p></span></p></div></div><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif'><o:p> </o:p></span></p><div><div><p class=MsoNormal><span style='font-size:7.0pt;font-family:"Verdana",sans-serif'>Hi all,<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:7.0pt;font-family:"Verdana",sans-serif'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:7.0pt;font-family:"Verdana",sans-serif'>Once I used Visual Basic to wrap BS Contact with my own little GUI application, which was quite easy given you had access to Contact SDK, but seems to be deprecated by Microsoft now.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:7.0pt;font-family:"Verdana",sans-serif'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:7.0pt;font-family:"Verdana",sans-serif'>Then I used HTML pages to wrap BS Contact, which seems to be deprecated by Mozilla et al now.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:7.0pt;font-family:"Verdana",sans-serif'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:7.0pt;font-family:"Verdana",sans-serif'>So, what is the most portable way to wrap an X3D Player (not only BS Contact) by some small GUI application of your own?<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:7.0pt;font-family:"Verdana",sans-serif'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:7.0pt;font-family:"Verdana",sans-serif'>Or should I have "everything within the scene" and "never use external GUI", using X3D Players in standalone without any wrapper?<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:7.0pt;font-family:"Verdana",sans-serif'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:7.0pt;font-family:"Verdana",sans-serif'>Or should I wait for X3D v4 to have no X3D Player at all, just W3C Browser, and do the wrapper in HTML/JS?<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:7.0pt;font-family:"Verdana",sans-serif'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:7.0pt;font-family:"Verdana",sans-serif'>Any hint welcome. Time does not matter, but I need a "final" perfect solution. Do not want to change the things every two years.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:7.0pt;font-family:"Verdana",sans-serif'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:7.0pt;font-family:"Verdana",sans-serif'>KR<o:p></o:p></span></p></div></div></div><p class=MsoNormal><span style='font-size:7.0pt;font-family:"Verdana",sans-serif'>Christoph<span style='color:#1F497D'><o:p></o:p></span></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman",serif'><o:p> </o:p></span></p></div></body></html>