[python] Convert physics calls to double precision.
In order to feed Bullet the correct values when compiled with double precision the pybullet interface needs to pass double precision values.
This commit is contained in:
@@ -141,13 +141,13 @@ pybullet_loadURDF(PyObject* self, PyObject* args)
|
||||
int bodyIndex = -1;
|
||||
const char* urdfFileName="";
|
||||
|
||||
float startPosX =0;
|
||||
float startPosY =0;
|
||||
float startPosZ = 0;
|
||||
float startOrnX = 0;
|
||||
float startOrnY = 0;
|
||||
float startOrnZ = 0;
|
||||
float startOrnW = 1;
|
||||
double startPosX = 0.0;
|
||||
double startPosY = 0.0;
|
||||
double startPosZ = 0.0;
|
||||
double startOrnX = 0.0;
|
||||
double startOrnY = 0.0;
|
||||
double startOrnZ = 0.0;
|
||||
double startOrnW = 1.0;
|
||||
|
||||
if (0==sm)
|
||||
{
|
||||
@@ -161,13 +161,13 @@ pybullet_loadURDF(PyObject* self, PyObject* args)
|
||||
}
|
||||
if (size == 4)
|
||||
{
|
||||
if (!PyArg_ParseTuple(args, "sfff", &urdfFileName,
|
||||
if (!PyArg_ParseTuple(args, "sddd", &urdfFileName,
|
||||
&startPosX,&startPosY,&startPosZ))
|
||||
return NULL;
|
||||
}
|
||||
if (size==8)
|
||||
{
|
||||
if (!PyArg_ParseTuple(args, "sfffffff", &urdfFileName,
|
||||
if (!PyArg_ParseTuple(args, "sddddddd", &urdfFileName,
|
||||
&startPosX,&startPosY,&startPosZ,
|
||||
&startOrnX,&startOrnY,&startOrnZ, &startOrnW))
|
||||
return NULL;
|
||||
@@ -200,9 +200,9 @@ pybullet_loadURDF(PyObject* self, PyObject* args)
|
||||
return PyLong_FromLong(bodyIndex);
|
||||
}
|
||||
|
||||
static float pybullet_internalGetFloatFromSequence(PyObject* seq, int index)
|
||||
static double pybullet_internalGetFloatFromSequence(PyObject* seq, int index)
|
||||
{
|
||||
float v = 0.f;
|
||||
double v = 0.f;
|
||||
PyObject* item;
|
||||
|
||||
if (PyList_Check(seq))
|
||||
@@ -540,15 +540,15 @@ pybullet_setGravity(PyObject* self, PyObject* args)
|
||||
}
|
||||
|
||||
{
|
||||
float gravX=0;
|
||||
float gravY=0;
|
||||
float gravZ=-10;
|
||||
double gravX=0;
|
||||
double gravY=0;
|
||||
double gravZ=-10;
|
||||
int ret;
|
||||
|
||||
b3SharedMemoryCommandHandle command = b3InitPhysicsParamCommand(sm);
|
||||
b3SharedMemoryStatusHandle statusHandle;
|
||||
|
||||
if (!PyArg_ParseTuple(args, "fff", &gravX,&gravY,&gravZ))
|
||||
if (!PyArg_ParseTuple(args, "ddd", &gravX,&gravY,&gravZ))
|
||||
{
|
||||
PyErr_SetString(SpamError, "setGravity expected (x,y,z) values.");
|
||||
return NULL;
|
||||
@@ -1092,7 +1092,7 @@ static int pybullet_internalSetMatrix(PyObject* objMat, float matrix[16])
|
||||
// a view and projection matrix in renderImage()
|
||||
//
|
||||
// // Args:
|
||||
// matrix - float[16] which will be set by values from objMat
|
||||
// vector - float[3] which will be set by values from objMat
|
||||
static int pybullet_internalSetVector(PyObject* objMat, float vector[3])
|
||||
{
|
||||
int i, len;
|
||||
|
||||
Reference in New Issue
Block a user