W3C home > Mailing lists > Public > www-smil@w3.org > January to March 2007

frozen value for discrete animation

From: Dr. Olaf Hoffmann <Dr.O.Hoffmann@gmx.de>
Date: Sun, 18 Mar 2007 13:30:07 +0100
To: www-smil@w3.org
Message-Id: <200703181330.08154.Dr.O.Hoffmann@gmx.de>

Hello,

currently a question came up, wether the
SMIL time interval model is applicable
for subintervals of discrete animations too.

To discuss this with examples, we can take:

1) 

calcMode="discrete"
values="1;2;3"
keyTimes="0;0.4;0.8"
begin="0s"
dur="10s"
end="4s"
fill="freeze"

As far as I understand the time interval
model, the frozen value can be determined
using subintervals.

created interval by begin, dur and end:

[0s;4s)

subintervals from begin, dur and keyTimes:
[0s;4s)
[4s;8s)
[8s;10s)

Because 4s is excluded by the time interval
model both in the first subinterval and in the
'active duration' interval, we only have to look 
for the first subinterval to get the frozen value, 
in this case this is 1, not 2.
Is this correct?


2)

calcMode="discrete"
values="1;2;3"
keyTimes="0;0.5;1"
begin="0s"
dur="10s"
fill="freeze"

created interval by begin and dur:

[0; 10s)

subintervals from begin, dur and keyTimes:
[0s;5s)
[5s;10s)
[10s;10s)

The last interval is an empty or bad interval.
Normally these intervals are excluded in SMIL,
but for 'Freezing animations' (SMIL 2.1, 3.3.5) it is noted:

'If AD is an even multiple of d, i.e. AD = d*i for some positive 
 integer i , and the animation is non-cumulative, f_f(t) = f(d).'
 
and

'Note that f(d) is a shorthand for the "last value defined for the 
 animation function" (e.g., the "to" value or the last value in the 
 "values" list).'
 
This is applicable in this example and creates an exception, 
therefore the frozen value is 3.
Is this correct?



3) Similar discrete problems can happen with
   path fragments and animateMotion too.
   Is the time interval model applicable here too?
   (seems to be only applicable to the SMIL Animation
    Recommendation 04-September-2001 or in SVG)
   
<animateMotion
  path="M100 0L500 0M900 0 L500 0" 
  dur="10s"
  end="5s"
  fill="freeze" /> 

Using the time interval model the frozen value
will be 500,0 and not 900,0. 
Is this correct? 





If my interpretation is incorrect, it would be
nice to get a quotation or a reference to the
related section in the specification.


This may have influence on bug fixing in viewers too,
therefore it would be very nice to get this time interval
problem solved, thanks in advance...


Olaf Hoffmann
Received on Sunday, 18 March 2007 12:45:45 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:34:26 UTC