JSim 2026.06.01-p(1)
Loading...
Searching...
No Matches
joint_math.hpp File Reference
#include <algorithm>
#include <cmath>
#include "frcsim/rigidbody/rigid_body.hpp"

Go to the source code of this file.

Namespaces

namespace  frcsim
namespace  frcsim::detail

Functions

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.

Variables

constexpr double frcsim::detail::kJointEpsilon = 1e-9
const double frcsim::detail::kPi = std::acos(-1.0)