Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
CharacterVirtual::Contact Struct Reference

Encapsulates a collision contact. More...

#include <CharacterVirtual.h>

Inheritance diagram for CharacterVirtual::Contact:
CharacterVirtual::ContactKey

Public Member Functions

void SaveState (StateRecorder &inStream) const
 
void RestoreState (StateRecorder &inStream)
 
- Public Member Functions inherited from CharacterVirtual::ContactKey
 ContactKey ()=default
 Constructor.
 
 ContactKey (const ContactKey &inContact)=default
 
 ContactKey (const BodyID &inBodyB, const SubShapeID &inSubShapeID)
 
 ContactKey (const CharacterID &inCharacterIDB, const SubShapeID &inSubShapeID)
 
ContactKeyoperator= (const ContactKey &inContact)=default
 
bool IsSameBody (const ContactKey &inOther) const
 Checks if two contacts refer to the same body (or virtual character)
 
bool operator== (const ContactKey &inRHS) const
 Equality operator.
 
bool operator!= (const ContactKey &inRHS) const
 
uint64 GetHash () const
 Hash of this structure.
 
void SaveState (StateRecorder &inStream) const
 
void RestoreState (StateRecorder &inStream)
 

Public Attributes

RVec3 mPosition
 Position where the character makes contact.
 
Vec3 mLinearVelocity
 Velocity of the contact point.
 
Vec3 mContactNormal
 Contact normal, pointing towards the character.
 
Vec3 mSurfaceNormal
 Surface normal of the contact.
 
float mDistance
 Distance to the contact <= 0 means that it is an actual contact, > 0 means predictive.
 
float mFraction
 Fraction along the path where this contact takes place.
 
EMotionType mMotionTypeB
 Motion type of B, used to determine the priority of the contact.
 
bool mIsSensorB
 If B is a sensor.
 
const CharacterVirtualmCharacterB = nullptr
 Character we're colliding with (if not nullptr). Note that this may be a dangling pointer when accessed through GetActiveContacts(), use mCharacterIDB instead.
 
uint64 mUserData
 User data of B.
 
const PhysicsMaterialmMaterial
 Material of B.
 
bool mHadCollision = false
 If the character actually collided with the contact (can be false if a predictive contact never becomes a real one)
 
bool mWasDiscarded = false
 If the contact validate callback chose to discard this contact or when the body is a sensor.
 
bool mCanPushCharacter = true
 When true, the velocity of the contact point can push the character.
 
- Public Attributes inherited from CharacterVirtual::ContactKey
BodyID mBodyB
 ID of body we're colliding with (if not invalid)
 
CharacterID mCharacterIDB
 Character we're colliding with (if not invalid)
 
SubShapeID mSubShapeIDB
 Sub shape ID of body or character we're colliding with.
 

Detailed Description

Encapsulates a collision contact.

Member Function Documentation

◆ RestoreState()

void CharacterVirtual::Contact::RestoreState ( StateRecorder & inStream)

◆ SaveState()

void CharacterVirtual::Contact::SaveState ( StateRecorder & inStream) const

Member Data Documentation

◆ mCanPushCharacter

bool CharacterVirtual::Contact::mCanPushCharacter = true

When true, the velocity of the contact point can push the character.

◆ mCharacterB

const CharacterVirtual* CharacterVirtual::Contact::mCharacterB = nullptr

Character we're colliding with (if not nullptr). Note that this may be a dangling pointer when accessed through GetActiveContacts(), use mCharacterIDB instead.

◆ mContactNormal

Vec3 CharacterVirtual::Contact::mContactNormal

Contact normal, pointing towards the character.

◆ mDistance

float CharacterVirtual::Contact::mDistance

Distance to the contact <= 0 means that it is an actual contact, > 0 means predictive.

◆ mFraction

float CharacterVirtual::Contact::mFraction

Fraction along the path where this contact takes place.

◆ mHadCollision

bool CharacterVirtual::Contact::mHadCollision = false

If the character actually collided with the contact (can be false if a predictive contact never becomes a real one)

◆ mIsSensorB

bool CharacterVirtual::Contact::mIsSensorB

If B is a sensor.

◆ mLinearVelocity

Vec3 CharacterVirtual::Contact::mLinearVelocity

Velocity of the contact point.

◆ mMaterial

const PhysicsMaterial* CharacterVirtual::Contact::mMaterial

Material of B.

◆ mMotionTypeB

EMotionType CharacterVirtual::Contact::mMotionTypeB

Motion type of B, used to determine the priority of the contact.

◆ mPosition

RVec3 CharacterVirtual::Contact::mPosition

Position where the character makes contact.

◆ mSurfaceNormal

Vec3 CharacterVirtual::Contact::mSurfaceNormal

Surface normal of the contact.

◆ mUserData

uint64 CharacterVirtual::Contact::mUserData

User data of B.

◆ mWasDiscarded

bool CharacterVirtual::Contact::mWasDiscarded = false

If the contact validate callback chose to discard this contact or when the body is a sensor.


The documentation for this struct was generated from the following files: