#include <algorithm>
#include <cmath>
#include "frcsim/rigidbody/rigid_body.hpp"
Go to the source code of this file.
|
| Vector3 | frcsim::detail::worldAnchor (const RigidBody *body, const Vector3 &local_anchor) |
| | Converts a body-local anchor point into world space.
|
| double | frcsim::detail::clampValue (double value, double min_value, double max_value) |
| | Clamps a scalar into a closed range.
|
| void | frcsim::detail::applyPositionCorrection (RigidBody *body_a, RigidBody *body_b, const Vector3 &error, double gain) |
| | Applies a positional correction split across two bodies by mass.
|
| void | frcsim::detail::applyVelocityCorrection (RigidBody *body_a, RigidBody *body_b, const Vector3 &relative_velocity, double gain) |
| | Applies a velocity-space correction split across two bodies by mass.
|
| Vector3 | frcsim::detail::worldAxisOrFallback (const RigidBody *body, const Vector3 &local_axis, const Vector3 &fallback_axis) |
| | Rotates a local axis into world space and falls back if needed.
|
| double | frcsim::detail::signedTwistAngleRad (const Quaternion &qa, const Quaternion &qb, const Vector3 &axis_world) |
| | Computes the signed twist between two orientations about an axis.
|