Package nuke :: Class AnimationKey
[hide private]
[frames] | no frames]

Class AnimationKey

object --+
         |
        nuke.AnimationKey

A control point for an animation curve.
@var x
The horizontal position of the point
@var y
The vertical position of the point
@var lslope
The derivative to the left of the point. If interpolation does not have
USER_SET_SLOPE then this may not be correct until after evaluate() has been
called.
@var rslope
The derivative to the right of the point. If interpolation does not have
USER_SET_SLOPE then this may not be correct until after evaluate() has been
called.
@var la
The left 'bicubic' value. This represents the horizontal
position of the left bezier handle end, where 1.0 means 1/3 of the
distance to the previous point. If both handles for a span are 1.0
then the horizontal interpolation is linear and thus the vertical
interpolation a cubic function.  The legal values are 0 to
3. Setting outside of this range will produce undefined results.
@var ra
The right 'bicubic' value, again the legal range is 0 to 3.
@var interpolation
Used to calculate all the slopes except for the left slope of the first key
and the right slope of the last key.
Legal values are:
- USER_SET_SLOPE: If this bit is on, the slopes are fixed by
                  the user and interpolation and extrapolation are ignored.
- CONSTANT: The value of the curve is equal to the y of the
            point to the left.
- LINEAR: slopes point directly at the next key.
- SMOOTH: same as CATMULL_ROM but the slopes are clamped so that the
          convex-hull property is preserved (meaning no part of the curve
          extends vertically outside the range of the keys on each side of
          it). This is the default.
- CATMULL_ROM: the slope at key n is set to the slope between the control
               points n-1 and n+1. This is used by lots of software.
- cubic: the slope is calculated to the only cubic interpolation which makes
         the first and second derivatives continuous. This type of
         interpolation was very popular in older animation software.  A
         different cubic interpolation is figured out for each set of adjacent
         points with the CUBIC type.
- for the smooth, CATMULL_ROM, and CUBIC interpolations, the first and last
  key have slopes calculated so that the second derivative is zero at them.
@var extrapolation
controls how to set the left slope of the first point and the right slope of
the last point. Notice that this can be set differently on the first and last
points, and is also remembered on all internal points so if end points are
deleted old behavior is restored).
- constant: the left slope of the first point, and the right slope of the last
            point, are set to zero.
- linear: (and all other values): The left slope of the first point is set
          equal to it's right slope (calculated by the interpolation).
the right slope of the last point is set equal to it's left slope.
if there is only one point both slopes are set to zero.
@var selected
True if the point is selected in the curve editor.

Instance Methods [hide private]
 
__init__(...)
x.__init__(...) initializes x; see help(type(x)) for signature
a new object with type S, a subtype of T
__new__(T, S, ...)

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]
  extrapolation
Controls how to set the left slope of the first point and the right slope of the last point
  interpolation
Used to calculate all the slopes except for the left slope of the first key and the right slope of the last key
  la
The left 'bicubic' value
  lslope
The derivative to the left of the point
  ra
The right 'bicubic' value
  rslope
The derivative to the right of the point
  selected
True if the point is selected in the curve editor
  x
The horizontal position of the point
  y
The vertical position of the point

Inherited from object: __class__

Method Details [hide private]

__init__(...)
(Constructor)

 

x.__init__(...) initializes x; see help(type(x)) for signature

Overrides: object.__init__

__new__(T, S, ...)

 
Returns: a new object with type S, a subtype of T
Overrides: object.__new__