Index
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 + bas 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
SimBodyhandle. - 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
DragForcefor 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
MagnusForcefor 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 * sintoain-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
SimulatedFieldsubsystem.
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
nullfor 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
Materialfrom 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
-
Creates an unpopulated contact point; call
ContactPoint.set(jsim.dynamics.RigidBody, jsim.dynamics.RigidBody, double, double, double, double, double, double, double)to fill it in. - 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
- 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
SimWorldwith 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
FieldSimulatorthat 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
SimWorldwith 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
nullif 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
nullif no body was added with thatRobotId. - 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
Translation3dto 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
GamePieceto 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
contactsfrom eachCollisionPair. - 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
FieldSimulatorfor advanced use — spawning additional game pieces, custom force generators, sensors, etc. - getGamePiecePoses(String) - Method in class jsim.field.FieldSimulator
-
Return the current
Pose3dof every game piece matchingvariant. - 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
nullif it was not registered withSimBodyBuilder.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
SimWorldfor 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
-
trueif 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
Massmeasure. - 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
-aas 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 ifais 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
RobotIdfrom 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 * sas 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
SimBodyinstances. - 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
FieldSimulatorautomatically. - SimulatedField(String, Supplier<ChassisSpeeds>, Supplier<Pose2d>) - Constructor for class jsim.wpilib.SimulatedField
-
Create a
SimulatedFieldwith default robot body dimensions (24"×24", 54 kg). - SimulatedField.Builder - Class in jsim.wpilib
-
Builder for
SimulatedFieldthat 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
iterationssolve 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
dtseconds. - sub(double[], double[]) - Static method in class jsim.core.Vec3
-
Returns
a - bas 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.
All Classes and Interfaces|All Packages|Constant Field Values