Class FrustumDouble

java.lang.Object
gaiasky.util.math.FrustumDouble

public class FrustumDouble extends Object
  • Field Details

    • clipSpacePlanePoints

      protected static final Vector3d[] clipSpacePlanePoints
    • clipSpacePlanePointsArray

      protected static final double[] clipSpacePlanePointsArray
    • planes

      public final PlaneDouble[] planes
      the six clipping planes, near, far, left, right, top, bottom
    • planePoints

      public final Vector3d[] planePoints
      eight points making up the near and far clipping "rectangles". order is counter clockwise, starting at bottom left
    • planePointsArray

      protected final double[] planePointsArray
  • Constructor Details

    • FrustumDouble

      public FrustumDouble()
  • Method Details

    • update

      public void update(Matrix4d inverseProjectionView)
      Updates the clipping plane's based on the given inverse combined projection and view matrix, e.g. from an OrthographicCamera or PerspectiveCamera.
      Parameters:
      inverseProjectionView - the combined projection and view matrices.
    • pointInFrustum

      public boolean pointInFrustum(Vector3d point)
      Returns whether the point is in the frustum.
      Parameters:
      point - The point
      Returns:
      Whether the point is in the frustum.
    • pointInFrustum

      public boolean pointInFrustum(float x, float y, float z)
      Returns whether the point is in the frustum.
      Parameters:
      x - The X coordinate of the point
      y - The Y coordinate of the point
      z - The Z coordinate of the point
      Returns:
      Whether the point is in the frustum.
    • sphereInFrustum

      public boolean sphereInFrustum(Vector3d center, float radius)
      Returns whether the given sphere is in the frustum.
      Parameters:
      center - The center of the sphere
      radius - The radius of the sphere
      Returns:
      Whether the sphere is in the frustum
    • sphereInFrustum

      public boolean sphereInFrustum(float x, float y, float z, float radius)
      Returns whether the given sphere is in the frustum.
      Parameters:
      x - The X coordinate of the center of the sphere
      y - The Y coordinate of the center of the sphere
      z - The Z coordinate of the center of the sphere
      radius - The radius of the sphere
      Returns:
      Whether the sphere is in the frustum
    • sphereInFrustumWithoutNearFar

      public boolean sphereInFrustumWithoutNearFar(Vector3d center, float radius)
      Returns whether the given sphere is in the frustum not checking whether it is behind the near and far clipping plane.
      Parameters:
      center - The center of the sphere
      radius - The radius of the sphere
      Returns:
      Whether the sphere is in the frustum
    • sphereInFrustumWithoutNearFar

      public boolean sphereInFrustumWithoutNearFar(float x, float y, float z, float radius)
      Returns whether the given sphere is in the frustum not checking whether it is behind the near and far clipping plane.
      Parameters:
      x - The X coordinate of the center of the sphere
      y - The Y coordinate of the center of the sphere
      z - The Z coordinate of the center of the sphere
      radius - The radius of the sphere
      Returns:
      Whether the sphere is in the frustum
    • boundsInFrustum

      public boolean boundsInFrustum(BoundingBoxDouble bounds)
      Returns whether the given BoundingBoxDouble is in the frustum.
      Parameters:
      bounds - The bounding box
      Returns:
      Whether the bounding box is in the frustum
    • boundsInFrustum

      public boolean boundsInFrustum(Vector3d center, Vector3d dimensions)
      Returns whether the given bounding box is in the frustum.
      Returns:
      Whether the bounding box is in the frustum
    • boundsInFrustum

      public boolean boundsInFrustum(double x, double y, double z, double halfWidth, double halfHeight, double halfDepth)
      Returns whether the given bounding box is in the frustum.
      Returns:
      Whether the bounding box is in the frustum