Package com.github.stephengold.joltjni
Class Contact
java.lang.Object
com.github.stephengold.joltjni.JoltPhysicsObject
com.github.stephengold.joltjni.Contact
- All Implemented Interfaces:
ConstContact,ConstJoltPhysicsObject,AutoCloseable,Comparable<ConstJoltPhysicsObject>
Describe a contact between a
Character and a body or another
character.-
Method Summary
Modifier and TypeMethodDescriptiongetBodyB()Return the ID of the colliding body.booleanTest whether the velocity of the contact point can push the character.Return the colliding character.Return 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 colliding object is a sensor.Return the velocity of the contact point.Return the motion type of the colliding object.Return the location where the contact occurs.Return the subshape ID of the colliding body.Return 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.JoltPhysicsObject
close, compareTo, equals, hasAssignedNativeObject, hashCode, ownsNativeObject, setVirtualAddress, startCleaner, toString, 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.ConstJoltPhysicsObject
close, hasAssignedNativeObject, ownsNativeObject, va
-
Method Details
-
getBodyB
Return the ID of the colliding body. The contact is unaffected. (native attribute: mBodyB)- Specified by:
getBodyBin interfaceConstContact- Returns:
- a new ID, or null if no colliding body
-
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 interfaceConstContact- Returns:
- true if can push, otherwise false
-
getCharacterB
Return the colliding character. The contact is unaffected. (native attribute: mCharacterB)- Specified by:
getCharacterBin interfaceConstContact- Returns:
- a new JVM object with the pre-existing native object assigned, or null if no colliding character
-
getContactNormal
Return the contact normal. The contact is unaffected. (native attribute: mContactNormal)- Specified by:
getContactNormalin interfaceConstContact- 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 interfaceConstContact- 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 interfaceConstContact- Returns:
- the fraction
-
getHadCollision
public boolean getHadCollision()Test whether the character has actually collided. The contact is unaffected. (native attribute: mHadCollision)- Specified by:
getHadCollisionin interfaceConstContact- Returns:
- true if a real collision, false for a predictive contact that never became a real one
-
getIsSensorB
public boolean getIsSensorB()Test whether the colliding object is a sensor. The contact is unaffected. (native attribute: mIsSensorB)- Specified by:
getIsSensorBin interfaceConstContact- Returns:
- true for a sensor, otherwise false
-
getLinearVelocity
Return the velocity of the contact point. The contact is unaffected. (native attribute: mLinearVelocity)- Specified by:
getLinearVelocityin interfaceConstContact- Returns:
- a new velocity vector
-
getMotionTypeB
Return the motion type of the colliding object. The contact is unaffected. (native attribute: mGetMotionTypeB)- Specified by:
getMotionTypeBin interfaceConstContact- Returns:
- an enum value (not null)
-
getPosition
Return the location where the contact occurs. The contact is unaffected. (native attribute: mPosition)- Specified by:
getPositionin interfaceConstContact- Returns:
- a new vector (in system coordinates)
-
getSubShapeIdB
Return the subshape ID of the colliding body. The contact is unaffected. (native attribute: mSubShapeIDB)- Specified by:
getSubShapeIdBin interfaceConstContact- Returns:
- a new ID, or null if no colliding body
-
getSurfaceNormal
Return the surface normal of the contact. The contact is unaffected. (native attribute: mSurfaceNormal)- Specified by:
getSurfaceNormalin interfaceConstContact- 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 interfaceConstContact- 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 interfaceConstContact- Returns:
- true if discarded, otherwise false
-