Hi,
based on the collider benchmark I thought new collider could be
developed (someone? Nice topic for diploma thesis: google "NBC contact
detection" or "munjiza-rougier" and other). For that reason, I renamed
BroadInteractor to Collider and I would like to move
collider-independent logic there.
The Collider::mayCollide says straightforwardly whether bodies can make
contact at all (clumps, maybe other things). No problem here.
Collider::handleExistingInteraction will be (not yet used) reponsible
for changing isReal, isNew flags and signalling that the interaction
should be deleted (if it returns false). I would like someone (Bruno?)
to review to code whether it is OK.
Another change I have in mind is removing haveDistantTransient; marking
real contacts to be deleted by the constitutive law incurs no penalty,
except for a very specific case where AABBs stop overlapping at the same
iteration (not later) that spheres geometrically stop touching; this
happens only if spheres would be aligned along an axis. In that case,
the "penalty" would be that the interaction would be marked !isReal by
InteractionGeometryMetaEngine and deleted at next iteration by the
collider, instead of being deleted by the collider right away.
Second potential problem with haveDistantTransient is that you can have
multiple constitutive laws, of which one will want to keep distant
interaction and the other would not (there are no transient/persistent
interactions anymore).
Therefore it seems appropriate to require that constitutive laws delete
interactions.
Last thing: there are colliders I suspect are not used (and maintained):
PersistentTriangulationCollider, SAPCollider,
DistantPersistentSAPCollider. Couldn't we remove those from the tree?
Best, Vaclav
PS. I am aware of http://yade.wikia.com/wiki/Sanitizing_Contact_Logic.
Let me know if I overlooked something there.
_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yade-dev
More help : https://help.launchpad.net/ListHelp