Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/python/api2_2x/doc/Pose.py')
-rw-r--r--source/blender/python/api2_2x/doc/Pose.py245
1 files changed, 0 insertions, 245 deletions
diff --git a/source/blender/python/api2_2x/doc/Pose.py b/source/blender/python/api2_2x/doc/Pose.py
deleted file mode 100644
index ad1b44da5e2..00000000000
--- a/source/blender/python/api2_2x/doc/Pose.py
+++ /dev/null
@@ -1,245 +0,0 @@
-# Blender.Object.Pose module
-
-"""
-The Blender.Object.Pose submodule.
-
-Pose
-====
-
-This module provides access to B{Pose} objects in Blender. This Pose is the
-current object-level (as opposed to armature-data level) transformation.
-
-Example::
- import Blender
- from Blender import *
-
-
- scn= Scene.GetCurrent()
-
- # New Armature
- arm_data= Armature.New('myArmature')
- print arm_data
- arm_ob = scn.objects.new(arm_data)
- arm_data.makeEditable()
-
-
- # Add 4 bones
- ebones = [Armature.Editbone(), Armature.Editbone(), Armature.Editbone(), Armature.Editbone()]
-
- # Name the editbones
- ebones[0].name = 'Bone.001'
- ebones[1].name = 'Bone.002'
- ebones[2].name = 'Bone.003'
- ebones[3].name = 'Bone.004'
-
- # Assign the editbones to the armature
- for eb in ebones:
- arm_data.bones[eb.name]= eb
-
- # Set the locations of the bones
- ebones[0].head= Mathutils.Vector(0,0,0)
- ebones[0].tail= Mathutils.Vector(0,0,1)
- ebones[1].head= Mathutils.Vector(0,0,1)
- ebones[1].tail= Mathutils.Vector(0,0,2)
- ebones[2].head= Mathutils.Vector(0,0,2)
- ebones[2].tail= Mathutils.Vector(0,0,3)
- ebones[3].head= Mathutils.Vector(0,0,3)
- ebones[3].tail= Mathutils.Vector(0,0,4)
-
- ebones[1].parent= ebones[0]
- ebones[2].parent= ebones[1]
- ebones[3].parent= ebones[2]
-
- arm_data.update()
- # Done with editing the armature
-
-
- # Assign the pose animation
- pose = arm_ob.getPose()
-
- act = arm_ob.getAction()
- if not act: # Add a pose action if we dont have one
- act = Armature.NLA.NewAction()
- act.setActive(arm_ob)
-
- xbones=arm_ob.data.bones.values()
- pbones = pose.bones.values()
- print xbones
- print pbones
-
-
- frame = 1
- for pbone in pbones: # set bones to no rotation
- pbone.quat[:] = 1.000,0.000,0.000,0.0000
- pbone.insertKey(arm_ob, frame, Object.Pose.ROT)
-
- # Set a different rotation at frame 25
- pbones[0].quat[:] = 1.000,0.1000,0.2000,0.20000
- pbones[1].quat[:] = 1.000,0.6000,0.5000,0.40000
- pbones[2].quat[:] = 1.000,0.1000,0.3000,0.40000
- pbones[3].quat[:] = 1.000,-0.2000,-0.3000,0.30000
-
- frame = 25
- for i in xrange(4):
- pbones[i].insertKey(arm_ob, frame, Object.Pose.ROT)
-
- pbones[0].quat[:] = 1.000,0.000,0.000,0.0000
- pbones[1].quat[:] = 1.000,0.000,0.000,0.0000
- pbones[2].quat[:] = 1.000,0.000,0.000,0.0000
- pbones[3].quat[:] = 1.000,0.000,0.000,0.0000
-
-
- frame = 50
- for pbone in pbones: # set bones to no rotation
- pbone.quat[:] = 1.000,0.000,0.000,0.0000
- pbone.insertKey(arm_ob, frame, Object.Pose.ROT)
-
-
-
-@var ROT:
-@type ROT: Constant
-@var LOC:
-@type LOC: Constant
-@var SIZE:
-@type SIZE: Constant
-"""
-
-class Pose:
- """
- The Pose object
- ===============
- This object gives access to Pose-specific data in Blender.
- @ivar bones: A Dictionary of PosePoseBones (PoseDict) that make up this Pose.
- @type bones: PoseDict Object
- """
-
- def update():
- """
- Save all changes and update the Pose.
- @rtype: None
- """
-
-class PoseBonesDict:
- """
- The PoseBonesDict object
- ========================
- This object gives dictionary like access to the PoseBones in a Pose.
- It is internal to blender but is called as 'Pose.bones'
- """
-
- def items():
- """
- Return the key, value pairs in this dictionary
- @rtype: string, PosePoseBone
- @return: All strings, and PosePoseBones in the Pose (in that order)
- """
-
- def keys():
- """
- Return the keys in this dictionary
- @rtype: string
- @return: All strings representing the PosePoseBone names
- """
-
- def values():
- """
- Return the values in this dictionary
- @rtype: BPy_PoseBone
- @return: All PosePoseBones in this dictionary
- """
-
-class PoseBone:
- """
- The PoseBone object
- ===================
- This object gives access to PoseBone-specific data in Blender.
- @ivar name: The name of this PoseBone.
- @type name: String
- @ivar loc: The change in location for this PoseBone. this is the equivilent of bone.getLoc() in the old 2.3x python api.
- @type loc: Vector object
- @ivar size: The change in size for this PoseBone (no change is 1,1,1)
- @type size: Vector object
- @ivar quat: The change in rotation for this PoseBone.
- @type quat: Quaternion object
- @ivar head: The final head location for this PoseBone. (not settable)
- @type head: Vector object
- @ivar tail: The final tail location for this PoseBone. (not settable)
- @type tail: Vector object
- @ivar sel: The selection state of this bone
- @type sel: Boolean
- @ivar parent: The parent of this posebone (not settable)
- @type parent: posebone or None
- @ivar displayObject: The object to display in place of the bone. (custom bones)
- @type displayObject: Object or None
- @ivar localMatrix: The matrix combination of rot/size/loc.
- @type localMatrix: Matrix object
- @ivar poseMatrix: The total transformation of this PoseBone including constraints.
-
- This matrix is in armature space, for the current worldspace location of this pose bone, multiply
- it with its objects worldspace matrix.
-
- eg. pose_bone.poseMatrix * object.matrixWorld
-
- Setting the poseMatrix only sets the loc/size/rot, before constraints are applied (similar to actions).
- After setting pose matrix, run pose.update() to re-evaluate the pose and see the changes in the 3d view.
-
- @type poseMatrix: Matrix object
- @type constraints: BPy_ConstraintSeq
- @ivar constraints: a sequence of constraints for the object
- @type limitmin: 3-item sequence
- @ivar limitmin: The x,y,z minimum limits on rotation when part of an IK
- @type limitmax: 3-item sequence
- @ivar limitmax: The x,y,z maximum limits on rotation when part of an IK
-
- @type hasIK: bool
- @ivar hasIK: True if this pose bone is a part of an IK (readonly), when False, other IK related values have no affect.
-
- @type stretch: float
- @ivar stretch: The amount to stretch to the ik target when part of an IK [0.0 - 1.0]
-
- @type stiffX: float
- @ivar stiffX: The x stiffness when part of an IK [0.0 - 0.990]
- @type stiffY: float
- @ivar stiffY: The x stiffness when part of an IK [0.0 - 0.990]
- @type stiffZ: float
- @ivar stiffZ: The x stiffness when part of an IK [0.0 - 0.990]
-
- @type limitX: bool
- @ivar limitX: Limit rotation over X axis when part of an IK.
- @type limitY: bool
- @ivar limitY: Limit rotation over Y axis when part of an IK.
- @type limitZ: bool
- @ivar limitZ: Limit rotation over Z axis when part of an IK.
-
- @type lockXRot: bool
- @ivar lockXRot: Disable X DoF when part of an IK.
- @type lockYRot: bool
- @ivar lockYRot: Disable Y DoF when part of an IK.
- @type lockZRot: bool
- @ivar lockZRot: Disable Z DoF when part of an IK.
- @ivar layerMask: Layer bitmask
- Example::
- # set bone to layers 14 and 16
- bone.layerMask = (1<<13) + (1<<15)
- @type layerMask: Int
- """
-
- def insertKey(parentObject, frameNumber, type = "[Pose.LOC, Pose.ROT, Pose.SIZE]", fast = False):
- """
- Insert a pose key for this PoseBone at a frame.
- @type parentObject: Object object
- @param parentObject: The object the pose came from.
- @type frameNumber: integer
- @param frameNumber: The frame number to insert the pose key on.
- @type type: Constant object
- @param type: Optional argumentm.
- Can be any combination of 3 Module constants:
- - Pose.LOC
- - Pose.ROT (This adds keyframes to the quat ipo, since quaternions are used for pose bone rotation)
- - Pose.SIZE
- If this argument is omitted all keys will be added.
- @type fast: Bool
- @param fast: If enabled, the IPOs will not be recalculated, speeds up adding many keyframes at once.
- @rtype: None
- """
-