← Back to team overview

yade-dev team mailing list archive

goReverse

 

Hi (Janek),

do you think it would be possible for the 2d metaengines to not accept
both combinations of types, but only one? To put it straight: facet
(/box etc) and sphere can create two interactions, with

 1. id1=Facet, id2=Sphere
 2. id1=Sphere, id2=Facet

For the case 1., IFacet2IS4SCG::go is called, which is just fine.
However, for the second case, we call goReverse, which in turn calls
::go and then swaps a some variables. The swapping happens at _every
iteration_.

My point, therefore, would be to mandate type order for 2d metaengines
-- the collider could, when creating new the interaction, swap ids
easily, so that they would be always in the order expected by the
metaengine. Or - perhaps better, since collider knows nothing about
types, swap them in the MetaEngine

I am currently experimenting with swapping the order in the
EngineUnit::goReverse, I will see what the results are.

Vaclav



Follow ups