Class VerletSpring3D

java.lang.Object
toxi.physics3d.VerletSpring3D
Direct Known Subclasses:
VerletConstrainedSpring3D, VerletMinDistanceSpring3D

public class VerletSpring3D extends Object

A spring class connecting two VerletParticles in space. Based on the configuration of the spring instance and that of the physics engine, the behaviour of the spring can vary between springy and stiff/stick like.

The simulation takes particle weights into account and can be configured to lock either particle in space in order to force the other one to move. This is sometimes handy for resolving collisions (currently outside the scope of this library).

See Also:
  • Field Details

  • Constructor Details

    • VerletSpring3D

      public VerletSpring3D(VerletParticle3D a, VerletParticle3D b, float len, float str)
      Parameters:
      a - 1st particle
      b - 2nd particle
      len - desired rest length
      str - spring strength
  • Method Details

    • getRestLength

      public final float getRestLength()
    • getStrength

      public final float getStrength()
    • lockA

      public VerletSpring3D lockA(boolean s)
      (Un)Locks the 1st end point of the spring. NOTE: this acts purely within the scope of this spring instance and does NOT call VerletParticle3D.lock()
      Parameters:
      s -
      Returns:
      itself
    • lockB

      public VerletSpring3D lockB(boolean s)
      (Un)Locks the 2nd end point of the spring
      Parameters:
      s -
      Returns:
      itself
    • setRestLength

      public VerletSpring3D setRestLength(float len)
    • setStrength

      public VerletSpring3D setStrength(float strength)