UnigineScript
The Language
Core Library
Engine Library
Node-Related Classes
GUI-Related Classes
Plugins Library
High-Level Systems
Samples
C++ API
API Reference
Integration Samples
Usage Examples
C++ Plugins
Content Creation
Materials
Unigine Material Library
Tutorials

JointRail Class

A rail joint is used with BodyRail: it attaches an arbitrary BodyRigid to move along its spline.

JointRail Class

This class inherits from Joint

Members


JointRail ()

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

JointRail (Body body_0, Body body_1)

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

Arguments

  • Body body_0 - BodyRigid to be connected with the joint.
  • Body body_1 - BodyRail to be connected with the joint.

JointRail (Body body_0, Body body_1, vec3 anchor)

Constructor. Creates a rail joint connecting a rigid body to a rail body using a given anchor.

Arguments

  • Body body_0 - BodyRigid to be connected with the joint.
  • Body body_1 - BodyRail to be connected with the joint.
  • vec3 anchor - Anchor of the joint.

float getCurrentLinearVelocity ()

Returns the current linear velocity of the attached motor.

Return value

Current linear velocity in units per second.

float getLinearDamping ()

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

Return value

Linear damping.

float getLinearForce ()

Returns the maximum force of the attached motor.

Return value

Maximum force.

float getLinearVelocity ()

Returns the current linear velocity of the attached motor.

Return value

Target velocity in units per second.

void setLinearDamping (float damping)

Sets damping factor of linear velocities of bodies connected by the joint. The default is 0.

Arguments

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

void setLinearForce (float force)

Sets a maximum force of the attached motor. The default is 0, which means that no motor is attached.

Arguments

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

void setLinearVelocity (float velocity)

Sets a target linear velocity of the attached motor. The default is 0 units per second.

Arguments

  • float velocity - Target velocity in units per second.

void setRotation0 (mat3 rotation)

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

Arguments

  • mat3 rotation - Rotation matrix in the body coordinate space.

void setWorldRotation (mat3 rotation)

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

Arguments

  • mat3 rotation - Rotation matrix in the world coordinate space.
Last update: 2017-07-03