[x3d-public] BooleanToggle output

Andreas Plesch andreasplesch at gmail.com
Fri Sep 22 20:07:23 PDT 2017


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/brutzma
> n
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20170922/0f8d3e9e/attachment.html>


More information about the x3d-public mailing list