summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorerwincoumans <erwincoumans@google.com>2019-05-07 08:15:21 -0700
committerGitHub <noreply@github.com>2019-05-07 08:15:21 -0700
commit111d06abd0829577d91c1e715f2689ab5d6404c4 (patch)
treebac9d8a62b8fc6051484cd15b6271a4523cc6046
parent5734035094f7c3a65beef420093b23b37d7dc1de (diff)
parentdefa172d39c3ecdd9a0bebf1771067a15fc44468 (diff)
downloadbullet3-111d06abd0829577d91c1e715f2689ab5d6404c4.tar.gz
Merge pull request #2242 from erwincoumans/master
improve grpc support
-rw-r--r--examples/SharedMemory/grpc/ConvertGRPCBullet.cpp29
1 files 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]);
}