Class SoftAngularJoint

All Implemented Interfaces:
com.jme3.export.Savable, com.jme3.util.clone.JmeCloneable, Cloneable, Comparable<NativePhysicsObject>

public class SoftAngularJoint extends SoftPhysicsJoint
A SoftPhysicsJoint that allows rotation around an axis, based on Bullet's btSoftBody::AJoint.
  • Field Details

    • logger3

      public static final Logger logger3
      message logger for this class
  • Constructor Details

    • SoftAngularJoint

      protected SoftAngularJoint()
      No-argument constructor needed by SavableClassUtil.
    • SoftAngularJoint

      public SoftAngularJoint(com.jme3.math.Vector3f axis, PhysicsSoftBody softA, int clusterIndexA, PhysicsRigidBody rigidB)
      Instantiate a soft-rigid angular joint.
      Parameters:
      axis - the axis of the joint (in physics-space coordinates, not null, unaffected)
      softA - the soft body for the A end (not null, alias created)
      clusterIndexA - the index of the cluster for the A end (≥0)
      rigidB - the rigid body for the B end (not null, alias created)
    • SoftAngularJoint

      public SoftAngularJoint(com.jme3.math.Vector3f axis, PhysicsSoftBody softA, int clusterIndexA, PhysicsSoftBody softB, int clusterIndexB)
      Instantiate a soft-soft angular joint. Each soft body must contain a cluster.
      Parameters:
      axis - the axis of the joint (in physics-space coordinates, not null, unaffected)
      softA - the soft body for the A end (not null, alias created)
      clusterIndexA - the index of the cluster for the A end (≥0)
      softB - the soft body for the B end (not null, alias created)
      clusterIndexB - the index of the cluster for the B end (≥0)
  • Method Details

    • copyAxis

      public com.jme3.math.Vector3f copyAxis(com.jme3.math.Vector3f storeResult)
      Copy the joint axis.
      Parameters:
      storeResult - storage for the result (modified if not null)
      Returns:
      the axis (in physics-space coordinates, either storeResult or a new vector, not null)
    • setAxis

      public void setAxis(com.jme3.math.Vector3f newAxis)
      Alter the joint axis.
      Parameters:
      newAxis - the desired axis (in physics-space coordinates, not null, unaffected)
    • cloneFields

      public void cloneFields(com.jme3.util.clone.Cloner cloner, Object original)
      Callback from Cloner to convert this shallow-cloned joint into a deep-cloned one, using the specified Cloner and original to resolve copied fields.
      Specified by:
      cloneFields in interface com.jme3.util.clone.JmeCloneable
      Overrides:
      cloneFields in class PhysicsJoint
      Parameters:
      cloner - the Cloner that's cloning this joint (not null)
      original - the instance from which this joint was shallow-cloned (not null, unaffected)
    • read

      public void read(com.jme3.export.JmeImporter importer) throws IOException
      De-serialize this joint from the specified importer, for example when loading from a J3O file.
      Specified by:
      read in interface com.jme3.export.Savable
      Overrides:
      read in class SoftPhysicsJoint
      Parameters:
      importer - (not null)
      Throws:
      IOException - from the importer
    • write

      public void write(com.jme3.export.JmeExporter exporter) throws IOException
      Serialize this joint to the specified exporter, for example when saving to a J3O file.
      Specified by:
      write in interface com.jme3.export.Savable
      Overrides:
      write in class SoftPhysicsJoint
      Parameters:
      exporter - (not null)
      Throws:
      IOException - from the exporter