improve grpc support

This commit is contained in:
Erwin Coumans
2019-05-07 08:13:27 -07:00
parent 5734035094
commit defa172d39

View File

@@ -1261,7 +1261,7 @@ bool convertGRPCToStatus(const PyBulletStatus& grpcReply, SharedMemoryStatus& se
serverStatus.m_sendActualStateArgs.m_numDegreeOfFreedomU = numDegreeOfFreedomU; serverStatus.m_sendActualStateArgs.m_numDegreeOfFreedomU = numDegreeOfFreedomU;
serverStatus.m_sendActualStateArgs.m_stateDetails = (SendActualStateSharedMemoryStorage*)bufferServerToClient; serverStatus.m_sendActualStateArgs.m_stateDetails = (SendActualStateSharedMemoryStorage*)bufferServerToClient;
for (int i = 0; i < numDegreeOfFreedomQ; i++) for (int i = 0; i < numDegreeOfFreedomQ; i++)
{ {
serverStatus.m_sendActualStateArgs.m_stateDetails->m_actualStateQ[i] = stat->actualstateq(i); serverStatus.m_sendActualStateArgs.m_stateDetails->m_actualStateQ[i] = stat->actualstateq(i);
@@ -1274,7 +1274,7 @@ bool convertGRPCToStatus(const PyBulletStatus& grpcReply, SharedMemoryStatus& se
{ {
serverStatus.m_sendActualStateArgs.m_rootLocalInertialFrame[i] = stat->rootlocalinertialframe(i); serverStatus.m_sendActualStateArgs.m_rootLocalInertialFrame[i] = stat->rootlocalinertialframe(i);
} }
for (int i = 0; i < numLinks * 6; i++) for (int i = 0; i < numLinks * 7; i++)
{ {
serverStatus.m_sendActualStateArgs.m_stateDetails->m_linkLocalInertialFrames[i] = stat->linklocalinertialframes(i); serverStatus.m_sendActualStateArgs.m_stateDetails->m_linkLocalInertialFrames[i] = stat->linklocalinertialframes(i);
} }
@@ -1447,6 +1447,29 @@ bool convertGRPCToStatus(const PyBulletStatus& grpcReply, SharedMemoryStatus& se
serverStatus.m_sendPixelDataArguments.m_startingPixelIndex = cam->startingpixelindex(); serverStatus.m_sendPixelDataArguments.m_startingPixelIndex = cam->startingpixelindex();
break; break;
} }
case CMD_GET_DYNAMICS_INFO_COMPLETED:
{
converted = true;
const ::pybullet_grpc::GetDynamicsStatus* stat = &grpcReply.getdynamicsstatus();
serverStatus.m_dynamicsInfo.m_mass = stat->mass();
serverStatus.m_dynamicsInfo.m_lateralFrictionCoeff = stat->lateralfriction();
serverStatus.m_dynamicsInfo.m_spinningFrictionCoeff = stat->spinningfriction();
serverStatus.m_dynamicsInfo.m_rollingFrictionCoeff = stat->rollingfriction();
serverStatus.m_dynamicsInfo.m_restitution = stat->restitution();
serverStatus.m_dynamicsInfo.m_linearDamping = stat->lineardamping();
serverStatus.m_dynamicsInfo.m_angularDamping = stat->angulardamping();
serverStatus.m_dynamicsInfo.m_contactStiffness = stat->contactstiffness();
serverStatus.m_dynamicsInfo.m_contactDamping = stat->contactdamping();
serverStatus.m_dynamicsInfo.m_localInertialDiagonal[0] = stat->localinertiadiagonal().x();
serverStatus.m_dynamicsInfo.m_localInertialDiagonal[1] = stat->localinertiadiagonal().y();
serverStatus.m_dynamicsInfo.m_localInertialDiagonal[2] = stat->localinertiadiagonal().z();
serverStatus.m_dynamicsInfo.m_frictionAnchor = stat->frictionanchor();
serverStatus.m_dynamicsInfo.m_ccdSweptSphereRadius = stat->ccdsweptsphereradius();
serverStatus.m_dynamicsInfo.m_contactProcessingThreshold = stat->contactprocessingthreshold();
serverStatus.m_dynamicsInfo.m_activationState = stat->activationstate();
break;
}
default: default:
{ {
#endif //ALLOW_GRPC_STATUS_CONVERSION #endif //ALLOW_GRPC_STATUS_CONVERSION
@@ -1706,7 +1729,7 @@ bool convertStatusToGRPC(const SharedMemoryStatus& serverStatus, char* bufferSer
{ {
stat->add_rootlocalinertialframe(rootLocalInertialFramePtr[i]); stat->add_rootlocalinertialframe(rootLocalInertialFramePtr[i]);
} }
for (int i = 0; i < numLinks * 6; i++) for (int i = 0; i < numLinks * 7; i++)
{ {
stat->add_linklocalinertialframes(linkLocalInertialFrames[i]); stat->add_linklocalinertialframes(linkLocalInertialFrames[i]);
} }