← Back to team overview

yade-dev team mailing list archive

Re: Why Ip2 functors must be symmetric?

 

Hi Bruno

> Swapping for the Ig2 and swapping for the Ip2 are two different things.
> This comment at L98 applies for geometry only.
> 
> Swapping for the Ip2 after computing the geometry would break everything
> (contact normal should be inverted, etc.)
> It is also what L125  suggests: "assert(!swap)"; it is clear that the
> Ip2 must NOT swap.

OK, I can see the point here. 

> The only way to go without swapping is to call goReverse, as far as I
> understand.

Ok, so we have two options:
a) swap for Ig2 (as it is now) and therefore get rid of goReverse in Ig2, and 
call go/goReverse for Ip2
b) get rid of swap for Ig2 and call go/goReverse in both cases (maybe more 
consistent?)

What do you think? 

Something I couldn't find out, do we need to do something like
if(swap) goReverse() else go() or is this handled automatically? 

> Removing goReverse was maybe an objective of Vaclav, then the present
> situation would be half way to it. Not sure.

That's probably the case. Looking into WooDem reveals that there is no 
goReverse. BTW, it there any chance to get Vaclav's opinion on this topic?

Thanks a lot
Klaus



Follow ups

References