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

# JointPath Class

A path joint is used with BodyPath: it attaches an arbitrary BodyRigid to move along its path.

Notice
The path is a spline along which an object can be moved.

• A set of samples located in the data/samples/ directory, namely:
1. physics/train_00.cpp
2. joints/path_00.cpp

## JointPath ()

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

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

Constructor. Creates a path joint connecting two given bodies. An anchor is placed in the center of the rigid body attached the path body.

### Arguments

• const Ptr<Body> & body0 - BodyRigid to be connected with the joint.
• const Ptr<Body> & body1 - BodyPath to be connected with the joint.

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

### Arguments

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

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

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

### Arguments

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

## floatgetCurrentLinearVelocity ()

Returns the current linear velocity of the attached motor.

### Return value

Current linear velocity in units per second.

## voidsetLinearForce (float force)

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

### Arguments

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

## floatgetLinearVelocity ()

Returns the current linear velocity of the attached motor.

### Return value

Target velocity in units per second.

## floatgetLinearForce ()

Returns the maximum force of the attached motor.

Maximum force.

## floatgetLinearDamping ()

Returns the current damping factor for linear velocities of bodies connected by the joint.

Linear damping.

## voidsetLinearDamping (float damping)

Sets damping factor of linear velocities of bodies connected by the joint.

### Arguments

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

## voidsetLinearVelocity (float velocity)

Sets a target linear velocity of the attached motor.

### Arguments

• float velocity - Target velocity in units per second.

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

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

### Arguments

• const Math::mat3 & rotation - Rotation matrix in the world-space coordinates.
Last update: 2017-07-03