Class Frustumd


  • public class Frustumd
    extends java.lang.Object
    A truncated rectangular pyramid. Used to define the viewable region and its projection onto the screen.
    See Also:
    Camera.frustum
    • Constructor Summary

      Constructors 
      Constructor Description
      Frustumd()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean boundsInFrustum​(double x, double y, double z, double halfWidth, double halfHeight, double halfDepth)
      Returns whether the given bounding box is in the frustum.
      boolean boundsInFrustum​(BoundingBoxd bounds)
      Returns whether the given BoundingBoxd is in the frustum.
      boolean boundsInFrustum​(Vector3d center, Vector3d dimensions)
      Returns whether the given bounding box is in the frustum.
      boolean pointInFrustum​(float x, float y, float z)
      Returns whether the point is in the frustum.
      boolean pointInFrustum​(Vector3d point)
      Returns whether the point is in the frustum.
      boolean sphereInFrustum​(float x, float y, float z, float radius)
      Returns whether the given sphere is in the frustum.
      boolean sphereInFrustum​(Vector3d center, float radius)
      Returns whether the given sphere is in the frustum.
      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.
      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.
      void update​(Matrix4d inverseProjectionView)
      Updates the clipping plane's based on the given inverse combined projection and view matrix, e.g.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • clipSpacePlanePoints

        protected static final Vector3d[] clipSpacePlanePoints
      • clipSpacePlanePointsArray

        protected static final double[] clipSpacePlanePointsArray
      • planes

        public final Planed[] 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 Detail

      • Frustumd

        public Frustumd()
    • Method Detail

      • 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​(BoundingBoxd bounds)
        Returns whether the given BoundingBoxd 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