RuleBasedContactManager

Context: Sofa.Component.Collision.Response.Contact

Create different response to the collisions based on a set of rules

Data:
  • name : object name

  • printLog : if true, emits extra messages at runtime.

  • tags : list of the subsets the objet belongs to

  • bbox : this object bounding box

  • componentState : The state of the component among (Dirty, Valid, Undefined, Loading, Invalid).

  • listening : if true, handle the events, otherwise ignore the events

  • response : contact response class

  • responseParams : contact response parameters (syntax: name1=value1&name2=value2&…)

  • variables : Define a list of variables to be used inside the rules

  • rules : Ordered list of rules, each with a triplet of strings.

The first two define either the name of the collision model, its group number, or * meaning any model. The last string define the response algorithm to use for contacts matched by this rule. Rules are applied in the order they are specified. If none match a given contact, the default response is used.

Links:
  • context : Graph Node containing this object (or BaseContext::getDefault() if no graph is used

  • slaves : Sub-objects used internally by this object

  • master : nullptr for regular objects, or master object for which this object is one sub-objects