Package gaiasky.util.math
Class Frustumd
java.lang.Object
gaiasky.util.math.Frustumd
A truncated rectangular pyramid. Used to define the viewable region and its projection onto the screen.
- See Also:
-
Camera.frustum
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanboundsInFrustum(double x, double y, double z, double halfWidth, double halfHeight, double halfDepth) Returns whether the given bounding box is in the frustum.booleanboundsInFrustum(BoundingBoxd bounds) Returns whether the givenBoundingBoxdis in the frustum.booleanboundsInFrustum(Vector3d center, Vector3d dimensions) Returns whether the given bounding box is in the frustum.booleanpointInFrustum(float x, float y, float z) Returns whether the point is in the frustum.booleanpointInFrustum(Vector3d point) Returns whether the point is in the frustum.booleansphereInFrustum(float x, float y, float z, float radius) Returns whether the given sphere is in the frustum.booleansphereInFrustum(Vector3d center, float radius) Returns whether the given sphere is in the frustum.booleansphereInFrustumWithoutNearFar(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.booleansphereInFrustumWithoutNearFar(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.voidUpdates the clipping plane's based on the given inverse combined projection and view matrix, e.g.
-
Field Details
-
clipSpacePlanePoints
-
clipSpacePlanePointsArray
protected static final double[] clipSpacePlanePointsArray -
planes
the six clipping planes, near, far, left, right, top, bottom -
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
-
Frustumd
public Frustumd()
-
-
Method Details
-
update
Updates the clipping plane's based on the given inverse combined projection and view matrix, e.g. from anOrthographicCameraorPerspectiveCamera.- Parameters:
inverseProjectionView- the combined projection and view matrices.
-
pointInFrustum
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 pointy- The Y coordinate of the pointz- The Z coordinate of the point- Returns:
- Whether the point is in the frustum.
-
sphereInFrustum
Returns whether the given sphere is in the frustum.- Parameters:
center- The center of the sphereradius- 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 spherey- The Y coordinate of the center of the spherez- The Z coordinate of the center of the sphereradius- The radius of the sphere- Returns:
- Whether the sphere is in the frustum
-
sphereInFrustumWithoutNearFar
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 sphereradius- 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 spherey- The Y coordinate of the center of the spherez- The Z coordinate of the center of the sphereradius- The radius of the sphere- Returns:
- Whether the sphere is in the frustum
-
boundsInFrustum
Returns whether the givenBoundingBoxdis in the frustum.- Parameters:
bounds- The bounding box- Returns:
- Whether the bounding box is in the frustum
-
boundsInFrustum
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
-