<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:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@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;}
/* 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;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
.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;}
/* List Definitions */
@list l0
        {mso-list-id:685326233;
        mso-list-template-ids:-1;}
@list l1
        {mso-list-id:1289356822;
        mso-list-type:hybrid;
        mso-list-template-ids:1159754350 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:Calibri;}
@list l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l2
        {mso-list-id:1325662930;
        mso-list-type:hybrid;
        mso-list-template-ids:-1118507446 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l2:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:"Times New Roman";}
@list l2:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l2:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l2:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l2:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l2:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l2:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l2:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l2:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l2 level1 lfo3'><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'><field accessType='inputOutput' name=<strong><span style='font-family:"Verdana",sans-serif'>'canHaveFocus' </span></strong>type='SFBool' value='false'/><br><br></span></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hi Doug, That is real nice demo (I hope I can find it again) and shows a lot of work and understanding. Maybe I haven’t looked enough, but I am thinking about Anchors and TouchSensors and Layers? </p><p class=MsoNormal><o:p> </o:p></p><ul type=disc><li style='margin-bottom:0in;margin-bottom:.0001pt;mso-list:l1 level1 lfo2'><span style='font-size:9.0pt;font-family:"Verdana",sans-serif;background:silver;mso-highlight:silver'> </span><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>but the avatar gets the focus any time, when no other geometry has the focus, even, if the avatar is invisible currently.<o:p></o:p></span></li></ul><p style='margin-bottom:0in;margin-bottom:.0001pt'><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Why then, do I want to treat my avatar like any other piece of the scene? I lose focus if nothing else has focus and avatar not visible, then must be no focus available and browser must show Panic button? In any event, nothing should have focus-power over my avatar… rant rant <o:p></o:p></span></p><p style='margin-bottom:0in;margin-bottom:.0001pt'><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>You are doing fine in recommending several layers of automation of select and unselect and taking care of actives and inactives for what might seem to be a specialized application that might be served better as a prototype. I recommend showing some example user code to show how these interfaces are used to aid selection and navigation, even as viewed through the eyes of the avatar, or without the avatar aspect. Especially when you are showing browsers drawing things and working through hierarchies to turn sensors on and off automagically … <o:p></o:p></span></p><ul type=disc><li style='margin-bottom:0in;margin-bottom:.0001pt;mso-list:l1 level1 lfo2'><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>highlighting or by drawing a 2-dimensional "frame" around the geometry.<o:p></o:p></span></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Those two suggestions offer a wide range of options which is why there are no default hlghlighting or selection options for anchors or any environmental.  Compared to html, x3d does not have any style in this at all, and the author has to do it all. Same with other sensors. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Fine Work and Best Regards.<o:p></o:p></p><p class=MsoNormal>Joe<o:p></o:p></p><p class=MsoNormal><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:christoph.valentin@gmx.at">Christoph Valentin</a><br><b>Sent: </b>Wednesday, January 23, 2019 9:14 AM<br><b>To: </b><a href="mailto:gpugroup@gmail.com">Doug Sanden</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a><br><b>Subject: </b>[x3d-public] Fw: Avatar Handling / non-standard movement strategies/ input of key strokes ------ Was: Mac-unaware PageUp/PageDown,Viewpoint list, navigation keys?</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Hi Doug, Hi all,<o:p></o:p></span></p><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>After the latest discussions at the thread "Question VR Cafe + X3D", I am feeling free to explain the intentions behind the below cited proposal from last weekend (e-mail "Avatar Handling / non-standard movement strategies / input of key strokes").<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Regarding an avatar that rides a locomotive, I was considering two different approaches:<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>1) Human body avatar is moved by the "WALK" paradigm of X3D.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>The locomotive contains a "ProximitySensor" and a "Viewpoint" as well as a "NavigationInfo", all of which are moving with the locomotive. Also a <Group> node is contained, which takes the avatar as child. The avatar contains a "Transform" node, whose "translation" and "orientation" are fed by the "ProximitySensor".<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>1.a) The model of the locomotive has got touchable controls ("faster", "power up", "whistle", ......), which are used to control the model.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>2) As soon as the avatar is attached to the locomotive --> use key strokes to directly control the locomotive<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Thus the "combined" avatar "locomotive + human body avatar" becomes the "real" avatar, which takes the input from the keyboard (or from somewhere else)<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>I am not "riding" the locomotive, but I "am" the locomotive<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>I followed approach (1), but now, when it might come to having "real cockpit" and "virtual cockpit", I am not sure, whether approach (2) wouldn't be better.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Just to have it nailed down on the mailing list :-)<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Kind regards,<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Christoph<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>  <o:p></o:p></span></p><div style='border:none;border-left:solid #C3D9E5 1.5pt;padding:0in 0in 0in 8.0pt;margin-left:7.5pt;margin-top:7.5pt;margin-right:3.75pt;margin-bottom:3.75pt'><div><div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:4.8pt;margin-right:0in'><div><div><div><div style='border:none;border-left:solid #C3D9E5 1.5pt;padding:0in 0in 0in 8.0pt;margin-left:7.5pt;margin-top:7.5pt;margin-right:3.75pt;margin-bottom:3.75pt'><div><div><div><div><p style='margin-bottom:0in;margin-bottom:.0001pt'><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Sorry for writing so many e-mails for just one idea. Now I have seized the lunch break to summarize the suggestion, maybe it can explain the idea better:<o:p></o:p></span></p><ol start=1 type=1><li style='margin-bottom:0in;margin-bottom:.0001pt;mso-list:l0 level1 lfo1'><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Is there anything in X3D that makes the following DRAFT proposal obsolete?<o:p></o:p></span></li><li style='margin-bottom:0in;margin-bottom:.0001pt;mso-list:l0 level1 lfo1'><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>DRAFT Proposal for simplified handling of keystrokes or other input of character streams via KeySensor and StringSensor.<br>a) Each <strong><span style='font-family:"Verdana",sans-serif'>X3D grouping node</span></strong> defines two additional fields<br><field accessType='inputOutput' name=<strong><span style='font-family:"Verdana",sans-serif'>'canHaveFocus' </span></strong>type='SFBool' value='false'/><br><field accessType='inputOutput' name=<strong><span style='font-family:"Verdana",sans-serif'>'isAvatar' </span></strong>type='SFBool' value='false'/><br>b) the behaviour is as follows:<br>b.1) <strong><span style='font-family:"Verdana",sans-serif'>canHaveFocus == false</span></strong>: well-known "old" behaviour, no change<br>b.2) <strong><span style='font-family:"Verdana",sans-serif'>canHaveFocus == true && isAvatar == false</span></strong>: the browser may select this group together with all static and dynamic children to get the "focus" by some means. Only one group and its children can have the focus at any time. Having the focus means all StringSensor nodes and KeySensor nodes contained in the group are enabled regardless of the value of their "enabled" field. The browser SHOULD graphically indicate, which geometry has got the focus, e.g. by highlighting or by drawing a 2-dimensional "frame" around the geometry.<br>b.3) <strong><span style='font-family:"Verdana",sans-serif'>canHaveFocus == true && isAvatar == true</span></strong>: same behaviour as with b.2), but the avatar gets the focus any time, when no other geometry has the focus, even, if the avatar is invisible currently.<o:p></o:p></span></li></ol><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Have a nice day<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Christoph<o:p></o:p></span></p></div></div><div><div style='border:none;border-left:solid #C3D9E5 1.5pt;padding:0in 0in 0in 8.0pt;margin-left:7.5pt;margin-top:7.5pt;margin-right:3.75pt;margin-bottom:3.75pt'><div style='margin-bottom:7.5pt'><p class=MsoNormal><b><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Gesendet:</span></b><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'> Donnerstag, 17. Januar 2019 um 09:44 Uhr<br><b>Von:</b> "Christoph Valentin" <christoph.valentin@gmx.at><br><b>An:</b> "Christoph Valentin" <christoph.valentin@gmx.at>, "Leonard Daly" <Leonard.Daly@realism.com>, x3d-public@web3d.org<br><b>Betreff:</b> Re: [x3d-public] Mac-unaware PageUp/PageDown, Viewpoint list, navigation keys?<o:p></o:p></span></p></div><div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Maybe its silly, but I thought: 1) I can *ride* a locomotive and * use* its controls or 2) I can *be* a locomotive<br><br>Like a Horse + Rider = a single entity<br>--<br>Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Am 17.01.19, 09:28, Christoph Valentin <christoph.valentin@gmx.at> schrieb: <o:p></o:p></span></p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:4.8pt;margin-right:0in'><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Plus a "special handling" for avatars, where the pilot avatar can have an "always on" focus to supersede Standard navigation by avatar specific movement Strategy..........<br>--<br>Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Am 17.01.19, 07:45, Christoph Valentin <christoph.valentin@gmx.at> schrieb: <o:p></o:p></span></p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:4.8pt;margin-right:0in'><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Each grouping node would need a new field:<br><br><field accessType='inputOutput' type='SFBool' name='canHaveFocus' value='false'/><br><br>and the rest was up to the browser.<br>--<br>Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Am 17.01.19, 07:25, Christoph Valentin <christoph.valentin@gmx.at> schrieb: <o:p></o:p></span></p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:4.8pt;margin-right:0in'><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>And what about a concept of "having the focus":<br><br>If a grouping node "had the focus", then all KeySensor and StringSensor nodes within this group would become "enabled".<br><br>KR<br>Christoph<br>--<br>Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Am 16.01.19, 23:22, Christoph Valentin <christoph.valentin@gmx.at> schrieb: <o:p></o:p></span></p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:4.8pt;margin-right:0in'><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>Maybe my opinion is not important, but I think these concrete hints which key to use for which navigation function should be completely avoided in X3D Spec.<br><br>Isn't it enough to have the abstract/virtual concepts of "indicating forward/backward/left/right/up/down", "fast/slow", "touch", "drag" by "some means that are up to the Browser"?<br><br>The Events that are created by the sensor nodes have to be specified well, on the other hand. <br><br>A different story is the Network Sensor, where the protocol should be specified to the bits. <br><br>Just my opinion and just Two Cent:-)<br>--<br>Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.<o:p></o:p></span></p></div></blockquote><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'> <o:p></o:p></span></p></div></div></blockquote></div></blockquote></div></blockquote></div></div></div></div></div></div></div></div></div></div></div></blockquote></div></div></div></div><p class=MsoNormal style='mso-margin-top-alt:0in;margin-right:3.75pt;margin-bottom:3.75pt;margin-left:12.3pt'><span style='font-size:9.0pt;font-family:"Verdana",sans-serif'>_______________________________________________ x3d-public mailing list x3d-public@web3d.org http://web3d.org/mailman/listinfo/x3d-public_web3d.org<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>