catch setting of invalid joint angles in PhysicsClientC_Api
use the proper m_bodyUniqueIndex (todo: fix this field, move to shared command data)
This commit is contained in:
@@ -318,7 +318,11 @@ int b3CreatePoseCommandSetJointPosition(b3PhysicsClientHandle physClient, b3Shar
|
||||
command->m_updateFlags |=INIT_POSE_HAS_JOINT_STATE;
|
||||
b3JointInfo info;
|
||||
b3GetJointInfo(physClient, command->m_initPoseArgs.m_bodyUniqueId,jointIndex, &info);
|
||||
btAssert((info.m_flags & JOINT_HAS_MOTORIZED_POWER) && info.m_qIndex >=0);
|
||||
if ((info.m_flags & JOINT_HAS_MOTORIZED_POWER) && info.m_qIndex >=0)
|
||||
{
|
||||
command->m_initPoseArgs.m_initialStateQ[info.m_qIndex] = jointPosition;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -1246,7 +1246,7 @@ void PhysicsServerSharedMemory::processClientCommands()
|
||||
{
|
||||
b3Printf("Server Init Pose not implemented yet");
|
||||
}
|
||||
int bodyUniqueId = clientCmd.m_sendDesiredStateCommandArgument.m_bodyUniqueId;
|
||||
int bodyUniqueId = clientCmd.m_initPoseArgs.m_bodyUniqueId;
|
||||
InteralBodyData* body = m_data->getHandle(bodyUniqueId);
|
||||
|
||||
if (body && body->m_multiBody)
|
||||
|
||||
Reference in New Issue
Block a user