yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #11274
[Branch ~yade-pkg/yade/git-trunk] Rev 4168: fix doc regarding requestErase() - https://bugs.launchpad.net/yade/+bug/1370736, thanks Jan
------------------------------------------------------------
revno: 4168
committer: Bruno Chareyre <bruno.chareyre@xxxxxxxxxxx>
timestamp: Thu 2014-09-18 11:28:42 +0200
message:
fix doc regarding requestErase() - https://bugs.launchpad.net/yade/+bug/1370736, thanks Jan
modified:
doc/sphinx/prog.rst
--
lp:yade
https://code.launchpad.net/~yade-pkg/yade/git-trunk
Your team Yade developers is subscribed to branch lp:yade.
To unsubscribe from this branch go to https://code.launchpad.net/~yade-pkg/yade/git-trunk/+edit-subscription
=== modified file 'doc/sphinx/prog.rst'
--- doc/sphinx/prog.rst 2014-08-21 08:51:47 +0000
+++ doc/sphinx/prog.rst 2014-09-18 09:28:42 +0000
@@ -1508,14 +1508,10 @@
#. For real interactions, :yref:`InteractionLoop` (via :yref:`LawDispatcher`) calls appropriate :yref:`LawFunctor` based on combination of :yref:`IGeom` and :yref:`IPhys` of the interaction. Again, it is an error if no functor capable of handling it is found.
-#. :yref:`LawDispatcher` can decide that an interaction should be removed (such as if bodies get too far apart for non-cohesive laws; or in case of complete damage for damage models). This is done by calling
-
- .. code-block:: c++
-
- InteractionContainer::requestErase(id1,id2)
-
- Such interaction will not be deleted immediately, but will be reset to potential state. At next step, the collider will call ``InteractionContainer::erasePending``, which will only completely erase interactions the collider indicates; the rest will be kept in potential state.
-
+#. :yref:`LawDispatcher` takes care of erasing those interactions that are no longer active (such as if bodies get too far apart for non-cohesive laws; or in case of complete damage for damage models). This is triggered by the :yref:`LawFunctor` returning false. For this reason it is of upmost importance for the :yref:`LawFunctor` to return consistently.
+
+Such interaction will not be deleted immediately, but will be reset to potential state. At the next execution of the collider ``InteractionContainer::conditionalyEraseNonReal`` will be called, which will completely erase interactions only if the bounding boxes ceased to overlap; the rest will be kept in potential state.
+
Creating interactions explicitly
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^