{{newin|[[0.8.0]]|080|type=method}}
Sets the filter data of the fixture.

Groups, categories, and mask can be used to define the collision behaviour of the fixture.

If two fixtures are in the same group they either always collide if the group is positive, or never collide if it's negative. If the group is zero or they do not match, then the contact filter checks if the fixtures select a category of the other fixture with their masks. The fixtures do not collide if that's not the case. If they do have each other's categories selected, the return value of the custom contact filter will be used. They always collide if none was set.

There can be up to 16 categories. Categories and masks are encoded as the bits of a 16-bit integer.

When created, prior to calling this function, all fixtures have category set to 1, mask set to 65535 (all categories) and group set to 0.

This function allows setting all filter data for a fixture at once. To set only the categories, the mask or the group, you can use [[Fixture:setCategory]], [[Fixture:setMask]] or [[Fixture:setGroupIndex]] respectively.

== Function ==
=== Synopsis ===
<source lang="lua">
Fixture:setFilterData( categories, mask, group )
</source>
=== Arguments ===
{{param|number|categories|The categories as an integer from 0 to 65535.}}
{{param|number|mask|The mask as an integer from 0 to 65535.}}
{{param|number|group|The group as an integer from -32768 to 32767.}}
=== Returns ===
Nothing.
== See Also ==
* [[parent::Fixture]]
* [[Fixture:getFilterData]]
[[Category:Functions]]
{{#set:Description=Sets the filter data of the fixture.}}
{{#set:Since=080}}
== Other Languages ==
{{i18n|Fixture:setFilterData}}