Blender V2.61 - r43446
Functions

BL_ArmatureObject.cpp File Reference

#include "BL_ArmatureObject.h"
#include "BL_ActionActuator.h"
#include "KX_BlenderSceneConverter.h"
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "BLI_ghash.h"
#include "BIK_api.h"
#include "BKE_action.h"
#include "BKE_armature.h"
#include "BKE_constraint.h"
#include "CTR_Map.h"
#include "CTR_HashedPtr.h"
#include "DNA_action_types.h"
#include "DNA_armature_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_nla_types.h"
#include "DNA_constraint_types.h"
#include "KX_PythonSeq.h"
#include "KX_PythonInit.h"
#include "KX_KetsjiEngine.h"
#include "MT_Matrix4x4.h"

Go to the source code of this file.

Functions

void game_copy_pose (bPose **dst, bPose *src, int copy_constraint)
void game_blend_poses (bPose *dst, bPose *src, float srcweight)
void game_free_pose (bPose *pose)

Detailed Description

Definition in file BL_ArmatureObject.cpp.


Function Documentation

void game_blend_poses ( bPose dst,
bPose src,
float  srcweight 
)
void game_copy_pose ( bPose **  dst,
bPose src,
int  copy_constraint 
)

Move here pose function for game engine so that we can mix with GE objects Principle is as follow: Use Blender structures so that where_is_pose can be used unchanged Copy the constraint so that they can be enabled/disabled/added/removed at runtime Don't copy the constraints for the pose used by the Action actuator, it does not need them. Scan the constraint structures so that the KX equivalent of target objects are identified and stored in separate list. When it is about to evaluate the pose, set the KX object position in the obmat of the corresponding Blender objects and restore after the evaluation.

Definition at line 72 of file BL_ArmatureObject.cpp.

References bPose::agroups, BLI_duplicatelist(), BLI_ghash_free(), BLI_ghash_insert(), BLI_ghash_lookup(), BLI_ghash_new(), BLI_ghashutil_ptrcmp(), BLI_ghashutil_ptrhash(), bPose::chanbase, bPose::chanhash, bPoseChannel::child, bPoseChannel::constraints, copy_constraints(), FALSE, ListBase::first, bPose::flag, bPose::ikdata, bPose::ikparam, ListBase::last, make_pose_channels_hash(), MEM_dupallocN(), bPoseChannel::next, NULL, bPoseChannel::parent, POSE_GAME_ENGINE, and bPoseChannel::prop.

Referenced by BL_ArmatureObject::BL_ArmatureObject(), BL_ArmatureObject::GetMRDPose(), BL_ArmatureObject::GetPose(), and BL_ArmatureObject::ProcessReplica().

void game_free_pose ( bPose pose)