Interface JointModelTransform

All Known Implementing Classes:
MatrixJointModelTransform, SeparateJointModelTransform

public interface JointModelTransform
Implementations of this interface holds accumulated model transform of a Joint. Implementation might choose different accumulation strategy.
  • Method Details

    • updateModelTransform

      void updateModelTransform(Transform localTransform, Joint parent)
      Update the joint's transform in model space.
      Parameters:
      localTransform - the joint's local transform (not null, unaffected)
      parent - the joint's parent, or null for a root joint
    • getOffsetTransform

      void getOffsetTransform(Matrix4f outTransform, Matrix4f inverseModelBindMatrix)
      Determine the joint's skinning transform.
      Parameters:
      outTransform - storage for the result (modified if not null)
      inverseModelBindMatrix - the joint's inverse model bind matrix (not null, unaffected)
    • applyBindPose

      void applyBindPose(Transform localTransform, Matrix4f inverseModelBindMatrix, Joint parent)
      Configure joint's local transform for bind pose.
      Parameters:
      localTransform - the joint's local transform (not null, unaffected)
      inverseModelBindMatrix - the joint's inverse model bind matrix (not null, unaffected)
      parent - the joint's parent, or null for a root joint
    • getModelTransform

      Transform getModelTransform()
      Determine the joint's transform in model space.
      Returns:
      a new instance or a pre-existing one