@threlte/rapier
Version:
Components and hooks to use the Rapier physics engine in Threlte
21 lines (20 loc) • 615 B
JavaScript
export const computeBitMask = (groups, filter, memberships) => {
if (groups !== undefined) {
// groups is setting the filter and memberships at once
const g = groups;
const mask = g.reduce((acc, f) => {
return acc | (1 << f);
}, 0) |
g.reduce((acc, m) => {
return acc | (1 << (m + 16));
}, 0);
return mask;
}
const mask = memberships.reduce((acc, f) => {
return acc | (1 << f);
}, 0) |
filter.reduce((acc, m) => {
return acc | (1 << (m + 16));
}, 0);
return mask;
};