JointSixDof
The JointSixDof class represents a configurable six degrees of freedom joint between bodies in the Scene. It provides independent control over translation and rotation along the X, Y, and Z axes. The joint can operate as a servo motor with specified linear or angular velocity.
The Z axis is the recommended rotation axis for suspension-style setups.
#include <scene/TellusimJointSixDof.h>
Inheritance
- Inherits from Joint
Constructors
explicit JointSixDof(const char *name = nullptr)
explicit JointSixDof(Body &body, const char *name = nullptr)
JointSixDof(Body &body_0, Body &body_1, const char *name = nullptr)
Methods
Linear lock mask.
void setLinearLock(AxisMask axes)
AxisMask getLinearLock() const
bool hasLinearLock(AxisMask axis) const
Angular lock mask.
void setAngularLock(AxisMask axes)
AxisMask getAngularLock() const
bool hasAngularLock(AxisMask axis) const
Linear servo mask.
void setLinearServo(AxisMask servo)
AxisMask getLinearServo() const
bool hasLinearServo(AxisMask axis) const
Angular servo mask.
void setAngularServo(AxisMask servo)
AxisMask getAngularServo() const
bool hasAngularServo(AxisMask axis) const
Current linear position.
void setLinearPosition(Vector3f position)
const Vector3f getLinearPosition() const
Current linear velocity.
void setLinearVelocity(Vector3f velocity)
const Vector3f getLinearVelocity() const
Current angular rotation.
void setAngularRotation(Vector3f rotation)
const Vector3f getAngularRotation() const
Current angular velocity.
void setAngularVelocity(Vector3f velocity)
const Vector3f getAngularVelocity() const
Linear friction.
void setLinearFriction(Vector3f friction)
const Vector3f getLinearFriction() const
Angular friction.
void setAngularFriction(Vector3f friction)
const Vector3f getAngularFriction() const
Linear restitution.
void setLinearRestitution(Vector3f restitution)
const Vector3f getLinearRestitution() const
Linear stiffness.
void setLinearStiffness(Vector3f stiffness)
const Vector3f getLinearStiffness() const
AxisMask hasLinearStiffness() const
bool hasLinearStiffness(AxisMask axis) const
Linear damping.
void setLinearDamping(Vector3f damping)
const Vector3f getLinearDamping() const
Linear position range.
void setMinPosition(Vector3f min_position)
void setMaxPosition(Vector3f max_position)
void setPositionRange(Vector3f min_position, Vector3f max_position)
const Vector3f getMinPosition() const
const Vector3f getMaxPosition() const
AxisMask hasPositionRange() const
bool hasPositionRange(AxisMask axis) const
Angular restitution.
void setAngularRestitution(Vector3f restitution)
const Vector3f getAngularRestitution() const
Angular stiffness.
void setAngularStiffness(Vector3f stiffness)
const Vector3f getAngularStiffness() const
AxisMask hasAngularStiffness() const
bool hasAngularStiffness(AxisMask axis) const
Angular damping.
void setAngularDamping(Vector3f damping)
const Vector3f getAngularDamping() const
Angular rotation range.
void setMinRotation(Vector3f min_rotation)
void setMaxRotation(Vector3f max_rotation)
void setRotationRange(Vector3f min_rotation, Vector3f max_rotation)
const Vector3f getMinRotation() const
const Vector3f getMaxRotation() const
AxisMask hasRotationRange() const
bool hasRotationRange(AxisMask axis) const
Servo motor position.
void setLinearMotorPosition(Vector3f position)
const Vector3f getLinearMotorPosition() const
void setLinearMotorPositionX(float32_t x)
void setLinearMotorPositionY(float32_t y)
void setLinearMotorPositionZ(float32_t z)
Linear motor velocity.
void setLinearMotorVelocity(Vector3f velocity)
const Vector3f getLinearMotorVelocity() const
void setLinearMotorVelocityX(float32_t x)
void setLinearMotorVelocityY(float32_t y)
void setLinearMotorVelocityZ(float32_t z)
Linear motor force.
void setLinearMotorForce(Vector3f force)
const Vector3f getLinearMotorForce() const
void setLinearMotorForceX(float32_t x)
void setLinearMotorForceY(float32_t y)
void setLinearMotorForceZ(float32_t z)
Linear motor stiffness.
void setLinearMotorStiffness(Vector3f stiffness)
const Vector3f getLinearMotorStiffness() const
Linear motor damping.
void setLinearMotorDamping(Vector3f damping)
const Vector3f getLinearMotorDamping() const
Servo motor rotation.
void setAngularMotorRotation(Vector3f rotation)
const Vector3f getAngularMotorRotation() const
void setAngularMotorRotationX(float32_t x)
void setAngularMotorRotationY(float32_t y)
void setAngularMotorRotationZ(float32_t z)
Angular motor velocity.
void setAngularMotorVelocity(Vector3f velocity)
const Vector3f getAngularMotorVelocity() const
void setAngularMotorVelocityX(float32_t x)
void setAngularMotorVelocityY(float32_t y)
void setAngularMotorVelocityZ(float32_t z)
Angular motor torque.
void setAngularMotorTorque(Vector3f torque)
const Vector3f getAngularMotorTorque() const
void setAngularMotorTorqueX(float32_t x)
void setAngularMotorTorqueY(float32_t y)
void setAngularMotorTorqueZ(float32_t z)
Angular motor stiffness.
void setAngularMotorStiffness(Vector3f stiffness)
const Vector3f getAngularMotorStiffness() const
Angular motor damping.
void setAngularMotorDamping(Vector3f damping)
const Vector3f getAngularMotorDamping() const
Updated flags.
bool isAxesUpdated() const
bool isFrictionUpdated() const
bool isLimitsUpdated() const
bool isMotorUpdated() const
Enums
AxisMask
Name | Value |
---|---|
AxisMaskNone | 0 |
AxisMaskX | (1 << 0) |
AxisMaskY | (1 << 1) |
AxisMaskZ | (1 << 2) |
AxisMaskAll | (AxisMaskX | AxisMaskY | AxisMaskZ) |