#ifndef B3_PLUGIN_COLLISION_INTERFACE_H #define B3_PLUGIN_COLLISION_INTERFACE_H enum b3PluginCollisionFilterModes { B3_FILTER_GROUPAMASKB_AND_GROUPBMASKA = 0, B3_FILTER_GROUPAMASKB_OR_GROUPBMASKA }; struct b3PluginCollisionInterface { virtual void setBroadphaseCollisionFilter( int objectUniqueIdA, int objectUniqueIdB, int linkIndexA, int linkIndexB, bool enableCollision) = 0; virtual void removeBroadphaseCollisionFilter( int objectUniqueIdA, int objectUniqueIdB, int linkIndexA, int linkIndexB) = 0; virtual int getNumRules() const = 0; virtual void resetAll() = 0; virtual int needsBroadphaseCollision(int objectUniqueIdA, int linkIndexA, int collisionFilterGroupA, int collisionFilterMaskA, int objectUniqueIdB, int linkIndexB, int collisionFilterGroupB, int collisionFilterMaskB, int filterMode) = 0; }; #endif //B3_PLUGIN_COLLISION_INTERFACE_H