mpacts.contact.detectors. bruteforceaabb

In order to be able to use this module import it like this:

import mpacts.contact.detectors.bruteforceaabb
#or assign it to a shorter name
import mpacts.contact.detectors.bruteforceaabb as bru

BruteForceAABB

class mpacts.contact.detectors.bruteforceaabb.BruteForceAABB(name, parent, **kwargs)

Bases: mpacts.contact.detectors.bruteforceaabb_cd.BruteForceAABB_CD

BruteForceAABB Contact detector (python wrapper).

Uses (and calculates if necessary) AABBs to do a “smart” brute-force contact detection step. This is perfectly parallel (if the contactmodel allows it). This should be as or more efficient than the normal SmartBruteForce except for sphere-sphere contacts, since calculating and comparing AABBs is cheaper than any other resolver.

Default location: ‘loop_cmds/contact_cmds’
  • Required keywords:
    • cmodel — The contactmodel that will be executed.
    • keep_distance — The margin added to the AABBs.
    • update_every — The frequency used to do brute-force, every n times a complete bruteforce is performed
  • Optional keywords:
    • contact_data_storage_factory (default value = ContactDataStorageFactory) — The memory manager factory for contact data.
    • contact_data (default value = None) — Contact data itself note: may not always be present and writing to it is usually a bad idea.
    • counter (default value = 0) — Internal counter kept for the update_every. Normally this should NOT be set unless you want to manually force a detection step!
    • gate (default value = ET::ChildProperty const*) — Can decide to (temporarily) not execute the command in a CommandList. (Default is ExecuteAlways)
BruteForceAABB(name, parent, **kwargs)