Class ReefscapeCoralAlgaeStack

java.lang.Object
org.dyn4j.collision.AbstractCollisionBody<org.dyn4j.dynamics.BodyFixture>
org.dyn4j.dynamics.AbstractPhysicsBody
org.dyn4j.dynamics.Body
org.ironmaple.simulation.gamepieces.GamePieceOnFieldSimulation
org.ironmaple.simulation.seasonspecific.reefscape2025.ReefscapeCoralAlgaeStack
All Implemented Interfaces:
org.dyn4j.collision.CollisionBody<org.dyn4j.dynamics.BodyFixture>, org.dyn4j.DataContainer, org.dyn4j.dynamics.PhysicsBody, org.dyn4j.geometry.Rotatable, org.dyn4j.geometry.Shiftable, org.dyn4j.geometry.Transformable, org.dyn4j.geometry.Translatable, org.dyn4j.Ownable

public class ReefscapeCoralAlgaeStack extends GamePieceOnFieldSimulation

A CORAL-ALGAE stack on the field.

This class represents a CORAL-ALGAE stack, which consists of a standing CORAL with an ALGAE placed on top of it.

Three such stacks are staged on each side of the field before the match begins.

The stacks will collapse if hit, separating into a ReefscapeCoralOnField and a ReefscapeAlgaeOnField.

Intakes can also grab a Coral and/or an Algae from the stack.

