Index

A B C D E F G H I J L M N O P Q R S T U V W Z 
All Classes and Interfaces|All Packages|Constant Field Values

A

a - Variable in class jsim.collision.CollisionPair
First body in the pair.
aabb - Variable in class jsim.dynamics.RigidBody
Cached world-frame AABB for broadphase.
accumulatedNormalImpulse - Variable in class jsim.collision.ContactPoint
Accumulated normal impulse for warm-starting (N·s), reset each tick.
accumulatedTangentImpulse - Variable in class jsim.collision.ContactPoint
Accumulated tangent impulse magnitude (N·s).
ActuatorForce - Class in jsim.forces
Force generator that represents a motor, pneumatic, or other actuator.
ActuatorForce(RigidBody) - Constructor for class jsim.forces.ActuatorForce
Create an actuator for the given rigid body.
add(double[], double[]) - Static method in class jsim.core.Vec3
Returns a + b as a new vector.
addBody(SimBodyBuilder) - Method in class jsim.api.SimWorld
Build a body from the supplied builder, register it in the world, and return the high-level SimBody handle.
addBody(RigidBody) - Method in class jsim.core.PhysicsWorld
Add a body to the world and assign it a unique ID.
addDragForce(SimBody, double, double) - Method in class jsim.api.SimWorld
Create and register a DragForce for the given body.
addField(SimWorld, double, double) - Static method in class jsim.field.FieldLayout
Add a configurable rectangular field (carpet floor + four perimeter wall planes) to world.
addFloor(SimWorld) - Static method in class jsim.field.FieldLayout
Add just the carpet floor (infinite plane at Z = 0) to world.
addForceGenerator(ForceGenerator) - Method in class jsim.api.SimWorld
Register a custom force generator (drag, magnus, spring, custom motor model, etc.).
addForceGenerator(ForceGenerator) - Method in class jsim.core.PhysicsWorld
Register an additional force generator (e.g.
addFrcField(SimWorld) - Static method in class jsim.field.FieldLayout
Add a standard FRC field (carpet floor + four perimeter wall planes) to world.
addMagnusForce(SimBody, double) - Method in class jsim.api.SimWorld
Create and register a MagnusForce for the given spinning body.
addRobot(SimBodyBuilder) - Method in class jsim.field.FieldSimulator
Add a robot body to the simulation.
addScaled(double[], double[], double) - Static method in class jsim.core.Vec3
Adds b * s into a in-place.
addWalls(SimWorld, double, double) - Static method in class jsim.field.FieldLayout
Add four perimeter wall planes to world.
alliance - Variable in enum class jsim.api.RobotId
Which alliance this robot belongs to.
angularVelocity(double, double, double) - Method in class jsim.api.SimBodyBuilder
Sets the initial angular velocity of the body.
apply(double) - Method in class jsim.forces.ActuatorForce
 
apply(double) - Method in class jsim.forces.DragForce
 
apply(double) - Method in interface jsim.forces.ForceGenerator
Apply forces/torques to whichever bodies this generator influences.
apply(double) - Method in class jsim.forces.GravityForce
 
apply(double) - Method in class jsim.forces.MagnusForce
 
applyForce(double, double, double) - Method in class jsim.dynamics.RigidBody
Apply a force at the centre of mass (world frame).
applyForceAtPoint(double, double, double, double, double, double) - Method in class jsim.dynamics.RigidBody
Apply a world-frame force at a world-frame point.
applyTorque(double, double, double) - Method in class jsim.dynamics.RigidBody
Apply a torque directly (world frame).

B

b - Variable in class jsim.collision.CollisionPair
Second body in the pair.
BAUMGARTE_BETA - Static variable in class jsim.core.SimConstants
Baumgarte positional correction factor.
BLUE - Enum constant in enum class jsim.api.RobotId.Alliance
Blue alliance.
BLUE_1 - Enum constant in enum class jsim.api.RobotId
Blue alliance, driver station 1.
BLUE_2 - Enum constant in enum class jsim.api.RobotId
Blue alliance, driver station 2.
BLUE_3 - Enum constant in enum class jsim.api.RobotId
Blue alliance, driver station 3.
bodyA - Variable in class jsim.collision.ContactPoint
First body (the one pushed in the normal direction).
bodyB - Variable in class jsim.collision.ContactPoint
Second body.
BodyTracker - Class in jsim.api
Lightweight utility for querying and optionally recording the history of a SimBody's pose and velocity over time.
BodyTracker(SimBody) - Constructor for class jsim.api.BodyTracker
Create a tracker with no history retention.
BodyTracker(SimBody, int) - Constructor for class jsim.api.BodyTracker
Create a tracker with bounded history.
BOX - Enum constant in enum class jsim.collision.ColliderShape.Type
Axis-aligned box defined by half-extents.
boxCollider(double, double, double) - Method in class jsim.api.SimBodyBuilder
Attaches a box collider and estimates inertia from mass and half-extents.
BoxCollider - Class in jsim.collision
Axis-aligned-in-body-space box centred at the body's local origin.
BoxCollider(double, double, double) - Constructor for class jsim.collision.BoxCollider
Create a box collider with the given half-extents.
BroadPhase - Class in jsim.collision
O(n²) AABB sweep broadphase.
build(Supplier<ChassisSpeeds>, Supplier<Pose2d>) - Method in class jsim.wpilib.SimulatedField.Builder
Build the SimulatedField subsystem.

C

CARPET - Static variable in class jsim.material.Material
High-friction carpet (typical FRC field surface).
clearAccumulators() - Method in class jsim.dynamics.RigidBody
Zero out force and torque accumulators.
collider - Variable in class jsim.dynamics.RigidBody
Collision shape attached to this body, or null for no collision.
collider(ColliderShape) - Method in class jsim.api.SimBodyBuilder
Attaches a custom collider shape.
ColliderShape - Class in jsim.collision
A collision shape attached to a rigid body.
ColliderShape() - Constructor for class jsim.collision.ColliderShape
 
ColliderShape.Type - Enum Class in jsim.collision
Shape type tag for fast dispatch in narrowphase.
CollisionPair - Class in jsim.collision
A candidate pair of bodies returned by broadphase for narrowphase evaluation.
CollisionPair(RigidBody, RigidBody) - Constructor for class jsim.collision.CollisionPair
Create a collision pair from two bodies.
combine(Material, Material) - Static method in class jsim.material.MaterialCombiner
Convenience: produce a new Material from two surfaces.
combinedFriction - Variable in class jsim.collision.ContactPoint
Combined friction coefficient (dimensionless), filled in by the constraint builder.
combinedRestitution - Variable in class jsim.collision.ContactPoint
Combined restitution coefficient (dimensionless), filled in by the constraint builder.
combineFriction(Material, Material) - Static method in class jsim.material.MaterialCombiner
Combined coefficient of kinetic friction for a pair of surfaces.
combineRestitution(Material, Material) - Static method in class jsim.material.MaterialCombiner
Combined coefficient of restitution for a pair of surfaces.
computeAABB(Pose3d, double[]) - Method in class jsim.collision.BoxCollider
 
computeAABB(Pose3d, double[]) - Method in class jsim.collision.ColliderShape
Compute the world-space AABB of this shape given the body's pose.
computeAABB(Pose3d, double[]) - Method in class jsim.collision.PlaneCollider
 
computeAABB(Pose3d, double[]) - Method in class jsim.collision.SphereCollider
 
contact - Variable in class jsim.solver.ContactConstraint
The contact point this constraint was built for.
ContactConstraint - Class in jsim.solver
Pre-computed data for a single contact constraint, cached before the solver iterates so that the inner loop contains only arithmetic.
ContactConstraint(ContactPoint) - Constructor for class jsim.solver.ContactConstraint
Create a constraint pre-computed from the given contact point.
ContactPoint - Class in jsim.collision
A single contact between two rigid bodies.
ContactPoint() - Constructor for class jsim.collision.ContactPoint
contactX - Variable in class jsim.collision.ContactPoint
World-space contact point (midpoint of overlap region), in metres.
contactY - Variable in class jsim.collision.ContactPoint
World-space contact point (midpoint of overlap region), in metres.
contactZ - Variable in class jsim.collision.ContactPoint
World-space contact point (midpoint of overlap region), in metres.
createGripper(SimBody, Translation3d) - Method in class jsim.field.FieldSimulator
Create a GamePieceGripper that mounts on robot at intakeOffset (in robot-local frame).
cross(double[], double[]) - Static method in class jsim.core.Vec3
Returns the cross product a × b.

D

DEFAULT - Static variable in class jsim.material.Material
General-purpose material with moderate friction and low restitution.
DEFAULT_DT - Static variable in class jsim.core.SimConstants
Default fixed timestep in seconds (20 ms = 50 Hz, matching FRC robot loop).
DEFAULT_SOLVER_ITERATIONS - Static variable in class jsim.core.SimConstants
Impulse solver iteration count per tick.
diagonal(double, double, double) - Static method in class jsim.core.Mat3
Returns a diagonal 3x3 matrix with the given diagonal elements.
dot(double[], double[]) - Static method in class jsim.core.Vec3
Returns the dot product a · b.
DragForce - Class in jsim.forces
Velocity-proportional linear drag applied to a single body.
DragForce(RigidBody, double, double) - Constructor for class jsim.forces.DragForce
Create a drag force applied to the given body.
DYNAMIC - Static variable in class jsim.dynamics.RigidBodyFlags
Body responds to forces and collisions (default for dynamic objects).

E

eject(double, double, double) - Method in class jsim.field.GamePieceGripper
Eject the held piece with a custom world-frame velocity.
ejectPiece() - Method in class jsim.wpilib.SimulatedField
Eject the held game piece forward in the robot's heading direction with an upward loft.

F

FieldLayout - Class in jsim.field
Utility for populating a SimWorld with FRC field geometry: a carpet floor and four perimeter wall planes.
FieldLoader - Class in jsim.field
Loads a JSim field definition from a JSON resource or file, producing a fully-configured FieldSimulator that includes: the correct perimeter walls for the field dimensions declared in the JSON, static obstacle hitboxes (reef structures, scoring targets, etc.), and pre-spawned game pieces at their starting positions.
FieldSimulator - Class in jsim.field
High-level FRC field simulator that combines a SimWorld with pre-built field geometry and game-piece management tailored to AdvantageScope integration.
FieldSimulator() - Constructor for class jsim.field.FieldSimulator
Create a simulator with the standard FRC field (16.46 m × 8.23 m) and the default 20 ms fixed timestep.
FieldSimulator(double) - Constructor for class jsim.field.FieldSimulator
Create a simulator with the standard FRC field and a custom fixed timestep.
FieldSimulator(double, double, double) - Constructor for class jsim.field.FieldSimulator
Create a simulator with a custom field size and timestep.
findBody(String) - Method in class jsim.api.SimWorld
Find the first body with the given name, or null if none.
findPairs(List<RigidBody>, List<CollisionPair>) - Static method in class jsim.collision.BroadPhase
Return all body pairs whose cached AABBs overlap.
findRobot(RobotId) - Method in class jsim.api.SimWorld
Find the robot body registered with the given alliance-station identity, or null if no body was added with that RobotId.
FIXED_ROTATION - Static variable in class jsim.dynamics.RigidBodyFlags
Body does not rotate (infinite rotational inertia).
fixedRotation() - Method in class jsim.api.SimBodyBuilder
Prevents rotational integration, keeping orientation constant.
flags - Variable in class jsim.dynamics.RigidBody
Bitmask of RigidBodyFlags.
ForceGenerator - Interface in jsim.forces
A source of continuous force or torque applied to one or more bodies each tick.
forceX - Variable in class jsim.dynamics.RigidBody
Net force X component accumulated this tick (N).
forceY - Variable in class jsim.dynamics.RigidBody
Net force Y component accumulated this tick (N).
forceZ - Variable in class jsim.dynamics.RigidBody
Net force Z component accumulated this tick (N).
FRC_LENGTH_M - Static variable in class jsim.field.FieldLayout
FRC 2025/2026 field length (blue to red) in metres (54 ft).
FRC_WIDTH_M - Static variable in class jsim.field.FieldLayout
FRC 2025/2026 field width in metres (27 ft).
friction - Variable in class jsim.material.Material
Coefficient of kinetic friction.
fromFile(Path) - Static method in class jsim.field.FieldLoader
Load a field definition from a JSON file on disk.
fromQuaternion(double, double, double, double) - Static method in class jsim.core.Mat3
Build rotation matrix from unit quaternion (w, x, y, z).
fromResource(String) - Static method in class jsim.field.FieldLoader
Load a bundled field definition by short name, e.g.
fromTranslation(Translation3d) - Static method in class jsim.core.Vec3
Converts a Translation3d to a raw double array.

G

GamePiece - Class in jsim.field
A dynamic game piece backed by a SimBody, with a named variant that maps to an AdvantageScope gamepiece model (e.g.
GamePieceGripper - Class in jsim.field
Attaches a GamePiece to a robot body's intake point so it is carried rigidly in robot-local space each tick.
generateContacts(List<CollisionPair>, List<ContactPoint>) - Static method in class jsim.collision.NarrowPhase
Populate contacts from each CollisionPair.
getAABB() - Method in class jsim.api.SimBody
Return the 6-element world-space AABB [minX,minY,minZ,maxX,maxY,maxZ] in metres.
getActuator() - Method in class jsim.api.SimBody
The actuator belonging to this body.
getAllGamePiecePoses() - Method in class jsim.field.FieldSimulator
Return all game piece poses grouped by variant.
getAngularVelocity() - Method in class jsim.api.SimBody
 
getAngularVelocity() - Method in class jsim.dynamics.RigidBody
 
getBodies() - Method in class jsim.api.SimWorld
Read-only list of all registered bodies in insertion order.
getBodies() - Method in class jsim.core.PhysicsWorld
Read-only view of all bodies for sensors/tracking.
getBody() - Method in class jsim.field.GamePiece
The underlying physics body.
getCollider() - Method in class jsim.api.SimBody
 
getFieldSimulator() - Method in class jsim.wpilib.SimulatedField
Returns the underlying FieldSimulator for advanced use — spawning additional game pieces, custom force generators, sensors, etc.
getGamePiecePoses(String) - Method in class jsim.field.FieldSimulator
Return the current Pose3d of every game piece matching variant.
getGamePieces() - Method in class jsim.field.FieldSimulator
Unmodifiable view of all game pieces currently in the simulation.
getHeld() - Method in class jsim.field.GamePieceGripper
 
getId() - Method in class jsim.api.SimBody
 
getId() - Method in class jsim.dynamics.RigidBody
 
getLinearVelocity() - Method in class jsim.api.SimBody
 
getLinearVelocity() - Method in class jsim.dynamics.RigidBody
 
getLinearVelocity() - Method in class jsim.field.GamePiece
 
getMass() - Method in class jsim.api.SimBody
 
getMaterial() - Method in class jsim.api.SimBody
 
getName() - Method in class jsim.api.SimBody
 
getPose() - Method in class jsim.api.BodyTracker
Latest recorded pose (updated by BodyTracker.update()).
getPose() - Method in class jsim.api.SimBody
 
getPose() - Method in class jsim.dynamics.RigidBody
 
getPose() - Method in class jsim.field.GamePiece
 
getPoseHistory() - Method in class jsim.api.BodyTracker
Ordered list of past poses, oldest first (empty if maxHistory == 0).
getPosition() - Method in class jsim.api.SimBody
 
getRobotId() - Method in class jsim.api.SimBody
The FRC alliance-station identity of this body, or null if it was not registered with SimBodyBuilder.robotId(RobotId).
getRotation() - Method in class jsim.api.SimBody
 
getSpeed() - Method in class jsim.api.BodyTracker
Latest recorded speed.
getSpeed() - Method in class jsim.api.SimBody
 
getTarget() - Method in class jsim.api.BodyTracker
The body being tracked.
getTimestep() - Method in class jsim.api.SimWorld
The fixed timestep this world was configured with (seconds).
getTotalDistance() - Method in class jsim.api.BodyTracker
Total distance travelled since construction.
getType() - Method in class jsim.collision.BoxCollider
 
getType() - Method in class jsim.collision.ColliderShape
The shape type of this collider.
getType() - Method in class jsim.collision.PlaneCollider
 
getType() - Method in class jsim.collision.SphereCollider
 
getVariant() - Method in class jsim.field.GamePiece
AdvantageScope gamepiece variant name.
getVelocity() - Method in class jsim.api.BodyTracker
Latest recorded linear velocity.
getVelocityHistory() - Method in class jsim.api.BodyTracker
Ordered list of past linear velocities, oldest first.
getWorld() - Method in class jsim.field.FieldSimulator
Direct access to the underlying SimWorld for advanced use — custom force generators, additional bodies, sensors, etc.
grab(GamePiece) - Method in class jsim.field.GamePieceGripper
Attach a game piece to this gripper.
GRAVITY_X - Static variable in class jsim.core.SimConstants
Default gravity vector X component (m/s²); zero for FRC field convention.
GRAVITY_Y - Static variable in class jsim.core.SimConstants
Default gravity vector Y component (m/s²); zero for FRC field convention.
GRAVITY_Z - Static variable in class jsim.core.SimConstants
Default gravity vector Z component (m/s²); negative Z = downward, FRC field convention.
GravityForce - Class in jsim.forces
Applies gravitational acceleration to all dynamic, non-static bodies.
GravityForce(List<RigidBody>) - Constructor for class jsim.forces.GravityForce
Default gravity pointing in −Z (WPILib field convention).
GravityForce(List<RigidBody>, double, double, double) - Constructor for class jsim.forces.GravityForce
Gravity with a custom acceleration vector.

H

halfX - Variable in class jsim.collision.BoxCollider
Half-extents along each body-local axis (metres).
halfY - Variable in class jsim.collision.BoxCollider
Half-extents along each body-local axis (metres).
halfZ - Variable in class jsim.collision.BoxCollider
Half-extents along each body-local axis (metres).

I

iBodyXX - Variable in class jsim.dynamics.RigidBody
Body-frame diagonal inertia tensor components (kg·m²).
iBodyYY - Variable in class jsim.dynamics.RigidBody
Body-frame diagonal inertia tensor components (kg·m²).
iBodyZZ - Variable in class jsim.dynamics.RigidBody
Body-frame diagonal inertia tensor components (kg·m²).
ICE - Static variable in class jsim.material.Material
Low-friction icy surface.
id - Variable in class jsim.dynamics.RigidBody
World-assigned unique ID, set by PhysicsWorld on registration.
identity() - Static method in class jsim.core.Mat3
Returns the 3x3 identity matrix as a 9-element row-major array.
ImpulseSolver - Class in jsim.solver
Sequential impulse (Projected Gauss-Seidel) constraint solver.
ImpulseSolver() - Constructor for class jsim.solver.ImpulseSolver
Create a solver with the default iteration count.
ImpulseSolver(int) - Constructor for class jsim.solver.ImpulseSolver
Create a solver with a custom iteration count.
inertia(double, double, double) - Method in class jsim.api.SimBodyBuilder
Set diagonal body-frame inertia tensor components (kg·m²).
intakeNearest() - Method in class jsim.wpilib.SimulatedField
Grab the closest free game piece within intake range.
invert(double[]) - Static method in class jsim.core.Mat3
Invert a 3x3 matrix using Cramer's rule.
invIWorld - Variable in class jsim.dynamics.RigidBody
World-frame inverse inertia tensor (3x3 row-major).
invMass - Variable in class jsim.dynamics.RigidBody
1/mass.
isAtRest(LinearVelocity) - Method in class jsim.api.BodyTracker
Whether the body is nearly stationary (speed below threshold).
isHeld() - Method in class jsim.field.GamePiece
Whether this game piece is currently attached to a GamePieceGripper.
isHolding() - Method in class jsim.field.GamePieceGripper
 
isRobot() - Method in class jsim.api.SimBody
true if this body was created with an alliance-station identity.
isSet(int, int) - Static method in class jsim.dynamics.RigidBodyFlags
Test whether a specific flag bit is set in a bitmask.
isStatic() - Method in class jsim.api.SimBody
 
isStatic() - Method in class jsim.api.SimBodyBuilder
Marks the body as static (infinite mass, never moved by the solver).
isStatic() - Method in class jsim.dynamics.RigidBody
Whether this body participates as an infinite-mass static wall.

J

jsim.api - package jsim.api
 
jsim.collision - package jsim.collision
 
jsim.core - package jsim.core
 
jsim.dynamics - package jsim.dynamics
 
jsim.field - package jsim.field
 
jsim.forces - package jsim.forces
 
jsim.material - package jsim.material
 
jsim.solver - package jsim.solver
 
jsim.wpilib - package jsim.wpilib
 

L

length(double[]) - Static method in class jsim.core.Vec3
Returns the length of a.
lengthSq(double[]) - Static method in class jsim.core.Vec3
Returns the squared length of a.
linearVelocity(double, double, double) - Method in class jsim.api.SimBodyBuilder
Sets the initial linear velocity of the body.

M

MagnusForce - Class in jsim.forces
Magnus force for spinning projectiles: F_magnus = k · (ω × v).
MagnusForce(RigidBody, double) - Constructor for class jsim.forces.MagnusForce
Create a Magnus force generator for the given body.
mass(double) - Method in class jsim.api.SimBodyBuilder
Sets the mass of the body in kilograms.
mass(Mass) - Method in class jsim.api.SimBodyBuilder
Sets the mass of the body from a WPILib Mass measure.
Mat3 - Class in jsim.core
Internal row-major 3x3 matrix math for deterministic physics.
material - Variable in class jsim.dynamics.RigidBody
Surface material used for collision response.
material(Material) - Method in class jsim.api.SimBodyBuilder
Sets the surface material used for contact response.
Material - Class in jsim.material
Physical surface properties for collision response.
Material(double, double) - Constructor for class jsim.material.Material
Create a material with the given friction and restitution coefficients.
MaterialCombiner - Class in jsim.material
Combines two surface materials into a single contact response.
mul(double[], double[]) - Static method in class jsim.core.Mat3
Multiply two 3x3 row-major matrices (a * b).
mulVec(double[], double[]) - Static method in class jsim.core.Mat3
Multiply a 3x3 matrix by a 3-vector (m * v).

N

name - Variable in class jsim.dynamics.RigidBody
Human-readable label for debugging.
NarrowPhase - Class in jsim.collision
Generates ContactPoints from broadphase candidate pairs.
negate(double[]) - Static method in class jsim.core.Vec3
Returns -a as a new vector.
NO_COLLISION - Static variable in class jsim.dynamics.RigidBodyFlags
Body does not participate in collision detection or response.
NO_GRAVITY - Static variable in class jsim.dynamics.RigidBodyFlags
Body is not affected by gravity.
noCollision() - Method in class jsim.api.SimBodyBuilder
Disables collision detection for this body.
noGravity() - Method in class jsim.api.SimBodyBuilder
Disables gravity for this body.
normalBias - Variable in class jsim.solver.ContactConstraint
Baumgarte bias velocity for penetration correction (m/s).
normalEffMass - Variable in class jsim.solver.ContactConstraint
Effective inverse mass along the contact normal (kg⁻¹).
normalize(double[]) - Static method in class jsim.core.Vec3
Returns a unit vector in the direction of a, or zero if a is near-zero.
normalizeQuaternion() - Method in class jsim.dynamics.RigidBody
Re-normalize the orientation quaternion (guards against drift).
normalX - Variable in class jsim.collision.ContactPoint
World-space contact normal (unit vector, dimensionless, points A←B).
normalY - Variable in class jsim.collision.ContactPoint
World-space contact normal (unit vector, dimensionless, points A←B).
normalZ - Variable in class jsim.collision.ContactPoint
World-space contact normal (unit vector, dimensionless, points A←B).
nx - Variable in class jsim.collision.PlaneCollider
Outward normal in body-local space (should be unit length).
ny - Variable in class jsim.collision.PlaneCollider
Outward normal in body-local space (should be unit length).
nz - Variable in class jsim.collision.PlaneCollider
Outward normal in body-local space (should be unit length).

O

of(double, double, double) - Static method in class jsim.core.Vec3
Returns a new vector [x, y, z].
of(String) - Static method in class jsim.wpilib.SimulatedField
Entry point for the builder API when non-default robot or intake geometry is needed.
of(RobotId.Alliance, int) - Static method in enum class jsim.api.RobotId
Look up a RobotId from an alliance and station number.
offset - Variable in class jsim.collision.PlaneCollider
Signed distance from the body origin to the plane surface along the normal.
omX - Variable in class jsim.dynamics.RigidBody
Angular velocity X component in world frame (rad/s).
omY - Variable in class jsim.dynamics.RigidBody
Angular velocity Y component in world frame (rad/s).
omZ - Variable in class jsim.dynamics.RigidBody
Angular velocity Z component in world frame (rad/s).

P

penetration - Variable in class jsim.collision.ContactPoint
Penetration depth (positive = overlapping), in metres.
PENETRATION_SLOP - Static variable in class jsim.core.SimConstants
Minimum penetration before positional correction is applied (slop).
PhysicsWorld - Class in jsim.core
The central simulation world.
PhysicsWorld() - Constructor for class jsim.core.PhysicsWorld
Creates a world with default solver iteration count.
PhysicsWorld(int) - Constructor for class jsim.core.PhysicsWorld
Creates a world with the given solver iteration count.
PLANE - Enum constant in enum class jsim.collision.ColliderShape.Type
Infinite half-space defined by a normal and offset.
planeCollider(double, double, double, double) - Method in class jsim.api.SimBodyBuilder
Infinite half-space floor/wall.
PlaneCollider - Class in jsim.collision
Infinite half-space collider.
PlaneCollider(double, double, double, double) - Constructor for class jsim.collision.PlaneCollider
Create an infinite half-space plane collider.
pose(Pose3d) - Method in class jsim.api.SimBodyBuilder
Sets the initial pose (position + rotation) of the body.
position(double, double, double) - Method in class jsim.api.SimBodyBuilder
Sets the initial position of the body in world space.
posX - Variable in class jsim.dynamics.RigidBody
Position X coordinate in world frame (metres).
posY - Variable in class jsim.dynamics.RigidBody
Position Y coordinate in world frame (metres).
posZ - Variable in class jsim.dynamics.RigidBody
Position Z coordinate in world frame (metres).

Q

qW - Variable in class jsim.dynamics.RigidBody
Orientation quaternion W component.
qX - Variable in class jsim.dynamics.RigidBody
Orientation quaternion X component.
qY - Variable in class jsim.dynamics.RigidBody
Orientation quaternion Y component.
qZ - Variable in class jsim.dynamics.RigidBody
Orientation quaternion Z component.

R

radius - Variable in class jsim.collision.SphereCollider
Radius of the sphere in metres.
rAx - Variable in class jsim.solver.ContactConstraint
Vector from body A's CoM to the contact point, world frame (metres).
rAy - Variable in class jsim.solver.ContactConstraint
Vector from body A's CoM to the contact point, world frame (metres).
rAz - Variable in class jsim.solver.ContactConstraint
Vector from body A's CoM to the contact point, world frame (metres).
rBx - Variable in class jsim.solver.ContactConstraint
Vector from body B's CoM to the contact point, world frame (metres).
rBy - Variable in class jsim.solver.ContactConstraint
Vector from body B's CoM to the contact point, world frame (metres).
rBz - Variable in class jsim.solver.ContactConstraint
Vector from body B's CoM to the contact point, world frame (metres).
RED - Enum constant in enum class jsim.api.RobotId.Alliance
Red alliance.
RED_1 - Enum constant in enum class jsim.api.RobotId
Red alliance, driver station 1.
RED_2 - Enum constant in enum class jsim.api.RobotId
Red alliance, driver station 2.
RED_3 - Enum constant in enum class jsim.api.RobotId
Red alliance, driver station 3.
refreshWorldInertia() - Method in class jsim.dynamics.RigidBody
Recompute invIWorld from current orientation and body-frame inertia.
release() - Method in class jsim.field.GamePieceGripper
Release the held piece, giving it the robot's current linear velocity.
removeBody(SimBody) - Method in class jsim.api.SimWorld
Remove a previously added body from the simulation.
removeBody(RigidBody) - Method in class jsim.core.PhysicsWorld
Remove a body from the world.
removeForceGenerator(ForceGenerator) - Method in class jsim.api.SimWorld
Unregister a previously added force generator.
removeForceGenerator(ForceGenerator) - Method in class jsim.core.PhysicsWorld
Unregister a previously added force generator.
removeGamePiece(GamePiece) - Method in class jsim.field.FieldSimulator
Remove a game piece from the simulation, releasing it from any gripper that holds it first.
reset() - Method in class jsim.api.BodyTracker
Reset accumulated distance and clear history.
restitution - Variable in class jsim.material.Material
Coefficient of restitution (0 = perfectly inelastic, 1 = perfectly elastic).
RESTITUTION_VELOCITY_THRESHOLD - Static variable in class jsim.core.SimConstants
Relative velocity below this is treated as resting contact (no restitution).
restitutionBias - Variable in class jsim.solver.ContactConstraint
Restitution target velocity used on the first solver iteration (m/s).
RigidBody - Class in jsim.dynamics
A single rigid body in the simulation.
RigidBody(String, int, Material) - Constructor for class jsim.dynamics.RigidBody
Create a rigid body with the given name, flags, and surface material.
RigidBodyFlags - Class in jsim.dynamics
Bit-flag constants that control how a body participates in the simulation.
robotId(RobotId) - Method in class jsim.api.SimBodyBuilder
Tag this body as an FRC robot at the given alliance station.
RobotId - Enum Class in jsim.api
Identifies a robot by its FRC alliance and driver-station number (1–3).
RobotId.Alliance - Enum Class in jsim.api
FRC alliance color.
rotateInertia(double[], double, double, double) - Static method in class jsim.core.Mat3
Compute R * diag(d0,d1,d2) * R^T efficiently.
rotation(Rotation3d) - Method in class jsim.api.SimBodyBuilder
Sets the initial rotation of the body.
RUBBER - Static variable in class jsim.material.Material
High-friction, high-restitution rubber.

S

scale(double[], double) - Static method in class jsim.core.Vec3
Returns a * s as a new vector.
set(RigidBody, RigidBody, double, double, double, double, double, double, double) - Method in class jsim.collision.ContactPoint
Populate this contact with the given collision data.
setAngularVelocity(double, double, double) - Method in class jsim.api.SimBody
Set the angular velocity from scalar components.
setAngularVelocity(Translation3d) - Method in class jsim.api.SimBody
Set the angular velocity directly from a Translation3d.
setAngularVelocity(Translation3d) - Method in class jsim.dynamics.RigidBody
Set the angular velocity directly.
setForce(double, double, double) - Method in class jsim.forces.ActuatorForce
Set the world-frame force to apply at the body's centre of mass (N).
setForceAtPoint(double, double, double, double, double, double) - Method in class jsim.forces.ActuatorForce
Set the force and its world-space application point (generates torque automatically).
setLinearVelocity(double, double, double) - Method in class jsim.api.SimBody
Set the linear velocity from scalar components.
setLinearVelocity(Translation3d) - Method in class jsim.api.SimBody
Set the linear velocity directly from a Translation3d.
setLinearVelocity(Translation3d) - Method in class jsim.dynamics.RigidBody
Set the linear velocity directly.
setMassProperties(double, double, double, double) - Method in class jsim.dynamics.RigidBody
Set mass and diagonal body-frame inertia tensor.
setMaterial(Material) - Method in class jsim.api.SimBody
Sets the surface material used for contact response.
setPose(Pose3d) - Method in class jsim.api.SimBody
Teleport the body to a new pose (velocities are preserved).
setPose(Pose3d) - Method in class jsim.dynamics.RigidBody
Teleport this body to the given pose and refresh derived state.
setPosition(double, double, double) - Method in class jsim.api.SimBody
Teleport the body to a new position (rotation and velocities are preserved).
setStatic() - Method in class jsim.dynamics.RigidBody
Make this body infinitely massive (static boundary).
setTorque(double, double, double) - Method in class jsim.forces.ActuatorForce
Set the world-frame torque to apply directly (N·m).
SimBody - Class in jsim.api
High-level handle to a simulated rigid body.
SimBodyBuilder - Class in jsim.api
Fluent builder for creating SimBody instances.
SimBodyBuilder(String) - Constructor for class jsim.api.SimBodyBuilder
Creates a builder for a body with the given name.
SimConstants - Class in jsim.core
Simulation-wide constants.
SimulatedField - Class in jsim.wpilib
A WPILib subsystem that runs a JSim FieldSimulator automatically.
SimulatedField(String, Supplier<ChassisSpeeds>, Supplier<Pose2d>) - Constructor for class jsim.wpilib.SimulatedField
Create a SimulatedField with default robot body dimensions (24"×24", 54 kg).
SimulatedField.Builder - Class in jsim.wpilib
Builder for SimulatedField that allows customizing robot body dimensions, mass, and intake geometry.
simulationPeriodic() - Method in class jsim.wpilib.SimulatedField
 
SimWorld - Class in jsim.api
Top-level public API for the JSim physics simulation.
SimWorld() - Constructor for class jsim.api.SimWorld
Creates a world with the default timestep and solver iteration count.
SimWorld(double) - Constructor for class jsim.api.SimWorld
Creates a world with a custom fixed timestep and the default solver iteration count.
SimWorld(double, int) - Constructor for class jsim.api.SimWorld
Creates a world with a custom fixed timestep and solver iteration count.
solve(List<ContactPoint>, double) - Method in class jsim.solver.ImpulseSolver
Build constraint data from contacts, then run iterations solve passes.
spawnGamePiece(String, SimBodyBuilder) - Method in class jsim.field.FieldSimulator
Spawn a game piece in the world.
SPHERE - Enum constant in enum class jsim.collision.ColliderShape.Type
Sphere defined by a radius.
sphereCollider(double) - Method in class jsim.api.SimBodyBuilder
Attaches a sphere collider and estimates inertia from mass and radius.
SphereCollider - Class in jsim.collision
Sphere shape centred at the body's local origin.
SphereCollider(double) - Constructor for class jsim.collision.SphereCollider
Creates a sphere collider with the given radius.
STATIC - Static variable in class jsim.dynamics.RigidBodyFlags
Body has infinite mass and does not move.
station - Variable in enum class jsim.api.RobotId
Driver-station number (1, 2, or 3).
STEEL - Static variable in class jsim.material.Material
Low-friction steel surface.
step() - Method in class jsim.api.SimWorld
Advance the simulation by the fixed timestep configured at construction time.
step() - Method in class jsim.field.FieldSimulator
Advance physics by the configured fixed timestep, then update all active grippers so held pieces track the robot.
step(double) - Method in class jsim.api.SimWorld
Advance by an explicit timestep (useful for tests or variable-rate callers).
step(double) - Method in class jsim.core.PhysicsWorld
Advance the simulation by exactly dt seconds.
sub(double[], double[]) - Static method in class jsim.core.Vec3
Returns a - b as a new vector.

T

tangEffMass - Variable in class jsim.solver.ContactConstraint
Effective inverse mass along the tangent direction (kg⁻¹).
tangX - Variable in class jsim.solver.ContactConstraint
First friction tangent direction, world frame (unit vector).
tangY - Variable in class jsim.solver.ContactConstraint
First friction tangent direction, world frame (unit vector).
tangZ - Variable in class jsim.solver.ContactConstraint
First friction tangent direction, world frame (unit vector).
torqueX - Variable in class jsim.dynamics.RigidBody
Net torque X component accumulated this tick (N·m).
torqueY - Variable in class jsim.dynamics.RigidBody
Net torque Y component accumulated this tick (N·m).
torqueZ - Variable in class jsim.dynamics.RigidBody
Net torque Z component accumulated this tick (N·m).
toString() - Method in enum class jsim.api.RobotId
 
toString() - Method in class jsim.api.SimBody
 
toTranslation(double[]) - Static method in class jsim.core.Vec3
Converts a raw double array to a Translation3d.
transpose(double[]) - Static method in class jsim.core.Mat3
Transpose of a 3x3 row-major matrix.

U

update() - Method in class jsim.api.BodyTracker
Record the body's current state.

V

valueOf(String) - Static method in enum class jsim.api.RobotId.Alliance
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class jsim.api.RobotId
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class jsim.collision.ColliderShape.Type
Returns the enum constant of this class with the specified name.
values() - Static method in enum class jsim.api.RobotId.Alliance
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class jsim.api.RobotId
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class jsim.collision.ColliderShape.Type
Returns an array containing the constants of this enum class, in the order they are declared.
Vec3 - Class in jsim.core
Internal 3-component vector math over raw doubles for deterministic physics.
velX - Variable in class jsim.dynamics.RigidBody
Linear velocity X component in world frame (m/s).
velY - Variable in class jsim.dynamics.RigidBody
Linear velocity Y component in world frame (m/s).
velZ - Variable in class jsim.dynamics.RigidBody
Linear velocity Z component in world frame (m/s).

W

WALL - Static variable in class jsim.material.Material
Infinite-mass static boundary — frictionless, inelastic.
withEjectSpeed(double, double) - Method in class jsim.wpilib.SimulatedField.Builder
Override the eject velocity.
withIntake(double, double, double) - Method in class jsim.wpilib.SimulatedField.Builder
Override the intake geometry.
withRobotMass(double) - Method in class jsim.wpilib.SimulatedField.Builder
Override the robot mass.
withRobotSize(double, double, double) - Method in class jsim.wpilib.SimulatedField.Builder
Override the robot chassis half-extents (metres).
WOOD - Static variable in class jsim.material.Material
Moderate-friction wood surface.

Z

zero() - Method in class jsim.forces.ActuatorForce
Clear all actuator forces and torques (e.g.
A B C D E F G H I J L M N O P Q R S T U V W Z 
All Classes and Interfaces|All Packages|Constant Field Values