Table of Contents

Namespace Jitter2.Dynamics.Constraints

Classes

AngularMotor

Represents a motor that drives relative angular velocity between two axes fixed in the reference frames of their respective bodies.

BallSocket

Implements a ball-and-socket joint that anchors a point on each body together, removing three translational degrees of freedom.

ConeLimit

Limits the relative tilt between two bodies, removing one angular degree of freedom when active.

Constraint

Base class for constraints that connect two rigid bodies and restrict their relative motion.

Constraint<T>

Generic base class for constraints that store custom data of type T.

DistanceLimit

Constrains the distance between a fixed point in the reference frame of one body and a fixed point in the reference frame of another body. This constraint removes one translational degree of freedom. For a distance of zero, use the BallSocket constraint.

FixedAngle

Constrains the relative orientation between two bodies, eliminating three degrees of rotational freedom.

HingeAngle

Constrains two bodies to rotate relative to each other around a single axis, removing two angular degrees of freedom. Optionally enforces angular limits.

HingeJoint

Constructs a hinge joint utilizing a HingeAngle, a BallSocket, and an optional AngularMotor.

Joint

Base class for joints, which are composite constraints built from multiple Constraint instances.

LinearMotor

A motor constraint that drives relative translational velocity along an axis fixed in the reference frame of each body.

PointOnLine

Constrains a fixed point in the reference frame of one body to a line that is fixed in the reference frame of another body. This constraint removes two degrees of translational freedom; three if the limit is enforced.

PointOnPlane

Constrains a fixed point in the reference frame of one body to a plane that is fixed in the reference frame of another body. This constraint removes one degree of translational freedom if the limit is enforced.

PrismaticJoint

Constructs a prismatic joint utilizing a PointOnLine constraint in conjunction with FixedAngle, HingeAngle, and LinearMotor constraints.

TwistAngle

Constrains the relative twist of two bodies. This constraint removes one angular degree of freedom when the limit is enforced.

UniversalJoint

Creates a universal joint utilizing a TwistAngle, BallSocket, and an optional AngularMotor constraint.

WeldJoint

Creates a rigid weld joint between two bodies using a FixedAngle constraint for orientation locking and a BallSocket constraint for positional locking. This effectively removes all relative motion between the connected bodies.

Structs

AngularLimit

Represents an angular limit defined by a minimum and maximum angle. Used by constraints to restrict rotational motion within a specified range.

AngularMotor.AngularMotorData
BallSocket.BallSocketData
ConeLimit.ConeLimitData
ConstraintData

Low-level data for constraints, stored in unmanaged memory.

DistanceLimit.DistanceLimitData
FixedAngle.FixedAngleData
HingeAngle.HingeAngleData
LinearLimit

Represents a linear limit defined by a minimum and maximum distance. Used by constraints to restrict translational motion within a specified range.

LinearMotor.LinearMotorData
PointOnLine.PointOnLineData
PointOnPlane.SliderData
SmallConstraintData

Low-level data for constraints that fit within ConstraintSizeSmall bytes.

TwistAngle.TwistLimitData