<div dir="auto">I’m thinking want to tackle the BooleanSequencer to turn on and off our animations through time, if there’s no better way to do it. I’m going to be code generating from a list of animations and their corresponding boolean sequences as keyValues matching times from the clock keys. It’s not just two alternating animations, although I am using that pattern.</div><div dir="auto"><br></div><div dir="auto">Maybe a PROTO will fall out of this work.</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Aug 15, 2023 at 11:20 AM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com">andreasplesch@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It appears that a question on x3d-public back in 2016 was the trigger<br>
for the change:<br>
<br>
<a href="https://web3d.org/pipermail/x3d-public_web3d.org/2016-November/thread.html#start" rel="noreferrer" target="_blank">https://web3d.org/pipermail/x3d-public_web3d.org/2016-November/thread.html#start</a><br>
<br>
It involves the x3d-svg-html "rosetta stone" page but that is not<br>
really suitable as a focused test scene.<br>
<br>
Since this is a new feature there are probably no existing examples. I<br>
may try to generate a pure X3D one showing a bouncing sphere:<br>
<br>
A sketch:<br>
<br>
"SENSOR" TouchSensor<br>
"POSITION" Transform<br>
"BALL" Shape<br>
..<br>
"CLOCK" TimeSensor<br>
"MOVER" CoordinateInterpolator<br>
ROUTE CLOCK.fraction_changed to MOVER.set_fraction<br>
ROUTE MOVER.value_changed to POSITION.position<br>
#Begin of cycleInterval switching without a script<br>
#Use ScalarInterpolator to emit SFFloat (there is no ScalarSequencer)<br>
"INTERVAL5" ScalarInterpolator keyValue="5.0"<br>
"INTERVAL1" ScalarInterpolator keyValue="1.0"<br>
ROUTE INTERVAL5.value_changed to CLOCK.set_cycleInterval<br>
ROUTE INTERVAL1.value_changed to CLOCK.set_cycleInterval<br>
"Use Timers to trigger<br>
"TIMER5" TimeSensor loop=true enabled=false<br>
"TIMER1" TimeSensor loop=true enabled=false<br>
ROUTE TIMER5.fraction_changed to INTERVAL5.set_fraction<br>
ROUTE TIMER1.fraction_changed to INTERVAL1.set_fraction<br>
#Use BooleanToggle and BooleanFilter to control activity<br>
"NEGATER" BooleanFilter<br>
"TOGGLER" BooleanToggle<br>
ROUTE SENSOR.isActive to TOGGLER.set_boolean<br>
ROUTE TOGGLER.toggle_changed to NEGATER.set_boolean<br>
ROUTE TOGGLER.toggle_changed TIMER5.set_enabled #on/off TIMER5<br>
ROUTE NEGATER.inputeNegate TIMER1.set_enabled #off/on TIMER1<br>
<br>
Is there an easier way to send a SFFloat to cycleInterval without a<br>
script node ?<br>
<br>
Thinking about it may be better to avoid all the event utilities in an<br>
example and just switch continuously between speeds:<br>
...<br>
#Begin of cycleInterval switching without a script<br>
"INTERVAL1OR5" ScalarInterpolator key='0 0.5 0.5 1' keyValue='1 1 5 5'<br>
ROUTE INTERVAL1OR5.value_changed to CLOCK.set_cycleInterval<br>
"SPEEDCLOCK" TimeSensor cycleInterval=5 # =3 for more challenging test<br>
ROUTE SPEEDCLOCK.fraction_changed to INTERVAL1OR5.set_fraction<br>
<br>
This brings up if it will be necessary in the spec. to define<br>
behaviour for the case when cycleInterval receives a new value which<br>
is the same as the existing value ? Probably not since the proposed<br>
language only covers actual changes implying that nothing should<br>
happen if there is no actual change.<br>
<br>
-Andreas<br>
<br>
On Tue, Aug 15, 2023 at 10:46 AM Brutzman, Donald (Don) (CIV)<br>
<<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:<br>
><br>
> Thanks for pointing out the error with CD1 urls in X3D Tooltips, which eluded prior search/replace.<br>
><br>
><br>
><br>
> Now fixed. Correct current url prefix follows, sourceforge commit and <a href="http://web3d.org" rel="noreferrer" target="_blank">web3d.org</a> deploy will happen later today.<br>
><br>
><br>
><br>
> <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/</a><br>
><br>
><br>
><br>
> The older behavior can be considered defunct and rectified by specification. Devising an example that explicitly shows such correct behavior is a good idea. All candidates welcome from any author.<br>
><br>
><br>
><br>
> Thanks for pursuing this important interoperability consideration… we want duck models to consistently walk, talk, and look like a duck.<br>
><br>
><br>
><br>
> Not sure what is going on with the following url, will investigate further. Probably an early (and now unintended) redirect.<br>
><br>
><br>
><br>
> <a href="https://www.web3d.org/documents/specifications/19775-1/V4.0" rel="noreferrer" target="_blank">https://www.web3d.org/documents/specifications/19775-1/V4.0</a><br>
><br>
><br>
><br>
> all the best, Don<br>
><br>
> --<br>
><br>
> Don Brutzman Naval Postgraduate School, Code USW/Br <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br>
><br>
> Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149<br>
><br>
> X3D graphics, virtual worlds, navy robotics <a href="https://faculty.nps.edu/brutzman" rel="noreferrer" target="_blank">https://faculty.nps.edu/brutzman</a><br>
><br>
><br>
><br>
> -----Original Message-----<br>
> From: x3d-public <<a href="mailto:x3d-public-bounces@web3d.org" target="_blank">x3d-public-bounces@web3d.org</a>> On Behalf Of Andreas Plesch<br>
> Sent: Monday, August 14, 2023 6:56 PM<br>
> To: X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
> Subject: [x3d-public] change to cycleTime perhaps no longer ignored , example ?<br>
><br>
><br>
><br>
> <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/time.html#TimeSensor" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/time.html#TimeSensor</a><br>
><br>
> (as linked from tooltips page)<br>
><br>
><br>
><br>
> has the change that resetting the value of cycleTime of an active TimeSensor in v.4-CD1 does what is probably expected rather than being completely ignored which was the old behaviour.<br>
><br>
><br>
><br>
> Is there an example scene somewhere which demonstrates that change, for testing purposes ?<br>
><br>
><br>
><br>
> A bouncing sphere which changes its frequency over time, perhaps ?<br>
><br>
><br>
><br>
> This proposal may have been taken out since<br>
><br>
><br>
><br>
> <a href="https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor" rel="noreferrer" target="_blank">https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor</a><br>
><br>
><br>
><br>
> does not have the change ? In that case, apologies for the confusion.<br>
><br>
><br>
><br>
> -Andreas<br>
><br>
> --<br>
><br>
> Andreas Plesch<br>
><br>
> Waltham, MA 02453<br>
><br>
><br>
><br>
> _______________________________________________<br>
><br>
> x3d-public mailing list<br>
><br>
> <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
><br>
> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
<br>
<br>
<br>
--<br>
Andreas Plesch<br>
Waltham, MA 02453<br>
<br>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote></div></div>