[ODE] collion body vs geom

Martin C. Martin martin at metahuman.org
Fri Jan 9 12:22:51 MST 2004


Like I said before: you need to print out the various values of o1, o2, 
b1, b2, body[1], body[2], ground, wall.  You need to see why your "if" 
statements are never being taken.

- Martin

samuel girardin wrote:

> That was I thinking, . It doesn't work with the 3d engine I use. So I made a
> test with the original test_buggy.cpp, and it doesn't work too...I'm sure I
> missed something... For info, here is what I'm trying to do. A car(clone of
> the ode buggy), ground and wall. I try to disable collisions betwen  wheels
> and wall. My wheels are little outside of  the car body. So there are some
> very strong collision effect if ones of them collide to a wall !  I could
> change my wheels pos, but I don't want do that. And I'd like to understand
> the problem I have.
>  Here is the code for the test_buggy.cpp I change in near call back , I was
> thinking it disables collision detection for one wheel  for exemple...
> static void nearCallBack.... {
> dBodyID b1 = dGeomGetBody(o1);
> dBodyID b2 = dGeomGetBody(o2);
> if(b1==body[2] && o2==ground ) return ;
> if(o1==ground && b2==body[2] ) return ;
> 
> const int N = 10;
> dContact contact[N];
> .....
> ...
> }
> 
> I try that, and nothing change... The three wheels collide.
> 
> Any idea Martin  ?
> 
> Sam
> 
> 
> 
> 
> 
> 
>>That should work.  Trace through it (or use printfs) to see what happens
>>when your body touches the wall.
>>
>>- Martin
>>
>>samuel girardin wrote:
>>



More information about the ODE mailing list