Class CollisionGroup

java.lang.Object
com.github.stephengold.joltjni.JoltPhysicsObject
com.github.stephengold.joltjni.CollisionGroup
All Implemented Interfaces:
ConstCollisionGroup, ConstJoltPhysicsObject, AutoCloseable, Comparable<JoltPhysicsObject>

public class CollisionGroup extends JoltPhysicsObject implements ConstCollisionGroup
Restrict which bodies can collide.
  • Field Details

    • cInvalidGroup

      public static final int cInvalidGroup
      invalid main group
      See Also:
    • cInvalidSubGroup

      public static final int cInvalidSubGroup
      invalid sub-group
      See Also:
  • Constructor Details

    • CollisionGroup

      public CollisionGroup()
      Instantiate a default group.
    • CollisionGroup

      public CollisionGroup(GroupFilter filter, int groupId, int subGroupId)
      Instantiate a group with the specified filter and IDs.
      Parameters:
      filter - the collision-group filter (not null)
      groupId - the main group ID
      subGroupId - the ID of the subgroup to which the body belongs
    • CollisionGroup

      public CollisionGroup(GroupFilterTableRef filterRef, int groupId, int subGroupId)
      Instantiate a group with the specified filter and IDs.
      Parameters:
      filterRef - a counted reference to the desired collision-group filter (not null)
      groupId - the main group ID
      subGroupId - the ID of the subgroup to which the body belongs
  • Method Details

    • setGroupFilter

      public void setGroupFilter(GroupFilter filter)
      Replace the group filter.
      Parameters:
      filter - the desired filter (not null, alias created)
    • setGroupId

      public void setGroupId(int id)
      Alter the main group ID. (native method: SetGroupID)
      Parameters:
      id - the desired ID (default=cInvalidGroup)
    • setSubGroupId

      public void setSubGroupId(int id)
      Alter the sub-group ID. (native method: SetSubGroupID)
      Parameters:
      id - the desired ID (default=cInvalidSubGroup)
    • getGroupFilter

      public ConstGroupFilter getGroupFilter()
      Access the group filter.
      Specified by:
      getGroupFilter in interface ConstCollisionGroup
      Returns:
      a new JVM object with the pre-existing native object assigned, or null if none
    • getGroupId

      public int getGroupId()
      Return the main group ID. The group is unaffected. (native method: GetGroupID)
      Specified by:
      getGroupId in interface ConstCollisionGroup
      Returns:
      the GroupID value
    • getSubGroupId

      public int getSubGroupId()
      Return the sub-group ID. The group is unaffected. (native method: GetSubGroupID)
      Specified by:
      getSubGroupId in interface ConstCollisionGroup
      Returns:
      the SubGroupID value