<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
I have implemented a screen-oriented dragger, we can talk.<br>
<br>
What X3D (and X3DOM) NEEDS if it doesn't have it, is a 'viewport'
space, in addition to 'world' space, and functions to convert EASILY
between them. Because most people that want to drag editor-style
want to do it parallel to the plane of the screen (perpendicular to
the camera 'forward' direction) in many cases. This type of thing is
made easy by API's in other systems such as Unity. If X3D/om wants
to compete, it better have that stuff available.<br>
IMHO.<br>
Dave A<br>
<br>
<div class="moz-cite-prefix">On 3/5/2014 2:10 AM, Limper, Max wrote:<br>
</div>
<blockquote
cite="mid:59A2F7345900E2478F1FD18FABBBCAAE0A47BD61@EXMBS1.ad.igd.fraunhofer.de"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<meta name="Generator" content="Microsoft Word 14 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:36.0pt;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
span.E-MailFormatvorlage17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:1993678774;
mso-list-type:hybrid;
mso-list-template-ids:267281542 1823480162 67567641 67567643 67567631 67567641 67567643 67567631 67567641 67567643;}
@list l0:level1
{mso-level-text:"%1\.\)";
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level3
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l0:level4
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level6
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l0:level7
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level9
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal">Dear all,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">it seems many people
want some tools to realize common 3D “handles” like known
from popular modeling programs (Maya, Blender, …) – here’s
an example from the three.js folks:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><a
moz-do-not-send="true"
href="http://mrdoob.github.io/three.js/editor/">http://mrdoob.github.io/three.js/editor/</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Since there have been
many requests for such tools in X3DOM, we have started to
implement the PointingDeviceSensor component´, as we didn’t
want to re-invent the wheel and keep conformant with X3D.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">However, it turned out
that it is quite hard to achieve what we want with the
PointingDeviceSensor component, especially for the
Transformation tool (please find attached a screenshot, as
well as the corresponding X3D file).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">There are two issues
where I would be pleased to hear your opinion:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoListParagraph"
style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><!--[if !supportLists]--><span
lang="EN-US"><span style="mso-list:Ignore">1.)<span
style="font:7.0pt "Times New Roman"">
</span></span></span><!--[endif]--><span lang="EN-US">The
axisRotation field lets us track pointer motion mapped onto
a different plane than the standard Z=0 plane. This is great
to realize the handles: For the X and Y handle, we keep the
standard orientation of the virtual sensor plane. For the Z
handle, we rotate it.<br>
However, since the sensors always fire the _<i>unrotated</i>_
transformations (in the local sensor coordinate system), we
need to apply an extra rotation above the target transform
in order to translate motion on the Z handle properly. Is
this intended?<br>
My first impression was that it makes the application
actually more complicated. InstantPlayer has changed the
behavior towards a rotated output (applying the
axisRotation) within the last week (dailybuilds only – this
is experimental and can be reverted), while bs contact seems
to ignore the axisRotation field (it was added in a later
version of the spec?).<br>
<br>
<o:p></o:p></span></p>
<p class="MsoListParagraph"
style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><!--[if !supportLists]--><span
lang="EN-US"><span style="mso-list:Ignore">2.)<span
style="font:7.0pt "Times New Roman"">
</span></span></span><!--[endif]--><span lang="EN-US">With
the PlaneSensor component, there is an obvious drawback when
implementing such axis-aligned transformation handles:<br>
Since the sensor tracks motion on a plane, we get in trouble
when we have a viewing direction that is perpendicular to
the plane normal. For the attached example, you can see the
problem if you look into the direction of the x-Axis and
trigger the y-Axis’ handle – in that case, the viewing
direction will be perpendicular to the Z=0 plane used by the
PlaneSensor, and you will get random transformation results.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Especially the second
point seems to be caused by us using the PlaneSensor for
things for which it was not originally intended.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">However, I wasn’t able
to find any other X3D-conformant way to declare such common
translation handles. Do you have any idea how X3D could
provide something like that? Is there maybe already a
proposal for X3D 4.0, which solves this problem?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Thanks a lot in advance!<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Best Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Max<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><br>
<br>
<br>
<o:p></o:p></span></p>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
X3D-Public mailing list
<a class="moz-txt-link-abbreviated" href="mailto:X3D-Public@web3d.org">X3D-Public@web3d.org</a>
<a class="moz-txt-link-freetext" href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>
</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<p class="" avgcert""="" color="#000000" align="left">No virus
found in this message.<br>
Checked by AVG - <a moz-do-not-send="true"
href="http://www.avg.com">www.avg.com</a><br>
Version: 2014.0.4335 / Virus Database: 3705/7153 - Release Date:
03/04/14</p>
</blockquote>
<br>
</body>
</html>