40 return mGroupFilter == inRHS.mGroupFilter && mGroupID == inRHS.mGroupID && mSubGroupID == inRHS.mSubGroupID;
45 return !(*
this == inRHS);
51 mGroupFilter = inFilter;
86 if (mGroupFilter !=
nullptr)
87 return mGroupFilter->CanCollide(*
this, inOther);
88 else if (inOther.mGroupFilter !=
nullptr)
89 return inOther.mGroupFilter->
CanCollide(inOther, *
this);
95 void SaveBinaryState(
StreamOut &inStream)
const;
98 void RestoreBinaryState(
StreamIn &inStream);
105 GroupID mGroupID = cInvalidGroup;
#define JPH_EXPORT
Definition Core.h:283
#define JPH_NAMESPACE_END
Definition Core.h:434
std::uint32_t uint32
Definition Core.h:513
#define JPH_NAMESPACE_BEGIN
Definition Core.h:428
#define JPH_DECLARE_SERIALIZABLE_NON_VIRTUAL(linkage, class_name)
Definition SerializableObject.h:80
Definition CollisionGroup.h:20
GroupID GetGroupID() const
Definition CollisionGroup.h:66
SubGroupID GetSubGroupID() const
Definition CollisionGroup.h:77
void SetGroupFilter(const GroupFilter *inFilter)
Set the collision group filter.
Definition CollisionGroup.h:49
CollisionGroup(const GroupFilter *inFilter, GroupID inGroupID, SubGroupID inSubGroupID)
Construct with all properties.
Definition CollisionGroup.h:34
static const CollisionGroup sInvalid
An invalid collision group.
Definition CollisionGroup.h:101
void SetSubGroupID(SubGroupID inID)
Add this object to a sub group.
Definition CollisionGroup.h:72
bool CanCollide(const CollisionGroup &inOther) const
Check if this object collides with another object.
Definition CollisionGroup.h:83
uint32 GroupID
Definition CollisionGroup.h:24
void SetGroupID(GroupID inID)
Set the main group id for this object.
Definition CollisionGroup.h:61
const GroupFilter * GetGroupFilter() const
Get the collision group filter.
Definition CollisionGroup.h:55
CollisionGroup()=default
Default constructor.
uint32 SubGroupID
Definition CollisionGroup.h:25
Abstract class that checks if two CollisionGroups collide.
Definition GroupFilter.h:18
virtual bool CanCollide(const CollisionGroup &inGroup1, const CollisionGroup &inGroup2) const =0
Check if two groups collide.
Definition Reference.h:166
Simple binary input stream.
Definition StreamIn.h:13
Simple binary output stream.
Definition StreamOut.h:13