61#if MOCHI_LANGUAGE_CPP20
114#if MOCHI_LANGUAGE_CPP20
194#if MOCHI_LANGUAGE_CPP20
252#if MOCHI_LANGUAGE_CPP20
ArticulatedJointType
Types of joints in an articulated body.
@ Spherical
3-DoF rotational joint (ball-and-socket).
@ Revolute
1-DoF rotational joint around a single axis.
@ Prismatic
1-DoF translational joint along a single axis.
@ Hard
0-DoF rigid (weld) joint. No relative motion between links.
@ Cycle
Cycle-closing joint in closed-loop topologies.
@ Free
6-DoF joint. Unconstrained relative motion between links.
@ Invalid
Invalid constraint type.
RoutingElementType
Selects how a RoutingElement contributes to a spatial tendon's routing.
@ Waypoint
A point fixed in a link's local frame (the same frame in which the link's mesh and geometry are autho...
@ LinearJoint
A constant moment arm contributing coefficient * jointCoordinate, as in a linear transmission.
@ Count
Number of actor type enum values.
#define MOCHI_ENUM_COUNT(name)
#define MOCHI_STRUCT_END()
#define MOCHI_ENUM_BEGIN(name)
#define MOCHI_FIELD(name)
#define MOCHI_STRUCT_BEGIN(name)
#define MOCHI_ENUM_ITEM(name)
Defines a cycle-closing joint in an articulated body.
bool operator==(ArticulatedCycleJoint const &) const =default
int parent
Parent link index.
int child
Child link index.
Degree-of-freedom layout information for a single joint in an articulated body.
int transSize
Number of translational DoFs for this joint.
int GetTransOffset() const
Offset of this joint's translational DoFs in the flattened DoF array.
int GetSize() const
Total number of DoFs for this joint.
int offset
Offset of this joint's DoFs in the flattened DoF array.
int rotSize
Number of rotational DoFs for this joint.
bool operator==(ArticulatedDofInfo const &) const =default
int GetRotOffset() const
Offset of this joint's rotational DoFs in the flattened DoF array.
Per-joint friction parameters for articulated bodies.
real stictionExtra
[Experimental] Extra stiction force/torque [N or N·m] representing the difference between static and ...
real viscous
Viscous friction coefficient [N·s/m or N·m·s/rad].
real falloffVel
Velocity threshold for dry friction smoothing [m/s or rad/s].
real coulomb
Coulomb friction coefficient [N or N·m].
bool operator==(ArticulatedJointFrictionParams const &) const =default
real stribeckVel
[Experimental] Stribeck velocity [m/s or rad/s] governing how sharply friction transitions from stati...
One ordered element in a spatial tendon's heterogeneous routing list.
bool operator==(RoutingElement const &) const =default
Real3 localPosition
Waypoint only: the waypoint position in the link's local frame (the same frame in which the link's me...
RoutingElementType type
Selects the interpretation of the remaining fields.
int index
Waypoint: the link index the waypoint is attached to. LinearJoint: the joint index.
real coefficient
LinearJoint only: the signed constant moment arm d(displacement)/d(joint DoF) [m / joint DoF]; its si...