DistanceJoint limiting the distance between two local anchor points of Bodies.

The equation for this constraint could be written like:

```jointMin <= distance(body2.localPointToWorld(anchor2), body1.localPointToWorld(anchor1)) <= jointMax
```
This joint is not designed to work when ` jointMin = jointMax = 0 ` and constraint is stiff. In this instance you should use a PivotJoint instead.

### `new(body1:Null<Body>, body2:Null<Body>, anchor1:Vec2, anchor2:Vec2, jointMin:Float, jointMax:Float)`

Construct a new DistanceJoint.

Parameters:

`body1` The first body in DistanceJoint. The second body in DistanceJoint. The first local anchor for joint. The second local anchor for joint. The lower bound for constraint. The upper bound for constraint.

Returns:

The constructed DistanceJoint.

### `anchor1:Vec2`

Anchor point on first Body.

This anchor point is defined in the local coordinate system of body1.

### `anchor2:Vec2`

Anchor point on second Body.

This anchor point is defined in the local coordinate system of body2.

### `body1:Null<Body>`

First Body in constraint.

This value may be null, but trying to simulate the constraint whilst this body is null will result in an error.

### `body2:Null<Body>`

Second Body in constraint.

This value may be null, but trying to simulate the constraint whilst this body is null will result in an error.

### `jointMax:Float`

Upper bound for constraint.

This value must be greater than or equal to jointMin.

### `jointMin:Float`

Lower bound for constraint.

This value must be less than or equal to jointMax, and greater equal to 0.

@private

@inheritDoc

### `impulse():MatMN`

@inheritDoc

For this constraint, the MatMN will be 1x1.

### `inlineisSlack():Bool`

Determine if constraint is slack.

This constraint is slack if the positional error is within the bounds of (jointMin, jointMax).

Returns:

True if positional error of constraint is between the limits indicating that the constraint is not doing any work.

Throws:

`#` If either of the bodies is null.

@inheritDoc