19.5.79 tav
This element defines a “keypoint” in animation interpolation.
[Example: Consider a shape with a “fly-in” animation. The
<p:anim calcmode="lin" valueType="num">
<p:cBhvr additive="base"> … </p:cBhvr>
<p:tavLst>
<p:tav tm="0%">
<p:val>
<p:strVal val="1+#ppt_h/2"/>
</p:val>
</p:tav>
<p:tav tm="100%">
<p:val>
<p:strVal val="#ppt_y"/>
</p:val>
</p:tav>
</p:tavLst>
</p:anim>
end example]
Attributes
fmla (Formula)
This attribute allows for the specification of a formula to be used for describing a complex motion for an animated object. The formula manipulates the motion of the object by modifying a property of the object over a specified period of time. Each formula has zero or more inputs specified by the ($) symbol, zero or more variables specified by the (#) symbol pre-pended to the variable name and a target variable which is specified by the previously specified attrName element. The formula can contain one or more of any of the constants, operators or functions listed below. In addition to this, the formula can also contain floating point numbers and parentheses.
Mathematical operations have the following order of precedence, listed from lowest to highest. Operators listed on the same line have equal precedence.
- “+”, “-“
- “*”, “/”, “%”
- “^”
- Unary minus, Unary plus (e.g. -2, meaning 3*-2 is the same as 3*(-2))
- Variables, Constants (including numbers) and Functions (as listed previously)
Language Description:
Digit = '0' | '1' | ‘2’ | ‘3’ | ‘4’ | ‘5’ | ‘6’ | ‘7’
| ‘8’ | '9' ;
number = digit , { digit } ;
exponent = [ '-' ] , ( 'e' | 'E' ) , number ;
value = number , [ '.' number ] , [ exponent ] ;
variable = '$' | 'ppt_x' | 'ppt_y' | 'ppt_w' | 'ppt_h' ;
constant = value | 'pi' | 'e' ;
ident = 'abs' | ‘acos’ | ‘asin’ | ‘atan’ | ‘ceil’
| ‘cos’ | ‘cosh’ | ‘deg’ | ‘exp’ | ‘floor’ | ‘ln’
| ‘max’ | ‘min’ | ‘rad’ | ‘rand’ | ‘sin’ | ‘sinh’
| ‘sqrt’ | ‘tan’ | 'tanh' ;
function = ident , '(' , formula [ ',' , formula ] , ')' ;
formula = term , { [ '+' | '-' ] , term } ;
term = power , { [ '*' | '/' | '%' ] , power } ;
power = unary [ '^' , unary ] ;
unary = [ '+' | '-' ] , factor ;
factor = variable | constant | function | parens ;
parens = '(' , formula , ')' ;
[Note: Formulas can only support a calcMode (Calculation Mode) of linear or discrete. If another calcMode is specified or no calcMode is specified then a calcMode of linear is assumed. end note]
[Note: Any additional characters in the formula string that are not contained within the set described are considered invalid. end note]
Variables:
Description
$
Formula input
ppt_x
Pre-animation x position of the object on the slide Position on the slide is represented using an abstract coordinate space where 0 represents the left side of the slide and 1 represents the right side of the slide.
ppt_y
Pre-animation y position of the object on the slide Position on the slide is represented using an abstract coordinate space where 0 represents the top of the slide and 1 represents the bottom of the slide.
ppt_w
Pre-animation width of the object Width is represented using an abstract coordinate space relative to the size of the slide, where 1 represents the width of the slide.
ppt_h
Pre-animation height of the object Height is represented using an abstract coordinate space relative to the size of the slide, where 1 represents the height of the slide.
Constants: Name
Description
Attributes
Description
Usage
Addition
“x+y”, adds x to the value y
Subtraction
“x-y”, subtracts y from the value x
Multiplication
“x*y”, multiplies x by the value y
Division
“x/y”, divides x by the value y
Modulus
“x%y”, the remainder of x/y
Power
“x^y”, x raised to the power y
Description
Usage
Absolute value
“abs(x)”, absolute value of x
Arc Cosine
“acos(x)”, arc cosine of the value x
Arc Sine
“asin(x)”, arc sine of the value x
Arc Tangent
“atan(x)”, arc tangent of the value x
Ceil value
“ceil(x)”, value of x rounded up
Cosine
“cos(x)”, cosine of the value of x
Hyperbolic Cosine
“cosh(x)", hyperbolic cosine of the value x
Radiant to Degree convert
“deg(x)”, the degree value of radiant value x
Exponent
“exp(x)”, value of constant e raised to the power of x
Floor value
“floor(x)”, value of x rounded down
Natural logarithm
“ln(x)”, natural logarithm of x
Maximum of two values
“max(x,y)”, returns x if (x > y) or returns y if (y > x)
Minimum of two values
“min(x,y)", returns x if (x < y) or returns y if (y < x)
Degree to Radiant convert
“rad(x)”, the radiant value of degree value x
Random value
“rand(x)”, returns a random floating point value between 0 and x
Sine
“sin(x)”, sine of the value x
Attributes
tm (Time)
[Note: For this example, the non-animated value of ppt_y is the value of this variable if the object were to be statically rendered on the slide without animation properties. end note]
end example]
The possible values for this attribute are defined by the W3C XML Schema string datatype.
This attribute specifies the time at which the attribute being animated takes on the value.
The possible values for this attribute are defined by the ST_TLTimeAnimateValueTime simple type (19.7.39).
[Note: The W3C XML Schema definition of this element’s content model (CT_TLTimeAnimateValue) is located in A.3. end note]