[x3d-public] [x3dom-users] port this example to X3DOM?
Joe D Williams
joedwil at earthlink.net
Sat Jun 3 14:29:24 PDT 2017
> I forget if I ever really want to use my current this as a
directOut object ...
https://www.ecma-international.org/ecma-262/5.1/#sec-10.3
ThisBinding:
"It is impossible for an ECMAScript program to access an
execution context."
This probably means I ahouldn't try to use my current this as a
directOut object.
Joe
----- Original Message -----
From: "Joe D Williams" <joedwil at earthlink.net>
To: "Joe D Williams" <joedwil at earthlink.net>; "Andreas Plesch"
<andreasplesch at gmail.com>; "John Carlson" <yottzumm at gmail.com>
Cc: "x3dom mlist" <x3dom-users at lists.sourceforge.net>; "X3D Graphics
public mailing list" <x3d-public at web3d.org>
Sent: Friday, June 02, 2017 12:02 PM
Subject: Re: [x3d-public] [x3dom-users] port this example to X3DOM?
>> Yes, the script that uses directOut is like a DOM script.
>
> i guess that is the long way of talking about some detail, just that
> whether or not the this includes the directOut reference? And, maybe
> shouldn't have mentioned dom because after all, i may not be all up
> to date with the dom.
>
> I think the x3d script node as a special sensor node much like any
> other node, designed so that all events are sent at the time of
> completion of the script, all with the same time stamp the
> initiating event thaat started our this. (And special script
> functions like initialize, shutdown, etc. available but that is not
> discussed here.)
>
> DirectOut gives a way around that basic x3d script node feature,
> which is very confining for some introductory applications where you
> either don't care about exact timing or are not provided with the
> concept of the x3d timestamp and event cascade - where all events in
> the author's intended cascade are executed as 'instantaneously' like
> all at the same time and all in the same frame and then evaluation
> of the next set of events used to create the next frame can begin to
> be processed.
>
> So, again, am i reasonable in understanding the overall maybe minor
> detail that the script is, well, can I say, not responsible for
> emitting the _changed event for the field update caused by use of
> directOut in the script? Nor can I use a script interface to
> directly route an event into a field of a node used as directOut.
>
> It is the field in the node that gets changed that must be source of
> the _changed event. For all other script interfaces the def of the
> script is the this and can use this.name in routes.
>
> All except the stuff involved by use of directOut node in the this.
> Please discuss with me here if any of x3d script, of the this, by
> the this, and for the this is unclear.
>
> Because those are also why there is the idea that x3d script
> directOut is intended to generate the directOut updates 'outside'
> the current cascade, like immediately when viable; use of timestamps
> can get complicated but trackable. For instance, when the target
> field update is produced immediately then the author can then detect
> the _changed event maybe independently of current this script
> events.
> Maybe other stuff, maybe details associated with end/beginupdate
> features of the SAI?
>
> So, i do need some help, but the way it is that, ok all is running
> well but maybe a bit of drift or something, maybe like sort of
> calibrating some mechanical device such as some sort of distribution
> thing with the big end of the screwdriver. You know, the little
> special turn that needs to be done only when specially needed to
> make it sound best or just right; then I can give it a hit with a
> directOut and I may be able to find out what was done to the target
> node maybe without waiting for the script to complete? Well, why
> would I want a script running with some sort of potential loop
> 'outside' the this anyway? I forget if I ever really want to use my
> current this as a directOut object ...
>
> Thanks and Best,
> Joe
>
>
>
>
>
>
> .
>
>
>
> ----- Original Message -----
> From: "Joe D Williams" <joedwil at earthlink.net>
> To: "Andreas Plesch" <andreasplesch at gmail.com>; "John Carlson"
> <yottzumm at gmail.com>
> Cc: "x3dom mlist" <x3dom-users at lists.sourceforge.net>; "X3D Graphics
> public mailing list" <x3d-public at web3d.org>
> Sent: Friday, June 02, 2017 8:34 AM
> Subject: Re: [x3d-public] [x3dom-users] port this example to X3DOM?
>
>
>> Yes, the script that uses directOut is like a DOM script.
>> Operationally, I think it is important to recognize that the
>> directOut in x3d was designed to not produce an event directly. The
>> x3d event is produced when the target node field is changed. In
>> other worls, see that you cannot route an event from the directOut.
>> The changed event must be generated by watching the target field of
>> the node used by the directOut.
>>
>> Joe
>>
>>
>>
>> riginal Message -----
>> From: "Andreas Plesch" <andreasplesch at gmail.com>
>> To: "John Carlson" <yottzumm at gmail.com>
>> Cc: "x3dom mlist" <x3dom-users at lists.sourceforge.net>; "X3D
>> Graphics public mailing list" <x3d-public at web3d.org>
>> Sent: Friday, June 02, 2017 8:11 AM
>> Subject: Re: [x3d-public] [x3dom-users] port this example to X3DOM?
>>
>>
>>> John,
>>>
>>> I realized that the ported script uses what is equivalent to the
>>> directOutput style of x3d scripts. This means that it may be
>>> possible to
>>> convert directOutput scripts to x3dom scripts in general using the
>>> pattern
>>> in the ported example.
>>>
>>> The 'from' portion of Routes into the script would become
>>> 'outputchange'
>>> listeners attached to the fromNodes with event handlers. The 'to'
>>> portion
>>> of Routes into the script is used inside the event handler which
>>> then calls
>>> the appropriate set script function.
>>>
>>> The directOutput nodes can be retrieved by scene.querySelector().
>>> The SAI
>>> node.field syntax can be translated to node.get/setFieldValue or
>>> perhaps to
>>> node._x3dom.field (or similar).
>>>
>>> intialize() script functions can be run at document.onload time or
>>> probably
>>> better using x3dom.runtime.ready
>>> https://doc.x3dom.org/author/runtime.html#ready
>>>
>>> There are probably lots of pitfalls, and does not address regular
>>> (non
>>> directOutput) script nodes. -Andreas
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Wed, May 31, 2017 at 10:22 PM, Andreas Plesch
>>> <andreasplesch at gmail.com>
>>> wrote:
>>>
>>>> John,
>>>>
>>>> I could make pretty quick progress to port this to x3d script
>>>> over to dom
>>>> scripting style:
>>>>
>>>> https://warm-nape.glitch.me/
>>>>
>>>> You can 'remix' the code here:
>>>>
>>>> https://glitch.com/edit/#!/warm-nape
>>>>
>>>> [I like glitch.com, and it has a built in server side]
>>>>
>>>> The structure is pretty close to the original but probably will
>>>> need to be
>>>> more generalized for easy reuse. It is a starting point anyways.
>>>>
>>>> There is an initial reset of the green ball translation when it
>>>> is dragged
>>>> first. Not sure where this is coming from but may only need minor
>>>> fixing.
>>>>
>>>> For routing, the main idea here is to use the x3dom
>>>> onoutputchange event
>>>> as trigger. Other ideas are certainly possible or perhaps
>>>> necessary for
>>>> generalization.
>>>>
>>>> This uses get/setFieldValue rather than getAttribute because it
>>>> is more
>>>> convenient and closer to SAI as it deals with field objects
>>>> rather than
>>>> strings.
>>>>
>>>> x3dom does not have methods for SFRotations since all rotations
>>>> get
>>>> immediately translated to quaternions. But this is a detail at
>>>> this point.
>>>>
>>>> I think I like the idea of returning an object populated by
>>>> output fields
>>>> from a main script function.
>>>>
>>>> Take a look and feel free to mangle and reorganize,
>>>>
>>>> Andreas
>>>>
>>>>
>>>> On Wed, May 31, 2017 at 4:26 PM, Andreas Plesch
>>>> <andreasplesch at gmail.com>
>>>> wrote:
>>>>
>>>>> Hi John,
>>>>>
>>>>> I am going to take a look but do not wait for anything. I
>>>>> believe x3dom
>>>>> has PlaneSensor.
>>>>>
>>>>> https://gist.github.com/andreasplesch/83771ec5959935d309db417387397952
>>>>> for easy access.
>>>>>
>>>>> -Andreas
>>>>>
>>>>> On Wed, May 31, 2017 at 3:44 PM, John Carlson
>>>>> <yottzumm at gmail.com> wrote:
>>>>>
>>>>>> Can someone port the attached example to X3DOM? It would help
>>>>>> with the
>>>>>> X3DOM upgrade effort.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Thanks!
>>>>>>
>>>>>>
>>>>>>
>>>>>> John
>>>>>>
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------
>>>>>> ------------------
>>>>>> Check out the vibrant tech community on one of the world's most
>>>>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>>>>> _______________________________________________
>>>>>> X3dom-users mailing list
>>>>>> X3dom-users at lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/x3dom-users
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Andreas Plesch
>>>>> 39 Barbara Rd.
>>>>> Waltham, MA 02453
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Andreas Plesch
>>>> 39 Barbara Rd.
>>>> Waltham, MA 02453
>>>>
>>>
>>>
>>>
>>> --
>>> Andreas Plesch
>>> 39 Barbara Rd.
>>> Waltham, MA 02453
>>>
>>
>>
>> --------------------------------------------------------------------------------
>>
>>
>>> _______________________________________________
>>> x3d-public mailing list
>>> x3d-public at web3d.org
>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>>
>>
>
More information about the x3d-public
mailing list