JointBall Class
This class is used to create ball joints.
JointBall Class
Members
JointBall ()
Constructor. Creates a ball joint with an anchor at the origin of the world coordinates.JointBall (const Ptr<Body> & body0, const Ptr<Body> & body1)
Constructor. Creates a ball 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.
JointBall (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
JointBall (const Ptr<Body> & body0, const Ptr<Body> & body1, const Math::Vec3 & anchor, const Math::vec3 & axis)
Arguments
- const Ptr<Body> & body0
- const Ptr<Body> & body1
- const Math::Vec3 & anchor
- const Math::vec3 & axis
void setAngularLimitTo (float to)
Sets a high twist limit angle. Twist limit specifies how much a connected body can twist around the joint axis.Arguments
- float to - Angle in degrees. The provided value will be saturated in the range [-180; 180].
float getAngularLimitAngle ()
Returns the swing limit angle. Swing limit specifies how much connected bodies can bend from the joint axis. 0 means there is no limit.Return value
Swing limit angle in degrees.float getAngularDamping ()
Returns the angular damping of the joint.Return value
Angular damping.void setAngularLimitAngle (float angle)
Sets a swing limit angle. Swing limit specifies how much connected bodies can bend from the joint axis.Arguments
- float angle - Angle in degrees. The provided value will be saturated in the range [0; 180]. 0 means no limit.
Math::vec3 getWorldAxis ()
Returns the joint axis. The joint axis is calculated based on the axes of the connected bodies.Return value
Joint axis.void setAngularLimitFrom (float from)
Sets a low twist limit angle. Twist limit specifies how much a connected body can twist around the joint axis.Arguments
- float from - Angle in degrees. The provided value will be saturated in the range [-180; 180].
void setAngularDamping (float damping)
Sets an angular damping of the joint.Arguments
- float damping - Angular damping. If a negative value is provided, 0 will be used instead.
void setAxis0 (const Math::vec3 & axis0)
Sets an axis of the first connected body.Arguments
- const Math::vec3 & axis0 - Axis of the first body. The provided vector will be normalized.
Math::vec3 getAxis0 ()
Returns the axis of the first connected body.Return value
Axis of the first body.Math::vec3 getAxis1 ()
Returns the axis of the second connected body.Return value
Axis of the second body.float getAngularLimitTo ()
Returns the high twist limit angle. Twist limit specifies how much a connected body can twist around the joint axis.Return value
High twist limit angle in degrees.float getAngularLimitFrom ()
Returns the low twist limit angle. Twist limit specifies how much a connected body can twist around the joint axis.Return value
Low twist limit angle in degrees.void setAxis1 (const Math::vec3 & axis1)
Sets an axis of the second connected body.Arguments
- const Math::vec3 & axis1 - Axis of the second body. The provided vector will be normalized.
void setWorldAxis (const Math::vec3 & axis)
Sets a joint axis. This method updates axes of the connected bodies.Arguments
- const Math::vec3 & axis - Joint axis.
Last update: 2017-07-03
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)