#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