From defa172d39c3ecdd9a0bebf1771067a15fc44468 Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Tue, 7 May 2019 08:13:27 -0700 Subject: improve grpc support --- examples/SharedMemory/grpc/ConvertGRPCBullet.cpp | 29 +++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/examples/SharedMemory/grpc/ConvertGRPCBullet.cpp b/examples/SharedMemory/grpc/ConvertGRPCBullet.cpp index 86acbe0d2..f23ce858f 100644 --- a/examples/SharedMemory/grpc/ConvertGRPCBullet.cpp +++ b/examples/SharedMemory/grpc/ConvertGRPCBullet.cpp @@ -1261,7 +1261,7 @@ bool convertGRPCToStatus(const PyBulletStatus& grpcReply, SharedMemoryStatus& se serverStatus.m_sendActualStateArgs.m_numDegreeOfFreedomU = numDegreeOfFreedomU; serverStatus.m_sendActualStateArgs.m_stateDetails = (SendActualStateSharedMemoryStorage*)bufferServerToClient; - + for (int i = 0; i < numDegreeOfFreedomQ; 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); } - 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); } @@ -1447,6 +1447,29 @@ bool convertGRPCToStatus(const PyBulletStatus& grpcReply, SharedMemoryStatus& se serverStatus.m_sendPixelDataArguments.m_startingPixelIndex = cam->startingpixelindex(); 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: { #endif //ALLOW_GRPC_STATUS_CONVERSION @@ -1706,7 +1729,7 @@ bool convertStatusToGRPC(const SharedMemoryStatus& serverStatus, char* bufferSer { 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]); } -- cgit v1.2.1