Class CounterWeightGarageDoorAnimationComponent

java.lang.Object
nl.pim16aap2.animatedarchitecture.structures.garagedoor.CounterWeightGarageDoorAnimationComponent
All Implemented Interfaces:
IAnimationComponent
Direct Known Subclasses:
SectionalGarageDoorAnimationComponent

public class CounterWeightGarageDoorAnimationComponent extends Object implements IAnimationComponent
Represents a Animator for GarageDoors.
  • Field Details

    • snapshot

      protected final StructureSnapshot snapshot
    • rotationPoint

      protected final Vector3Di rotationPoint
    • northSouth

      protected final boolean northSouth
    • oldCuboid

      protected final Cuboid oldCuboid
    • mergedCuboid

      protected final Cuboid mergedCuboid
    • mergedCuboidRadius

      protected final double mergedCuboidRadius
    • newCuboid

      protected final Cuboid newCuboid
    • player

      protected final IPlayer player
    • rotator

      protected final TriFunction<Vector3Dd,IVector3D,Double,Vector3Dd> rotator
    • animationDirectionFace

      protected final BlockFace animationDirectionFace
    • directionVec

      protected final Vector3Di directionVec
    • rotationCenter

      protected final Vector3Dd rotationCenter
    • wasVertical

      protected final boolean wasVertical
    • angle

      protected final double angle
  • Constructor Details

  • Method Details

    • getGoalPos

      protected RotatedPosition getGoalPos(double angle, IAnimatedBlock animatedBlock)
    • executeAnimationStep

      public void executeAnimationStep(IAnimator animator, Iterable<IAnimatedBlock> animatedBlocks, int ticks)
      Description copied from interface: IAnimationComponent
      Runs a single step of the animation.
      Specified by:
      executeAnimationStep in interface IAnimationComponent
      Parameters:
      animator - The animator responsible for the animation.
      animatedBlocks - The animated blocks for which to execute the animation step.
      ticks - The number of ticks that have passed since the start of the animation.
    • getFinalPosition

      public RotatedPosition getFinalPosition(int xAxis, int yAxis, int zAxis)
      Description copied from interface: IAnimationComponent
      Calculates the final position from the original coordinates of the block that will be animated.
      Specified by:
      getFinalPosition in interface IAnimationComponent
      Parameters:
      xAxis - The x-coordinate of the original location of the block.
      yAxis - The y-coordinate of the original location of the block.
      zAxis - The z-coordinate of the original location of the block.
      Returns:
      The final position of an IAnimatedBlock.
    • getRadius

      public float getRadius(int xAxis, int yAxis, int zAxis)
      Description copied from interface: IAnimationComponent
      Gets the radius of a block at the given coordinates.
      Specified by:
      getRadius in interface IAnimationComponent
      Parameters:
      xAxis - The x coordinate.
      yAxis - The y coordinate.
      zAxis - The z coordinate.
      Returns:
      The radius of a block at the given coordinates.