making the new transform methods work on Os X

getndof return a 7 floats array, but only the first 6 are axis
the last one is a delta and seems to be much smaller on windows systems
this value should be ignored for the moment
This commit is contained in:
Jean-Luc Peurière 2008-02-18 16:31:25 +00:00
parent 5e97b48fce
commit 09bb791249
4 changed files with 10 additions and 10 deletions

@ -49,10 +49,10 @@ WITH_BF_FMOD = 'false'
BF_FMOD = LIBDIR + '/fmod'
WITH_BF_OPENEXR = 'true'
BF_OPENEXR = '/usr/local'
BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR'
BF_OPENEXR = '${LCGDIR}/openexr'
BF_OPENEXR_INC = '${BF_OPENEXR}/include ${BF_OPENEXR}/include/OpenEXR'
BF_OPENEXR_LIB = ' Iex Half IlmImf Imath IlmThread'
BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
WITH_BF_JPEG = 'true'
BF_JPEG = LIBDIR + '/jpeg'

@ -2174,10 +2174,10 @@ void filterNDOFvalues(float *sbval)
int i=0;
float max = 0.0;
for (i =0; i<5;i++)
for (i =0; i<6;i++)
if (fabs(sbval[i]) > max)
max = fabs(sbval[i]);
for (i =0; i<5;i++)
for (i =0; i<6;i++)
if (fabs(sbval[i]) != max )
sbval[i]=0.0;
}

@ -3273,7 +3273,7 @@ void NDofTransform()
getndof(fval);
for(i = 0; i < 7; i++)
for(i = 0; i < 6; i++)
{
float val = fabs(fval[i]);
if (val > maxval)
@ -3301,7 +3301,7 @@ void NDofTransform()
mode = TFM_TRACKBALL;
break;
default:
printf("ndof transform mode not impremented yet");
printf("ndof: what we are doing here ?");
}
if (mode != 0)

@ -62,7 +62,7 @@ void initNDofInput(NDofInput *n)
void resetNDofInput(NDofInput *n)
{
int i;
for(i = 0; i < 7; i++)
for(i = 0; i < 6; i++)
{
n->fval[i] = 0.0f;
}
@ -113,7 +113,7 @@ void applyNDofInput(NDofInput *n, float *vec)
{
int i, j;
for (i = 0, j = 0; i < 7; i++)
for (i = 0, j = 0; i < 6; i++)
{
if (n->axis & (1 << i))
{
@ -136,7 +136,7 @@ int updateNDofMotion(NDofInput *n)
if (G.vd->ndoffilter)
filterNDOFvalues(fval);
for(i = 0; i < 7; i++)
for(i = 0; i < 6; i++)
{
if (!retval && fval[i] != 0.0f)
{