To visualize these stacks, use getStackedAlgaePoses() and getStackedCoralPoses() to retrieve the positions of the coral and algae in the stacks, and display them through AScope.

  • Nested Class Summary

    Nested classes/interfaces inherited from class org.ironmaple.simulation.gamepieces.GamePieceOnFieldSimulation

    GamePieceOnFieldSimulation.GamePieceInfo
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     

    Fields inherited from class org.ironmaple.simulation.gamepieces.GamePieceOnFieldSimulation

    COEFFICIENT_OF_FRICTION, MINIMUM_BOUNCING_VELOCITY, type

    Fields inherited from class org.dyn4j.dynamics.AbstractPhysicsBody

    angularDamping, angularVelocity, atRest, atRestDetectionEnabled, atRestTime, bullet, force, forces, gravityScale, linearDamping, linearVelocity, mass, torque, torques

    Fields inherited from class org.dyn4j.collision.AbstractCollisionBody

    enabled, fixtureModificationHandler, fixtures, fixturesUnmodifiable, owner, radius, transform, transform0, userData

    Fields inherited from interface org.dyn4j.collision.CollisionBody

    TYPICAL_FIXTURE_COUNT

    Fields inherited from interface org.dyn4j.dynamics.PhysicsBody

    DEFAULT_ANGULAR_DAMPING, DEFAULT_LINEAR_DAMPING
  • Constructor Summary

    Constructors
    Constructor
    Description
     
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static List<Pose3d>
    Retrieves the positions of the Algae pieces in all stacks.
    static List<Pose3d>
     
    static List<Pose3d>
    Retrieves the positions of the Coral pieces in all stacks.
    static List<Pose3d>
     
    void
    onIntake(String intakeTargetGamePieceType)
     

    Methods inherited from class org.ironmaple.simulation.gamepieces.GamePieceOnFieldSimulation

    getPose3d, getPoseOnField, setVelocity

    Methods inherited from class org.dyn4j.dynamics.AbstractPhysicsBody

    accumulate, addFixture, addFixture, addFixture, applyForce, applyForce, applyForce, applyImpulse, applyImpulse, applyImpulse, applyTorque, applyTorque, clearAccumulatedForce, clearAccumulatedTorque, clearForce, clearTorque, computeSweptAABB, computeSweptAABB, createSweptAABB, createSweptAABB, getAccumulatedForce, getAccumulatedTorque, getAngularDamping, getAngularVelocity, getChangeInOrientation, getChangeInPosition, getForce, getGravityScale, getLinearDamping, getLinearVelocity, getLinearVelocity, getLocalCenter, getMass, getTorque, getWorldCenter, integratePosition, integrateVelocity, isAtRest, isAtRestDetectionEnabled, isBullet, isDynamic, isKinematic, isStatic, removeAllFixtures, removeFixture, removeFixture, removeFixture, removeFixtures, setAngularDamping, setAngularVelocity, setAtRest, setAtRestDetectionEnabled, setBullet, setEnabled, setGravityScale, setLinearDamping, setLinearVelocity, setLinearVelocity, setMass, setMass, setMassType, toString, updateAtRestTime, updateMass

    Methods inherited from class org.dyn4j.collision.AbstractCollisionBody

    addFixture, computeAABB, computeAABB, contains, containsFixture, createAABB, createAABB, getFixture, getFixture, getFixtureCount, getFixtureIterator, getFixtureModificationHandler, getFixtures, getFixtures, getLocalPoint, getLocalVector, getOwner, getPreviousTransform, getRotationDiscRadius, getTransform, getUserData, getWorldPoint, getWorldVector, isEnabled, rotate, rotate, rotate, rotate, rotate, rotate, rotateAboutCenter, setFixtureModificationHandler, setOwner, setRotationDiscRadius, setTransform, setUserData, shift, translate, translate, translateToOrigin

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.dyn4j.collision.CollisionBody

    addFixture, addFixture, computeAABB, computeAABB, contains, containsFixture, createAABB, createAABB, getFixture, getFixture, getFixtureCount, getFixtureIterator, getFixtureModificationHandler, getFixtures, getFixtures, getLocalCenter, getLocalPoint, getLocalVector, getPreviousTransform, getRotationDiscRadius, getTransform, getWorldCenter, getWorldPoint, getWorldVector, isEnabled, removeAllFixtures, removeFixture, removeFixture, removeFixture, removeFixtures, rotateAboutCenter, setEnabled, setFixtureModificationHandler, setTransform, translateToOrigin

    Methods inherited from interface org.dyn4j.DataContainer

    getUserData, setUserData

    Methods inherited from interface org.dyn4j.Ownable

    getOwner, setOwner

    Methods inherited from interface org.dyn4j.dynamics.PhysicsBody

    addFixture, addFixture, applyForce, applyForce, applyForce, applyImpulse, applyImpulse, applyImpulse, applyTorque, applyTorque, clearAccumulatedForce, clearAccumulatedTorque, clearForce, clearTorque, computeSweptAABB, computeSweptAABB, createSweptAABB, createSweptAABB, getAccumulatedForce, getAccumulatedTorque, getAngularDamping, getAngularVelocity, getChangeInOrientation, getChangeInPosition, getForce, getGravityScale, getLinearDamping, getLinearVelocity, getLinearVelocity, getMass, getTorque, integratePosition, integrateVelocity, isAtRest, isAtRestDetectionEnabled, isBullet, isDynamic, isKinematic, isStatic, setAngularDamping, setAngularVelocity, setAtRest, setAtRestDetectionEnabled, setBullet, setGravityScale, setLinearDamping, setLinearVelocity, setLinearVelocity, setMass, setMass, setMassType, updateAtRestTime, updateMass

    Methods inherited from interface org.dyn4j.geometry.Rotatable

    rotate, rotate, rotate, rotate, rotate, rotate

    Methods inherited from interface org.dyn4j.geometry.Shiftable

    shift

    Methods inherited from interface org.dyn4j.geometry.Translatable

    translate, translate
  • Field Details

  • Constructor Details

    • ReefscapeCoralAlgaeStack

      public ReefscapeCoralAlgaeStack(Translation2d initialPosition)
    • ReefscapeCoralAlgaeStack

      public ReefscapeCoralAlgaeStack(Translation2d initialPosition, SimulatedArena arena)
  • Method Details

    • getStackedCoralPoses

      public static List<Pose3d> getStackedCoralPoses()

      Retrieves the positions of the Coral pieces in all stacks.

      Returns:
      list of Pose3d representing the positions of the Coral pieces in all stacks in the arena
    • getStackedCoralPoses

      public static List<Pose3d> getStackedCoralPoses(SimulatedArena arena)
    • getStackedAlgaePoses

      public static List<Pose3d> getStackedAlgaePoses()

      Retrieves the positions of the Algae pieces in all stacks.

      Returns:
      a list of Pose3d representing the positions of the Algae pieces in all stacks in the arena
    • getStackedAlgaePoses

      public static List<Pose3d> getStackedAlgaePoses(SimulatedArena arena)
      See Also:
    • onIntake

      public void onIntake(String intakeTargetGamePieceType)
      Overrides:
      onIntake in class GamePieceOnFieldSimulation