===Python API===

Adding support for Action Strips to the API.  A new attribute "actionStrips"
has been added to the Object API to access them.
This commit is contained in:
Ken Hughes
2006-05-22 14:19:52 +00:00
parent a849ba8189
commit 677cf7f133
6 changed files with 1184 additions and 18 deletions

View File

@@ -55,6 +55,23 @@ Example::
print action.name
action2 = Blender.Armature.NLA.CopyAction(action)
action2.name = "Copy"
@type Flags: readonly dictionary
@var Flags: Constant dict used by the L{ActionStrip.flag} attribute.
It is a bitmask and settings are ORed together.
- SELECT: action strip is selected in NLA window
- STRIDE_PATH: play action nased on path position and stride.
- HOLD: continue displaying the last frame past the end of the strip
- ACTIVE: action strip is active in NLA window
- LOCK_ACTION: action start/end are automatically mapped to strip duration
@type StrideAxes: readonly dictionary
@var StrideAxes: Constant dict used by the L{ActionStrip.strideAxis} attribute.
Values are STRIDEAXIS_X, STRIDEAXIS_Y, and STRIDEAXIS_Z.
@type Modes: readonly dictionary
@var Modes: Constant dict used by the L{ActionStrip.mode} attribute.
Currently the only value is MODE_ADD.
"""
def NewAction (name = 'DefaultAction'):
@@ -137,3 +154,118 @@ class Action:
@rtype: Dictionary [channel : PyIpo or None]
@return: the Ipos for all the channels in the action
"""
class ActionStrips:
"""
The ActionStrips object
=======================
This object gives access to sequence of L{ActionStrip} objects for
a particular Object.
"""
def __getitem__(index):
"""
This operator returns one of the constraints in the stack.
@type index: int
@return: an Constraint object
@rtype: Constraint
@raise KeyError: index was out of range
"""
def __len__():
"""
Returns the number of action strips for the object.
@return: number of Constraints
@rtype: int
"""
def append(action):
"""
Appends a new action to the end of the actionstrip sequence.
@type action: L{Action<NLA.Action>}
@param action: the action to use in the action strip
@rtype: Constraint
@return: the new Constraint
"""
def remove(actionstrip):
"""
Remove an action strip from this object's actionstrip sequence.
@type actionstrip: an action strip from this sequence to remove.
@note: Accessing attributes of the action strip after it is removed will
throw an exception.
"""
def moveDown(actionstrip):
"""
Move the action strip down in the object's actionstrip sequence.
@type actionstrip: an action strip from this sequence.
"""
def moveUp(actionstrip):
"""
Move the action strip up in the object's actionstrip sequence.
@type actionstrip: an action strip from this sequence.
"""
class ActionStrip:
"""
The ActionStrip object
======================
This object gives access to a particular action strip.
@ivar action: Action associated with the strip.
@type action: BPy Action object
@ivar stripStart: Starting frame of the strip.
@type stripStart: float
@ivar stripEnd: Ending frame of the strip.
@type stripEnd: float
@ivar actionStart: Starting frame of the action.
@type actionStart: float
@ivar actionEnd: Ending frame of the action.
@type actionEnd: float
@ivar repeat: The number of times to repeat the action range.
@type repeat: float
@ivar mode: Controls the ActionStrip mode. See L{Modes} for
valid values.
@type mode: int
@ivar flag: Controls various ActionStrip attributes. Values can be ORed.
See L{Flags} for valid values.
@type flag: int
@ivar strideAxis: Dominant axis for stride bone. See L{StrideAxes} for
valid values.
@type strideAxis: int
@ivar strideLength: Distance covered by one complete cycle of the action
specified in the Action Range.
@type strideLength: float
@ivar strideBone: Name of Bone used for stride
@type strideBone: string
@ivar blendIn: Number of frames of motion blending.
@type blendIn: float
@ivar blendOut: Number of frames of ease-out.
@type blendOut: float
"""
def resetActionLimits():
"""
Activates the functionality found in NLA Strip menu under "Reset Action
Start/End". This method restores the values of ActionStart and
ActionEnd to their defaults, usually the first and last frames within
an action that contain keys.
@rtype: PyNone
"""
def resetStripSize():
"""
Activates the functionality found in NLA Strip menu under "Reset Strip
Size". This method resets the Action Strip size to its creation values.
@rtype: PyNone
"""
def snapToFrame():
"""
Activates the functionality found in NLA Strip menu under "Snap to Frame".
This function snaps the ends of the action strip to the nearest whole
numbered frame.
@rtype: PyNone
"""