Class MARSPhysicsWorld

java.lang.Object
com.marslib.simulation.MARSPhysicsWorld

public class MARSPhysicsWorld extends Object
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 Details

    • getInstance

      public static MARSPhysicsWorld 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

      public void registerMechanismBody(String name, org.dyn4j.dynamics.Body body)
    • 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()