# Package org.gicentre.utils.network.traer.physics

Physics library for use with Processing.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Force | Interface specifying the basic mechanics of a Force.

- Class Summary
  Class | Description
  --- | ---
  AbstractForce | A skeletal implementation of `Force` covering the methods concerned with the on/off state.
  Attraction | This class implements TwoBodyForce to represent an inverse-square law force with a force constant and minimal distance.
  BackwardEulerIntegrator | Class capable of performing backward Euler integration.
  ChargedParticle | Represents a charged particle in the particle system, but currently not implemented.
  Drag | Class capable of applying the drag on a particle to inhibit its motion.
  ForwardEulerIntegrator | Class capable of performing forward Euler integration.
  Function<From,To> | Abstraction of functions capable of performing iterated transformations.
  Gravity | Represents a gravity function which may be applied to particles.
  Integrator | Abstract integrator that defines a number of preset integrator factories.
  ModifiedEulerIntegrator | Modified Euler integrator that evolves the state of a particle system.
  Particle | Class for representing a Particle.
  ParticleSystem | Represents an entire particle system containing particles and forces between them.
  RungeKuttaIntegrator | Class capable of performing Runge Kutta integration.
  SettlingRungeKuttaIntegrator | Class capable of performing a settling Runge Kutta integration.
  Spring | Class for representing a physical spring by extending `TwoBodyForce` to calculate the force with a spring constant (`Spring.ks`), damping factor (`Spring.d`), and an ideal length (`Spring.l`).
  TargetedForce | A `Force` that has its subject `Particle`s already specified, and hence does not support the `Force.apply(Particle)` method.
  TwoBodyForce | TwoBodyForce is `Force` between two specified `Particle`s, which extends `TargetedForce` and simplifies implementation of custom Forces.
  TwoBodyForce.ForcePair | Class that wraps Vector3D forces to apply to the two ends of this TwoBodyForce.
  UniversalForce | A `Force` that is applied to `Particle`s at the user's discretion, and hence does not support the `Force.apply()` method.
  Vector3D | Represents 3D vectors and the operations on them.

- Enum Summary
  Enum | Description
  --- | ---
  Integrator.METHOD | Lists the different integration methods that can be produced by the integrator factory.

## Package org.gicentre.utils.network.traer.physics Description

Physics library for use with Processing.

This package includes utilities for simple physics modelling of particles.

To check you have the latest version of the gicentreUtils package, display the results of `Version.getText()` or `Version.getVersion()`. It should match that shown in this API documentation.

## Related Documentation

- Processing home page
- giCentreUtils source code
- giCentre.org home page
- original traer physics home page
- traer physics library project by Carl Pearson
- original traer animation home page (archive copy)