This version of documentation is OUTDATED! Please switch to the latest one.

# JointPrismatic Class

This class is used to create prismatic joints.

## JointPrismatic ()

Constructor. Creates a prismatic joint with an anchor at the origin of the world coordinates.

## JointPrismatic (const Ptr<Body> & body0, const Ptr<Body> & body1)

Constructor. Creates a prismatic joint connecting two given bodies. An anchor is placed between centers of mass of the bodies.

### Arguments

• const Ptr<Body> & body0 - The first body to connect with the joint.
• const Ptr<Body> & body1 - The second body to connect with the joint.

## JointPrismatic (const Ptr<Body> & body0, const Ptr<Body> & body1, const Math::Vec3 & anchor, const Math::vec3 & size)

### Arguments

• const Ptr<Body> & body0
• const Ptr<Body> & body1
• const Math::Vec3 & anchor
• const Math::vec3 & size

## voidsetRotation0 (const Math::mat3 & rotation0)

Sets a rotation matrix of the anchor point in a system of coordinates of the first connected body.

### Arguments

• const Math::mat3 & rotation0 - Rotation matrix in the body coordinate space.

## voidsetLinearForce (float force)

Sets a maximum force of the attached motor.

### Arguments

• float force - Maximum force. If a negative value is provided, 0 will be used instead. 0 detaches the motor.

## floatgetLinearDamping ()

Returns the linear damping of the joint.

Linear damping.

## Math::vec3getAxis0 ()

Returns the joint axis in the local coordinates of the first body.

### Return value

Joint axis in the coordinates of the first body.

## voidsetLinearLimitTo (float to)

Sets a high limit distance. This limit specifies how far a connected body can move along the joint axis.

### Arguments

• float to - Distance in units.

## floatgetLinearSpring ()

Returns the rigidity coefficient of the spring. 0 means that the spring is not attached.

### Return value

Rigidity coefficient.

## floatgetCurrentLinearDistance ()

Returns the current distance between the bodies.

### Return value

Current distance in units.

## floatgetCurrentLinearVelocity ()

Returns the current velocity of the attached motor.

### Return value

Current velocity in units per second.

## floatgetLinearLimitTo ()

Returns the high limit distance. This limit specifies how far a connected body can move along the joint axis.

### Return value

High limit distance in units.

## floatgetLinearLimitFrom ()

Returns the low limit distance. This limit specifies how far a connected body can move along the joint axis.

### Return value

Low limit distance in units.

## voidsetLinearDamping (float damping)

Sets a linear damping of the joint.

### Arguments

• float damping - Linear damping. If a negative value is provided, 0 will be used instead.

## floatgetLinearForce ()

Returns the maximum force of the attached motor. 0 means that the motor is not attached.

Maximum force.

## voidsetLinearDistance (float distance)

Sets a target distance of the attached spring. The spring tries to move the connected bodies so that to keep this distance between them.

### Arguments

• float distance - Target distance in units.

## voidsetRotation1 (const Math::mat3 & rotation1)

Sets a rotation matrix of the anchor point in a system of coordinates of the second connected body.

### Arguments

• const Math::mat3 & rotation1 - Rotation matrix in the body coordinate space.

## voidsetLinearVelocity (float velocity)

Sets a target velocity of the attached motor.

### Arguments

• float velocity - Target velocity in units per second.

## voidsetWorldAxis (const Math::vec3 & axis)

Sets a joint axis in the world coordinates.

### Arguments

• const Math::vec3 & axis - Joint axis in the world coordinates.

## voidsetWorldRotation (const Math::mat3 & rotation)

Sets a rotation matrix of the anchor point in the world system of coordinates.

### Arguments

• const Math::mat3 & rotation - Rotation matrix in the world coordinate space.

## voidsetLinearSpring (float spring)

Sets a rigidity coefficient of the spring.

### Arguments

• float spring - Rigidity coefficient. If a negative value is provided, 0 will be used instead. 0 detaches the spring.

## voidsetAxis0 (const Math::vec3 & axis0)

Sets a joint axis in the local coordinates of the first body.

### Arguments

• const Math::vec3 & axis0 - Joint axis in the coordinates of the first body.

## floatgetLinearDistance ()

Returns the target distance of the attached spring. The spring tries to move the connected bodies so that to keep this distance between them.

### Return value

Target distance in units.

## Math::vec3getWorldAxis ()

Returns the joint axis in the world coordinates.

### Return value

Joint axis in the world coordinates.

## floatgetLinearVelocity ()

Returns the target velocity of the attached motor.

### Return value

Target velocity in units per second.

## voidsetLinearLimitFrom (float from)

Sets a low limit distance. This limit specifies how far a connected body can move along the joint axis.

### Arguments

• float from - Distance in units.
Last update: 2017-07-03