[x3d-public] IntegerTrigger output

Andreas Plesch andreasplesch at gmail.com
Sat Sep 23 08:19:10 PDT 2017


I updated the example at

https://x3dom-integertrigger.glitch.me

and

https://x3dom-integertrigger.glitch.me/IntegerTrigger_test.x3d

to include resetting of the IntegerKey field, from another IntegerTrigger.

xdom, x-ite, octaga 5.0 and view3dscene, all output a corresponding output
event. freewrl has some problems with the scene.

-Andreas

On Fri, Sep 22, 2017 at 11:07 PM, Andreas Plesch <andreasplesch at gmail.com>
wrote:

> Here is a first x3dom IntegerTrigger implementation and example:
>
> https://x3dom-integertrigger.glitch.me
>
> I will try to add resetting of the IntegerKey field, probably from an
> IntegerSequencer field.
>
> The tooltip at
>
> http://www.web3d.org/x3d/content/X3dTooltips.html#IntegerTrigger
>
> explains that* boolean true or time input events *can be converted. Why
> time input ? And Boolean false is also triggering, no ?
>
> Andreas
>
> On Sep 22, 2017 6:20 PM, "Andreas Plesch" <andreasplesch at gmail.com> wrote:
>
> I agree, IntegerTrigger would also require such a statement.
>
> Since I have implemented IntegerTrigger now for x3dom, and recognize its
> utility for choosing a switch option, it is less obvious to me that
> resetting its value should always also lead to output of that value.
>
> The more conservative approach would be to leave this decision to the
> author. If a new value is provided to the IntegerTrigger node, the same new
> value can also always be provided to another node.
>
> But since players currently do forward these inputs as outputs, there may
> be a event cascade requirement or similar.
>
>
>
>
>
> On Sep 20, 2017 10:20 AM, "Don Brutzman" <brutzman at nps.edu> wrote:
>
>> This is an excellent improvement, we should submit a spec change.
>>
>> Am thinking that similar wording should be provided for IntegerTrigger
>> integerKey field, e.g.
>>
>>         "Resetting the /integerKey/ field generates a
>> corresponding /integerKey/ field output event."
>>
>> http://www.web3d.org/documents/specifications/19775-1/V3.3/P
>> art01/components/utils.html#IntegerTrigger
>>
>> ==============================================
>> 30.4.6 IntegerTrigger
>>
>> IntegerTrigger : X3DTriggerNode {
>>   SFBool  [in]     set_boolean
>>   SFInt32 [in,out] integerKey   -1   (-∞,∞)
>>   SFNode  [in,out] metadata     NULL [X3DMetadataObject]
>>   SFInt32 [out]    triggerValue
>> }
>>
>> IntegerTrigger handles single field Boolean events to set an integer
>> value for the output event. This is useful for connecting environmental
>> events to the Switch node's whichChoice field.
>>
>> Upon receiving a set_boolean event, the IntegerTrigger node will generate
>> a triggerValue event with the current value of integerKey. The value of
>> set_boolean shall be ignored.
>> ==============================================
>>
>>
>> On 9/18/2017 10:39 AM, Andreas Plesch wrote:
>>
>>> Sending output fields upon value changes is how the browsers I tested
>>> behaved. Although to me the sentence in 4.4.8.1 which addresses this
>>> behaviour and begins with "Nodes also define output fields .." is more
>>> explanatory than defining and seems to be intended to leave the exact
>>> behavior specification to node definitions. Here is suggested wording to
>>> help clarify 30.4.3:
>>>
>>> The BooleanToggle can be reset to a specific state by directly setting
>>> the value of the inputOutput /toggle/ field. Resetting the /toggle/ field
>>> generates a corresponding /toggle/ field output event.
>>>
>>> There is probably a better and/or more concise phrase to add.
>>>
>>> -Andreas
>>>
>>> On Mon, Sep 18, 2017 at 12:46 PM, Brutzman, Donald (Don) (CIV) <
>>> brutzman at nps.edu <mailto:brutzman at nps.edu>> wrote:
>>>
>>>     Thank you Andreas.  Looks like you have identified an ambiguity in
>>> the spec
>>>     that might benefit from clarification.
>>>
>>>     Since the first paragraph specifically identified output events, and
>>> the
>>>     second paragraph on "reset" did not, my interpretation was that no
>>> event was
>>>     sent as part of a reset.  That informed the tooltips and diagram
>>> notes.     However, checking event model rules:
>>>     http://www.web3d.org/documents/specifications/19775-1/V3.3/P
>>> art01/concepts.html#Events
>>>     <http://www.web3d.org/documents/specifications/19775-1/V3.3/
>>> Part01/concepts.html#Events>
>>>
>>>
>>>         4.4.8 Event model
>>>>
>>>>
>>>>           4.4.8.1 Events
>>>>
>>>>     /Events/ are the primary means of generating behaviors in the X3D
>>>> run-time
>>>>     environment. Events are used throughout X3D: driving time-based
>>>>     animations; handling object picking; detecting user movement and
>>>>     collision; changing the scene graph hierarchy. The run-time
>>>> environment
>>>>     manages the propagation of events through the system according to a
>>>>     well-defined set of rules.
>>>>
>>>>     Nodes define input fields (/i.e./, fields with inputOutput or
>>>> inputOnly
>>>>     access) that trigger behavior. When a given event occurs, the node
>>>>     receives notification and can potentially change internal state and
>>>> the
>>>>     value of one or more of its fields. *Nodes also define output fields
>>>>     (/i.e./, fields with inputOutput or outputOnly access) that are
>>>> sent upon
>>>>     signal state changes or other occurrences within the node.* Events
>>>> sent to
>>>>     input fields and events sent by output fields are referred to
>>>> collectively
>>>>     in ISO/IEC 19775 as /Events/.
>>>>
>>>>
>>>     The bolded sentence (beginning with "Nodes also define output
>>> fields... that
>>>     are sent upon signal state changes" ...) indicates that a
>>> corresponding
>>>     output event should be sent when the value is changed.
>>>
>>>     Subject to review, am happy to make the tooltips and diagram notes
>>> more
>>>     explicit in this matter.  We should likely also add words to spec to
>>> avoid
>>>     indirect ambiguity and explicitly add clarity.
>>>
>>>     all the best, Don
>>>     --     Don Brutzman  Naval Postgraduate School, Code USW/Br
>>> brutzman at nps.edu
>>>     <mailto:brutzman at nps.edu>
>>>     Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
>>> +1.831.656.2149
>>>     <tel:+1.831.656.2149>
>>>     X3D graphics, virtual worlds, navy robotics
>>> http://faculty.nps.edu/brutzman
>>>     <http://faculty.nps.edu/brutzman>
>>>
>>>
>>>     On Sep 16, 2017, at 4:20 PM, Andreas Plesch <andreasplesch at gmail.com
>>>     <mailto:andreasplesch at gmail.com>> wrote:
>>>
>>>     http://www.web3d.org/documents/specifications/19775-1/V3.3/P
>>>> art01/components/utils.html#BooleanToggle
>>>>     <http://www.web3d.org/documents/specifications/19775-1/V3.3/
>>>> Part01/components/utils.html#BooleanToggle>
>>>>
>>>>
>>>>     produces a toggle output event after it receives a set_boolean
>>>> event.
>>>>
>>>>     Does it also produce a toggle output event after it receives a
>>>> toggle
>>>>     input event (to reset the toggle field value) ?
>>>>
>>>>     http://www.web3d.org/x3d/content/X3dTooltips.html#BooleanToggle
>>>>     <http://www.web3d.org/x3d/content/X3dTooltips.html#BooleanToggle>
>>>>
>>>>     does not mention this and the diagram at
>>>>     http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter09-E
>>>> ventUtilitiesScripting/X3dEventUtilityNodeEventDiagrams.pdf
>>>>     <http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter09-
>>>> EventUtilitiesScripting/X3dEventUtilityNodeEventDiagrams.pdf>
>>>>
>>>>     also seems silent.
>>>>
>>>>     Not sure if there are examples which reset the internal value of the
>>>>     toggle field ?
>>>>
>>>>     Andreas
>>>>     _______________________________________________
>>>>     x3d-public mailing list
>>>>     x3d-public at web3d.org <mailto:x3d-public at web3d.org>
>>>>     http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>>>     <http://web3d.org/mailman/listinfo/x3d-public_web3d.org>
>>>>
>>>
>>>
>>>
>>>
>>> --
>>> Andreas Plesch
>>> Waltham, MA 02453
>>>
>>
>>
>> all the best, Don
>> --
>> Don Brutzman  Naval Postgraduate School, Code USW/Br
>> brutzman at nps.edu
>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
>> +1.831.656.2149
>> X3D graphics, virtual worlds, navy robotics
>> http://faculty.nps.edu/brutzman
>>
>
>


-- 
Andreas Plesch
Waltham, MA 02453
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20170923/a4480fdc/attachment-0001.html>


More information about the x3d-public mailing list