[x3d-public] BooleanToggle output

Don Brutzman brutzman at nps.edu
Wed Sep 20 07:20:28 PDT 2017


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/Part01/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/Part01/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/Part01/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-EventUtilitiesScripting/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



More information about the x3d-public mailing list