java.lang.Object
com.github.stephengold.joltjni.JoltPhysicsObject
com.github.stephengold.joltjni.ContactSettings
- All Implemented Interfaces:
ConstContactSettings,ConstJoltPhysicsObject,AutoCloseable,Comparable<JoltPhysicsObject>
Properties of a contact constraint that can be overridden during certain
ContactListener callbacks.-
Constructor Summary
ConstructorsConstructorDescriptionInstantiate the default settings for testing.ContactSettings(long settingsVa) Instantiate settings with the specified native object assigned but not owned. -
Method Summary
Modifier and TypeMethodDescriptionfloatReturn the combined friction for the body pair.floatReturn the combined restitution for the body pair.floatReturn the scale factor for the inverse inertia of body 1.floatReturn the scale factor for the inverse inertia of body 2.floatReturn the scale factor for the inverse mass of body 1.floatReturn the scale factor for the inverse mass of body 2.booleanTest whether the contact should be treated as a sensor (no collision response).Copy the relative angular velocity (body 2 minus body 1).Copy the relative linear velocity (body 2 minus body 1).voidsetCombinedFriction(float friction) Alter the combined friction for the body pair.voidsetCombinedRestitution(float restitution) Alter the combined restitution for the body pair.voidsetInvInertiaScale1(float factor) Alter the scale factor for the inverse inertia of body 1.voidsetInvInertiaScale2(float factor) Alter the scale factor for the inverse inertia of body 2.voidsetInvMassScale1(float factor) Alter the scale factor for the inverse mass of body 1.voidsetInvMassScale2(float factor) Alter the scale factor for the inverse mass of body 2.voidsetIsSensor(boolean setting) Alter whether the contact should be treated as a sensor (no collision response).voidAlter the relative angular velocity (body 2 minus body 1).voidsetRelativeLinearSurfaceVelocity(Vec3Arg velocity) Alter the relative linear velocity (body 2 minus body 1).Methods inherited from class com.github.stephengold.joltjni.JoltPhysicsObject
close, compareTo, equals, getContainingObject, hasAssignedNativeObject, hashCode, isCleanerStarted, ownsNativeObject, setVirtualAddress, setVirtualAddress, startCleaner, targetVa, 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, targetVa
-
Constructor Details
-
ContactSettings
public ContactSettings()Instantiate the default settings for testing. -
ContactSettings
public ContactSettings(long settingsVa) Instantiate settings with the specified native object assigned but not owned.For use in custom contact listeners.
- Parameters:
settingsVa- the virtual address of the native object to assign (not zero)
-
-
Method Details
-
setCombinedFriction
public void setCombinedFriction(float friction) Alter the combined friction for the body pair. (native attribute: mCombinedFriction)- Parameters:
friction- the desired combined friction (default=0)
-
setCombinedRestitution
public void setCombinedRestitution(float restitution) Alter the combined restitution for the body pair. (native attribute: mCombinedRestitution)- Parameters:
restitution- the desired combined restitution (default=0)
-
setInvInertiaScale1
public void setInvInertiaScale1(float factor) Alter the scale factor for the inverse inertia of body 1. (native attribute: mInvInertiaScale1)- Parameters:
factor- the factor (0 = infinite inertia, 1 = use original inertia, default=1)
-
setInvInertiaScale2
public void setInvInertiaScale2(float factor) Alter the scale factor for the inverse inertia of body 2. (native attribute: mInvInertiaScale2)- Parameters:
factor- the factor (0 = infinite inertia, 1 = use original inertia, default=1)
-
setInvMassScale1
public void setInvMassScale1(float factor) Alter the scale factor for the inverse mass of body 1. (native attribute: mInvMassScale1)- Parameters:
factor- the factor (0 = infinite mass, 1 = use original mass, default=1)
-
setInvMassScale2
public void setInvMassScale2(float factor) Alter the scale factor for the inverse mass of body 2. (native attribute: mInvMassScale2)- Parameters:
factor- the factor (0 = infinite mass, 1 = use original mass, default=1)
-
setIsSensor
public void setIsSensor(boolean setting) Alter whether the contact should be treated as a sensor (no collision response). (native attribute: mIsSensor)- Parameters:
setting-trueto treat as a sensor, otherwisefalse(default=false)
-
setRelativeAngularSurfaceVelocity
Alter the relative angular velocity (body 2 minus body 1). (native attribute: mRelativeAngularSurfaceVelocity)- Parameters:
omega- the desired angular velocity (radians per second in system coordinates, default=(0,0,0))
-
setRelativeLinearSurfaceVelocity
Alter the relative linear velocity (body 2 minus body 1). (native attribute: mRelativeLinearSurfaceVelocity)- Parameters:
velocity- the desired velocity (meters per second in system coordinates, default=(0,0,0))
-
getCombinedFriction
public float getCombinedFriction()Return the combined friction for the body pair. The settings are unaffected. (native attribute: mCombinedFriction)- Specified by:
getCombinedFrictionin interfaceConstContactSettings- Returns:
- the combined friction
-
getCombinedRestitution
public float getCombinedRestitution()Return the combined restitution for the body pair. The settings are unaffected. (native attribute: mCombinedRestitution)- Specified by:
getCombinedRestitutionin interfaceConstContactSettings- Returns:
- the combined restitution
-
getInvInertiaScale1
public float getInvInertiaScale1()Return the scale factor for the inverse inertia of body 1. The settings are unaffected. (native attribute: mInvInertiaScale1)- Specified by:
getInvInertiaScale1in interfaceConstContactSettings- Returns:
- the factor (0 = infinite inertia, 1 = use original inertia)
-
getInvInertiaScale2
public float getInvInertiaScale2()Return the scale factor for the inverse inertia of body 2. The settings are unaffected. (native attribute: mInvInertiaScale2)- Specified by:
getInvInertiaScale2in interfaceConstContactSettings- Returns:
- the factor (0 = infinite inertia, 1 = use original inertia)
-
getInvMassScale1
public float getInvMassScale1()Return the scale factor for the inverse mass of body 1. The settings are unaffected. (native attribute: mInvMassScale1)- Specified by:
getInvMassScale1in interfaceConstContactSettings- Returns:
- the factor (0 = infinite mass, 1 = use original mass)
-
getInvMassScale2
public float getInvMassScale2()Return the scale factor for the inverse mass of body 2. The settings are unaffected. (native attribute: mInvMassScale2)- Specified by:
getInvMassScale2in interfaceConstContactSettings- Returns:
- the factor (0 = infinite mass, 1 = use original mass)
-
getIsSensor
public boolean getIsSensor()Test whether the contact should be treated as a sensor (no collision response). The settings are unaffected. (native attribute: mIsSensor)- Specified by:
getIsSensorin interfaceConstContactSettings- Returns:
trueif treated as a sensor, otherwisefalse
-
getRelativeAngularSurfaceVelocity
Copy the relative angular velocity (body 2 minus body 1). The settings are unaffected. (native attribute: mRelativeAngularSurfaceVelocity)- Specified by:
getRelativeAngularSurfaceVelocityin interfaceConstContactSettings- Returns:
- a new velocity vector (radians per second in system coordinates)
-
getRelativeLinearSurfaceVelocity
Copy the relative linear velocity (body 2 minus body 1). The settings are unaffected. (native attribute: mRelativeLinearSurfaceVelocity)- Specified by:
getRelativeLinearSurfaceVelocityin interfaceConstContactSettings- Returns:
- a new velocity vector (meters per second in system coordinates)
-