Fix BGE bug reported by Gilberto: BL_AmartureObject.channels returns only one channel. Fix BL_ArmatureChannel.joint_rotation now that bPoseChannel structure is passed directly to the get function.

This commit is contained in:
Benoit Bolsee 2010-08-25 09:25:11 +00:00
parent 134e2f001c
commit 80a01e8f2a
2 changed files with 2 additions and 3 deletions

@ -197,8 +197,7 @@ int BL_ArmatureChannel::py_attr_setattr(void *self_v, const struct KX_PYATTRIBUT
PyObject* BL_ArmatureChannel::py_attr_get_joint_rotation(void *self_v, const struct KX_PYATTRIBUTE_DEF *attrdef)
{
BL_ArmatureChannel* self= static_cast<BL_ArmatureChannel*>(self_v);
bPoseChannel* pchan = self->m_posechannel;
bPoseChannel* pchan = static_cast<bPoseChannel*>(self_v);
// decompose the pose matrix in euler rotation
float rest_mat[3][3];
float pose_mat[3][3];

@ -94,7 +94,7 @@ public:
BL_ArmatureConstraint* GetConstraint(int index);
// for pose channel python API
void LoadChannels();
size_t GetChannelNumber() const { return m_constraintNumber; }
size_t GetChannelNumber() const { return m_channelNumber; }
BL_ArmatureChannel* GetChannel(bPoseChannel* channel);
BL_ArmatureChannel* GetChannel(const char* channel);
BL_ArmatureChannel* GetChannel(int index);