Package com.marslib.simulation
Class MARSPhysicsWorld
java.lang.Object
com.marslib.simulation.MARSPhysicsWorld
Singleton 2D physics world managing all rigid-body interactions on the FRC field.
This class acts as an adapter, owning the maple-sim Arena2026Rebuilt instance and is
responsible for:
- Initializing the field boundaries and obstacles via maple-sim.
- Stepping the physics simulation and computing battery voltage sag.
- Exporting all body poses to AdvantageKit for 3D visualization.
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddCustomSimulation(org.ironmaple.simulation.SimulatedArena.Simulatable simulatable) voidaddFrameCurrentDrawAmps(double amps) org.ironmaple.simulation.seasonspecific.rebuilt2026.Arena2026RebuiltgetArena()Return the underlying maple-sim Arena2026Rebuilt instance.intorg.dyn4j.world.World<org.dyn4j.dynamics.Body>static MARSPhysicsWorlddoubleorg.dyn4j.world.World<org.dyn4j.dynamics.Body>getWorld()voidregisterMechanismBody(String name, org.dyn4j.dynamics.Body body) static voidvoidupdate(double dtSeconds)
-
Method Details
-
getInstance
-
resetInstance
public static void resetInstance() -
getDyn4jWorld
public org.dyn4j.world.World<org.dyn4j.dynamics.Body> getDyn4jWorld() -
getBodyCount
public int getBodyCount() -
getArena
public org.ironmaple.simulation.seasonspecific.rebuilt2026.Arena2026Rebuilt getArena()Return the underlying maple-sim Arena2026Rebuilt instance. -
getWorld
public org.dyn4j.world.World<org.dyn4j.dynamics.Body> getWorld() -
registerMechanismBody
-
addFrameCurrentDrawAmps
public void addFrameCurrentDrawAmps(double amps) -
addCustomSimulation
public void addCustomSimulation(org.ironmaple.simulation.SimulatedArena.Simulatable simulatable) -
update
public void update(double dtSeconds) -
getSimulatedVoltage
public double getSimulatedVoltage()
-