Class HitDetectionExecutor

java.lang.Object
com.hypixel.hytale.math.hitdetection.HitDetectionExecutor

public class HitDetectionExecutor extends Object
  • Field Details

    • log

      public static final com.hypixel.hytale.logger.HytaleLogger log
    • VERTEX_POINTS

      private static final Vector4d[] VERTEX_POINTS
    • CUBE_QUADS

      public static final Quad4d[] CUBE_QUADS
    • pvmMatrix

      @Nonnull private final Matrix4d pvmMatrix
    • invPvMatrix

      @Nonnull private final Matrix4d invPvMatrix
    • origin

      @Nonnull private final Vector4d origin
    • buffer

      @Nonnull private final HitDetectionBuffer buffer
    • projectionProvider

      private MatrixProvider projectionProvider
    • viewProvider

      private MatrixProvider viewProvider
    • losProvider

      private LineOfSightProvider losProvider
    • maxRayTests

      private int maxRayTests
  • Constructor Details

    • HitDetectionExecutor

      public HitDetectionExecutor()
  • Method Details

    • getHitLocation

      public Vector4d getHitLocation()
    • setProjectionProvider

      @Nonnull public HitDetectionExecutor setProjectionProvider(MatrixProvider provider)
    • setViewProvider

      @Nonnull public HitDetectionExecutor setViewProvider(MatrixProvider provider)
    • setLineOfSightProvider

      @Nonnull public HitDetectionExecutor setLineOfSightProvider(LineOfSightProvider losProvider)
    • setMaxRayTests

      @Nonnull public HitDetectionExecutor setMaxRayTests(int maxRayTests)
    • setOrigin

      @Nonnull public HitDetectionExecutor setOrigin(double x, double y, double z)
    • setupMatrices

      private void setupMatrices(@Nonnull Matrix4d modelMatrix)
    • test

      public boolean test(@Nonnull Vector4d point, @Nonnull Matrix4d modelMatrix)
    • test

      public boolean test(@Nonnull Quad4d[] model, @Nonnull Matrix4d modelMatrix)
    • testPoint

      private boolean testPoint(@Nonnull Vector4d point)
    • testModel

      private boolean testModel(@Nonnull Quad4d[] model)
    • insideFrustum

      protected boolean insideFrustum()
    • clipPolygonAxis

      private boolean clipPolygonAxis(int componentIndex)
    • clipPolygonComponent

      private static void clipPolygonComponent(@Nonnull Vector4dBufferList vertices, int componentIndex, double componentFactor, @Nonnull Vector4dBufferList result)
    • toString

      @Nonnull public String toString()
      Overrides:
      toString in class Object