All Implemented Interfaces:
ConstContact, ConstJoltPhysicsObject, AutoCloseable, Comparable<JoltPhysicsObject>

public class Contact extends JoltPhysicsObject implements ConstContact
Describe a contact between a Character and a body or another character. (native type: CharacterVirtual::Contact)
  • Method Details

    • getBodyB

      public int getBodyB()
      Return the ID of the colliding body. The contact is unaffected. (native attribute: mBodyB)
      Specified by:
      getBodyB in interface ConstContact
      Returns:
      the BodyID value
    • 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:
      getCanPushCharacter in interface ConstContact
      Returns:
      true if can push, otherwise false
    • getCharacterB

      public ConstCharacterVirtual getCharacterB()
      Return the colliding character. The contact is unaffected. (native attribute: mCharacterB)
      Specified by:
      getCharacterB in interface ConstContact
      Returns:
      a new JVM object with the pre-existing native object assigned, or null if no colliding character
    • getContactNormal

      public Vec3 getContactNormal()
      Return the contact normal. The contact is unaffected. (native attribute: mContactNormal)
      Specified by:
      getContactNormal in interface ConstContact
      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:
      getDistance in interface ConstContact
      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:
      getFraction in interface ConstContact
      Returns:
      the fraction
    • getHadCollision

      public boolean getHadCollision()
      Test whether the character has actually collided. The contact is unaffected. (native attribute: mHadCollision)
      Specified by:
      getHadCollision in interface ConstContact
      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:
      getIsSensorB in interface ConstContact
      Returns:
      true for a sensor, otherwise false
    • getLinearVelocity

      public Vec3 getLinearVelocity()
      Copy the velocity of the contact point. The contact is unaffected. (native attribute: mLinearVelocity)
      Specified by:
      getLinearVelocity in interface ConstContact
      Returns:
      a new velocity vector
    • getMotionTypeB

      public EMotionType getMotionTypeB()
      Return the motion type of the colliding object. The contact is unaffected. (native attribute: mGetMotionTypeB)
      Specified by:
      getMotionTypeB in interface ConstContact
      Returns:
      an enum value (not null)
    • getPosition

      public RVec3 getPosition()
      Copy the location where the contact occurs. The contact is unaffected. (native attribute: mPosition)
      Specified by:
      getPosition in interface ConstContact
      Returns:
      a new vector (in system coordinates)
    • getSubShapeIdB

      public int getSubShapeIdB()
      Return the sub-shape ID of the colliding body. The contact is unaffected. (native attribute: mSubShapeIDB)
      Specified by:
      getSubShapeIdB in interface ConstContact
      Returns:
      a SubShapeID value
    • getSurfaceNormal

      public Vec3 getSurfaceNormal()
      Copy the surface normal of the contact. The contact is unaffected. (native attribute: mSurfaceNormal)
      Specified by:
      getSurfaceNormal in interface ConstContact
      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:
      getUserData in interface ConstContact
      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:
      getWasDiscarded in interface ConstContact
      Returns:
      true if discarded, otherwise false