Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Luc Peurière <jlp@nerim.net>2008-06-29 16:53:42 +0400
committerJean-Luc Peurière <jlp@nerim.net>2008-06-29 16:53:42 +0400
commitbdcffe35b9ab6a86a2ff526355f24827ce7b04c3 (patch)
treecd8936cd8d822dcece1ad5ff2a569e9cb7008825 /source/blender/src
parent7056d63f418dfcfd774d7dce27aa442939daf7ad (diff)
NDOF bugfixes 14402 & 14403 by ettore Pasquini
Diffstat (limited to 'source/blender/src')
-rw-r--r--source/blender/src/view.c36
1 files changed, 13 insertions, 23 deletions
diff --git a/source/blender/src/view.c b/source/blender/src/view.c
index 356a297b284..f457f9203ff 100644
--- a/source/blender/src/view.c
+++ b/source/blender/src/view.c
@@ -689,10 +689,6 @@ void viewmoveNDOFfly(int mode)
if (G.vd->ndoffilter)
filterNDOFvalues(fval);
-// for(i=0;i<7;i++) printf("%f ",dval[i]);
-// printf("\n");
-
-
// Scale input values
// if(dval[6] == 0) return; // guard against divide by zero
@@ -701,12 +697,6 @@ void viewmoveNDOFfly(int mode)
// user scaling
dval[i] = dval[i] * ndof_axis_scale[i];
-
- // non-linear scaling
- if(dval[i]<0.0f)
- dval[i] = -1.0f * dval[i] * dval[i];
- else
- dval[i] = dval[i] * dval[i];
}
@@ -1216,18 +1206,16 @@ void viewmoveNDOF(int mode)
// prevTime = now;
// sbadjust *= 60 * frametime; /* normalize ndof device adjustments to 100Hz for framerate independence */
- /* fetch the current state of the ndof device */
+ /* fetch the current state of the ndof device & enforce dominant mode if selected */
getndof(fval);
- // printf(" motion command %f %f %f %f %f %f %f \n", fval[0], fval[1], fval[2],
- // fval[3], fval[4], fval[5], fval[6]);
- if (G.vd->ndoffilter)
- filterNDOFvalues(fval);
+ if (G.vd->ndoffilter)
+ filterNDOFvalues(fval);
// put scaling back here, was previously in ghostwinlay
- fval[0] = fval[0] * (1.0f/1200.0f);
- fval[1] = fval[1] * (1.0f/1200.0f);
- fval[2] = fval[2] * (1.0f/1200.0f);
+ fval[0] = fval[0] * (1.0f/600.0f);
+ fval[1] = fval[1] * (1.0f/600.0f);
+ fval[2] = fval[2] * (1.0f/1100.0f);
fval[3] = fval[3] * 0.00005f;
fval[4] =-fval[4] * 0.00005f;
fval[5] = fval[5] * 0.00005f;
@@ -1255,14 +1243,16 @@ void viewmoveNDOF(int mode)
VECCOPY(obofs, G.vd->ofs);
}
- /* calc an adjustment based on distance from camera */
- if (ob) {
+ /* calc an adjustment based on distance from camera
+ disabled per patch 14402 */
+ d = 1.0f;
+
+/* if (ob) {
VecSubf(diff, obofs, G.vd->ofs);
d = VecLength(diff);
}
- else {
- d = 1.0f;
- }
+*/
+
reverse = (G.vd->persmat[2][1] < 0.0f) ? -1.0f : 1.0f;
/*----------------------------------------------------