2
0
Эх сурвалжийг харах

dampening based on collisions

John Loehrlein 19 жил өмнө
parent
commit
fffd95d6ce

+ 10 - 8
panda/src/ode/odeSpace.cxx

@@ -131,18 +131,19 @@ autoCallback(void *data, dGeomID o1, dGeomID o2)
     
     
     dContact contact[OdeSpace::MAX_CONTACTS];
     dContact contact[OdeSpace::MAX_CONTACTS];
     
     
-    dSurfaceParameters collide_params;
-    collide_params = _collide_world->get_surface(_collide_world->get_surface_body(b1),_collide_world->get_surface_body(b2));
+    
+    sSurfaceParams collide_params;
+    collide_params = _collide_world->get_surface(_collide_world->get_surface_body(b1).surfaceType,_collide_world->get_surface_body(b2).surfaceType);
     
     
     for (i=0; i < OdeSpace::MAX_CONTACTS; i++)
     for (i=0; i < OdeSpace::MAX_CONTACTS; i++)
     {
     {
   
   
-        contact[i].surface.mode = collide_params.mode; 
-        contact[i].surface.mu = collide_params.mu; 
-        contact[i].surface.mu2 = collide_params.mu2; 
-        contact[i].surface.bounce = collide_params.bounce; 
-        contact[i].surface.bounce_vel = collide_params.bounce_vel; 
-        contact[i].surface.soft_cfm = collide_params.soft_cfm; 
+        contact[i].surface.mode = collide_params.colparams.mode; 
+        contact[i].surface.mu = collide_params.colparams.mu; 
+        contact[i].surface.mu2 = collide_params.colparams.mu2; 
+        contact[i].surface.bounce = collide_params.colparams.bounce; 
+        contact[i].surface.bounce_vel = collide_params.colparams.bounce_vel; 
+        contact[i].surface.soft_cfm = collide_params.colparams.soft_cfm; 
 
 
     }
     }
     
     
@@ -161,6 +162,7 @@ autoCallback(void *data, dGeomID o1, dGeomID o2)
                 OdeSpace::contactCount += 1;
                 OdeSpace::contactCount += 1;
             }
             }
         }
         }
+        _collide_world->set_dampen_on_bodies(b1, b2, collide_params.dampen);
     }
     }
 }
 }