Class BodyInterface

All Implemented Interfaces:
JoltNative
Direct Known Subclasses:
BodyInterface.D, BodyInterface.F

public abstract sealed class BodyInterface extends AddressedJoltNative permits BodyInterface.F, BodyInterface.D
BodyInterface relies on preview features of the Java platform:
  • BodyInterface refers to one or more preview APIs: MemoryAddress.
Programs can only use BodyInterface when preview features are enabled.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
  • Method Details

    • at

      public static BodyInterface at(MemoryAddressPREVIEW addr)
    • createBody

      public MutableBody createBody(BodyCreationSettings settings)
    • createBodyWithId

      public MutableBody createBodyWithId(int bodyId, BodyCreationSettings settings)
    • createBodyWithoutId

      public MutableBody createBodyWithoutId(BodyCreationSettings settings)
    • destroyBodyWithoutId

      public void destroyBodyWithoutId(MutableBody body)
    • assignBodyId

      public boolean assignBodyId(MutableBody body)
    • assignBodyId

      public boolean assignBodyId(MutableBody body, int bodyId)
    • unassignBodyId

      public MutableBody unassignBodyId(int bodyId)
    • unassignBodyIds

      public MutableBody[] unassignBodyIds(int... bodyIds)
    • unassignBodyIds

      public List<MutableBody> unassignBodyIds(Collection<? extends Integer> bodyIds)
    • destroyBody

      public void destroyBody(int bodyId)
    • destroyBodies

      public void destroyBodies(int... bodyIds)
    • destroyBodies

      public void destroyBodies(Collection<? extends Integer> bodyIds)
    • addBody

      public void addBody(int bodyId, Activation activation)
    • removeBody

      public void removeBody(int bodyId)
    • isAdded

      public boolean isAdded(int bodyId)
    • createAndAddBody

      public int createAndAddBody(BodyCreationSettings settings, Activation activation)
    • bodyBulk

      public BodyInterface.BodyBulk bodyBulk(int... bodyIds)
    • bodyBulk

      public BodyInterface.BodyBulk bodyBulk(Collection<? extends Integer> bodyIds)
    • addBodiesPrepare

      public void addBodiesPrepare(BodyInterface.BodyBulk bulk)
    • addBodiesFinalize

      public void addBodiesFinalize(BodyInterface.BodyBulk bulk, Activation activation)
    • addBodiesAbort

      public void addBodiesAbort(BodyInterface.BodyBulk bulk)
    • removeBodies

      public void removeBodies(int... bodyIds)
    • removeBodies

      public void removeBodies(Collection<? extends Integer> bodyIds)
    • activateBody

      public void activateBody(int bodyId)
    • activateBodies

      public void activateBodies(int... bodyIds)
    • activateBodies

      public void activateBodies(Collection<? extends Integer> bodyIds)
    • deactivateBody

      public void deactivateBody(int bodyId)
    • deactivateBodies

      public void deactivateBodies(int... bodyIds)
    • deactivateBodies

      public void deactivateBodies(Collection<? extends Integer> bodyIds)
    • isActive

      public boolean isActive(int bodyId)
    • getShape

      public Shape getShape(int bodyId)
    • setShape

      public void setShape(int bodyId, Shape shape, boolean updateMassProperties, Activation activation)
    • notifyShapeChanged

      public void notifyShapeChanged(int bodyId, FVec3 previousCOM, boolean updateMassProperties, Activation activation)
    • setObjectLayer

      public void setObjectLayer(int bodyId, short layer)
    • getObjectLayer

      public short getObjectLayer(int bodyId)
    • setPositionAndRotation

      public abstract void setPositionAndRotation(int bodyId, FVec3 position, Quat rotation, Activation activation)
    • setPositionAndRotation

      public abstract void setPositionAndRotation(int bodyId, DVec3 position, Quat rotation, Activation activation)
    • setPositionAndRotationWhenChanged

      public abstract void setPositionAndRotationWhenChanged(int bodyId, FVec3 position, Quat rotation, Activation activation)
    • setPositionAndRotationWhenChanged

      public abstract void setPositionAndRotationWhenChanged(int bodyId, DVec3 position, Quat rotation, Activation activation)
    • getPositionAndRotation

      public abstract void getPositionAndRotation(int bodyId, FVec3 outPosition, Quat outRotation)
    • getPositionAndRotation

      public abstract void getPositionAndRotation(int bodyId, DVec3 outPosition, Quat outRotation)
    • setPosition

      public abstract void setPosition(int bodyId, FVec3 position, Activation activation)
    • setPosition

      public abstract void setPosition(int bodyId, DVec3 position, Activation activation)
    • getCenterOfMassPosition

      public abstract void getCenterOfMassPosition(int bodyId, FVec3 out)
    • getCenterOfMassPosition

      public abstract void getCenterOfMassPosition(int bodyId, DVec3 out)
    • setRotation

      public void setRotation(int bodyId, Quat rotation, Activation activation)
    • getRotation

      public void getRotation(int bodyId, Quat out)
    • getWorldTransform

      public abstract void getWorldTransform(int bodyId, FMat44 out)
    • getWorldTransform

      public abstract void getWorldTransform(int bodyId, DMat44 out)
    • getCenterOfMassTransform

      public abstract void getCenterOfMassTransform(int bodyId, FMat44 out)
    • getCenterOfMassTransform

      public abstract void getCenterOfMassTransform(int bodyId, DMat44 out)
    • moveKinematic

      public abstract void moveKinematic(int bodyId, FVec3 targetPosition, Quat targetRotation, float deltaTime)
    • moveKinematic

      public abstract void moveKinematic(int bodyId, DVec3 targetPosition, Quat targetRotation, float deltaTime)
    • setLinearAndAngularVelocity

      public void setLinearAndAngularVelocity(int bodyId, FVec3 linearVelocity, FVec3 angularVelocity)
    • getLinearAndAngularVelocity

      public void getLinearAndAngularVelocity(int bodyId, FVec3 outLinearVelocity, FVec3 outAngularVelocity)
    • setLinearVelocity

      public void setLinearVelocity(int bodyId, FVec3 velocity)
    • getLinearVelocity

      public void getLinearVelocity(int bodyId, FVec3 out)
    • addLinearVelocity

      public void addLinearVelocity(int bodyId, FVec3 velocity)
    • addLinearAndAngularVelocity

      public void addLinearAndAngularVelocity(int bodyId, FVec3 linearVelocity, FVec3 angularVelocity)
    • setAngularVelocity

      public void setAngularVelocity(int bodyId, FVec3 velocity)
    • getAngularVelocity

      public void getAngularVelocity(int bodyId, FVec3 out)
    • getPointVelocity

      public abstract void getPointVelocity(int bodyId, FVec3 point, FVec3 out)
    • getPointVelocity

      public abstract void getPointVelocity(int bodyId, DVec3 point, FVec3 out)
    • setPositionRotationAndVelocity

      public abstract void setPositionRotationAndVelocity(int bodyId, FVec3 position, FVec3 rotation, FVec3 linearVelocity, FVec3 angularVelocity)
    • setPositionRotationAndVelocity

      public abstract void setPositionRotationAndVelocity(int bodyId, DVec3 position, FVec3 rotation, FVec3 linearVelocity, FVec3 angularVelocity)
    • addForce

      public void addForce(int bodyId, FVec3 force)
    • addForce

      public abstract void addForce(int bodyId, FVec3 force, FVec3 position)
    • addForce

      public abstract void addForce(int bodyId, FVec3 force, DVec3 position)
    • addTorque

      public void addTorque(int bodyId, FVec3 torque)
    • addForceAndTorque

      public void addForceAndTorque(int bodyId, FVec3 force, FVec3 torque)
    • addImpulse

      public void addImpulse(int bodyId, FVec3 impulse)
    • addImpulse

      public abstract void addImpulse(int bodyId, FVec3 impulse, FVec3 position)
    • addImpulse

      public abstract void addImpulse(int bodyId, FVec3 impulse, DVec3 position)
    • addAngularImpulse

      public void addAngularImpulse(int bodyId, FVec3 impulse)
    • setMotionType

      public void setMotionType(int bodyId, MotionType motionType, Activation activation)
    • getMotionType

      public MotionType getMotionType(int bodyId)
    • setMotionQuality

      public void setMotionQuality(int bodyId, MotionQuality motionQuality)
    • getMotionQuality

      public MotionQuality getMotionQuality(int bodyId)
    • getInverseInertia

      public void getInverseInertia(int bodyId, FMat44 out)
    • setRestitution

      public void setRestitution(int bodyId, float restitution)
    • getRestitution

      public float getRestitution(int bodyId)
    • setFriction

      public void setFriction(int bodyId, float friction)
    • getFriction

      public float getFriction(int bodyId)
    • setGravityFactor

      public void setGravityFactor(int bodyId, float gravityFactor)
    • getGravityFactor

      public float getGravityFactor(int bodyId)
    • getTransformedShape

      public void getTransformedShape(int bodyId, TransformedShape out)
    • getUserData

      public long getUserData(int bodyId)
    • getMaterial

      public PhysicsMaterial getMaterial(int bodyId, int subShapeId)
    • invalidateContactCache

      public void invalidateContactCache(int bodyId)