java.lang.Object
com.github.stephengold.joltjni.JoltPhysicsObject
com.github.stephengold.joltjni.CharacterContactKey
com.github.stephengold.joltjni.CharacterContact
- All Implemented Interfaces:
ConstCharacterContact,ConstCharacterContactKey,ConstJoltPhysicsObject,AutoCloseable,Comparable<JoltPhysicsObject>
Describe a contact between a
Character and a body or another
character.-
Constructor Summary
ConstructorsConstructorDescriptionCharacterContact(long contactVa, boolean owner, PhysicsSystem system) Instantiate with the specified native object assigned. -
Method Summary
Modifier and TypeMethodDescriptionbooleanTest whether the velocity of the contact point can push the character.Return the colliding character.Copy the contact normal.floatReturn the contact separation.floatReturn the fraction along the path where the contact takes place.booleanTest whether the character has actually collided.booleanTest whether the contact came from a back-facing triangle or collision shape.booleanTest whether the colliding object is a sensor.Copy the velocity of the contact point.Return the motion type of the colliding object.Copy the location where the contact occurs.Copy the surface normal of the contact.longReturn the user data of the colliding object.booleanTest whether the contact was discarded by the contact-validate callback.Methods inherited from class com.github.stephengold.joltjni.CharacterContactKey
getBodyB, getCharacterIdB, getSubShapeIdB, isEqual, isNotEqual, restoreState, saveState, toStringMethods inherited from class com.github.stephengold.joltjni.JoltPhysicsObject
close, compareTo, equals, getContainingObject, hasAssignedNativeObject, hashCode, isCleanerStarted, ownsNativeObject, setVirtualAddress, setVirtualAddress, startCleaner, targetVa, vaMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Comparable
compareToMethods inherited from interface com.github.stephengold.joltjni.readonly.ConstCharacterContactKey
getBodyB, getCharacterIdB, getSubShapeIdB, isEqual, isNotEqual, saveStateMethods inherited from interface com.github.stephengold.joltjni.readonly.ConstJoltPhysicsObject
close, hasAssignedNativeObject, ownsNativeObject, targetVa
-
Constructor Details
-
CharacterContact
Instantiate with the specified native object assigned.- Parameters:
contactVa- the virtual address of the native object to assign (not zero)owner-true→ make the JVM object the owner,false→ it isn't the ownersystem- the physics system in which the contact is occurring (notnull)For use in custom contact listeners.
-
-
Method Details
-
getCanPushCharacter
public boolean getCanPushCharacter()Test whether the velocity of the contact point can push the character. The contact is unaffected. (native attribute: mCanPushCharacter)- Specified by:
getCanPushCharacterin interfaceConstCharacterContact- Returns:
trueif can push, otherwisefalse
-
getCharacterB
Return the colliding character. The contact is unaffected. (native attribute: mCharacterB)- Specified by:
getCharacterBin interfaceConstCharacterContact- Returns:
- a new JVM object with the pre-existing native object assigned, or
nullif no colliding character
-
getContactNormal
Copy the contact normal. The contact is unaffected. (native attribute: mContactNormal)- Specified by:
getContactNormalin interfaceConstCharacterContact- Returns:
- a new direction vector, pointing toward the character
-
getDistance
public float getDistance()Return the contact separation. The contact is unaffected. (native attribute: mDistance)- Specified by:
getDistancein interfaceConstCharacterContact- Returns:
- the signed distance (in meters, ≤0→actual contact, >0→predictive contact)
-
getFraction
public float getFraction()Return the fraction along the path where the contact takes place. The contact is unaffected. (native attribute: mFraction)- Specified by:
getFractionin interfaceConstCharacterContact- Returns:
- the fraction
-
getHadCollision
public boolean getHadCollision()Test whether the character has actually collided. The contact is unaffected. (native attribute: mHadCollision)- Specified by:
getHadCollisionin interfaceConstCharacterContact- Returns:
trueif a real collision,falsefor a predictive contact that never became a real one
-
getIsBackFacingContact
public boolean getIsBackFacingContact()Test whether the contact came from a back-facing triangle or collision shape. The contact is unaffected. (native attribute: mIsBackFacingContact)- Specified by:
getIsBackFacingContactin interfaceConstCharacterContact- Returns:
trueif back-facing, otherwisefalse
-
getIsSensorB
public boolean getIsSensorB()Test whether the colliding object is a sensor. The contact is unaffected. (native attribute: mIsSensorB)- Specified by:
getIsSensorBin interfaceConstCharacterContact- Returns:
truefor a sensor, otherwisefalse
-
getLinearVelocity
Copy the velocity of the contact point. The contact is unaffected. (native attribute: mLinearVelocity)- Specified by:
getLinearVelocityin interfaceConstCharacterContact- Returns:
- a new velocity vector
-
getMotionTypeB
Return the motion type of the colliding object. The contact is unaffected. (native attribute: mGetMotionTypeB)- Specified by:
getMotionTypeBin interfaceConstCharacterContact- Returns:
- an enum value (not
null)
-
getPosition
Copy the location where the contact occurs. The contact is unaffected. (native attribute: mPosition)- Specified by:
getPositionin interfaceConstCharacterContact- Returns:
- a new vector (in system coordinates)
-
getSurfaceNormal
Copy the surface normal of the contact. The contact is unaffected. (native attribute: mSurfaceNormal)- Specified by:
getSurfaceNormalin interfaceConstCharacterContact- Returns:
- a new direction vector
-
getUserData
public long getUserData()Return the user data of the colliding object. The contact is unaffected. (native attribute: mUserData)- Specified by:
getUserDatain interfaceConstCharacterContact- Returns:
- the data value
-
getWasDiscarded
public boolean getWasDiscarded()Test whether the contact was discarded by the contact-validate callback. The contact is unaffected. (native attribute: mWasDiscarded)- Specified by:
getWasDiscardedin interfaceConstCharacterContact- Returns:
trueif discarded, otherwisefalse
-