[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