com.io7m.r2.core

## Class R2ProjectionFrustum

- java.lang.Object
- - com.io7m.r2.core.R2ProjectionFrustum

- All Implemented Interfaces:
    R2ProjectionReadableType, R2ProjectionType, R2ProjectionWritableType

      public final class R2ProjectionFrustum
      extends Object
      implements R2ProjectionType

  A perspective projection based on an explicit frustum.

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static R2ProjectionFrustum` | `newFrustum(com.io7m.jcanephora.core.JCGLProjectionMatricesType c)` Construct a new frustum projection.
    `static R2ProjectionFrustum` | `newFrustumWith(com.io7m.jcanephora.core.JCGLProjectionMatricesType c, float in_x_min, float in_x_max, float in_y_min, float in_y_max, float in_z_near, float in_z_far)` Construct a new frustum projection.
    `float` | `projectionGetFarXMaximum()`
    `float` | `projectionGetFarXMinimum()`
    `float` | `projectionGetFarYMaximum()`
    `float` | `projectionGetFarYMinimum()`
    `float` | `projectionGetNearXMaximum()`
    `float` | `projectionGetNearXMinimum()`
    `float` | `projectionGetNearYMaximum()`
    `float` | `projectionGetNearYMinimum()`
    `R2WatchableType<R2ProjectionReadableType>` | `projectionGetWatchable()`
    `float` | `projectionGetZFar()`
    `float` | `projectionGetZNear()`
    `void` | `projectionMakeMatrix(com.io7m.jtensors.parameterized.PMatrixWritable4x4FType<R2SpaceEyeType,R2SpaceClipType> m)` Write the projection to the given matrix.
    `void` | `projectionMakeMatrixUntyped(com.io7m.jtensors.MatrixWritable4x4FType m)` Write the projection to the given matrix.
    `void` | `projectionSetXMaximum(float x)` Set the maximum X value on the near plane.
    `void` | `projectionSetXMinimum(float x)` Set the minimum X value on the near plane.
    `void` | `projectionSetYMaximum(float y)` Set the maximum Y value on the near plane.
    `void` | `projectionSetYMinimum(float y)` Set the minimum Y value on the near plane.
    `void` | `projectionSetZFar(float z)` Set the distance to the far plane.
    `void` | `projectionSetZNear(float z)` Set the distance to the near plane.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### newFrustum

          public static R2ProjectionFrustum newFrustum(com.io7m.jcanephora.core.JCGLProjectionMatricesType c)

      Construct a new frustum projection.
      Parameters:
        `c` - A matrices interface
      Returns:
        A new projection

    - #### newFrustumWith

          public static R2ProjectionFrustum newFrustumWith(com.io7m.jcanephora.core.JCGLProjectionMatricesType c,
                                                           float in_x_min,
                                                           float in_x_max,
                                                           float in_y_min,
                                                           float in_y_max,
                                                           float in_z_near,
                                                           float in_z_far)

      Construct a new frustum projection.
      Parameters:
        `in_x_min` - The minimum X value on the near plane
        `in_x_max` - The maximum X value on the near plane
        `in_y_min` - The minimum Y value on the near plane
        `in_y_max` - The maximum Y value on the near plane
        `in_z_near` - The distance to the near plane
        `in_z_far` - The distance to the far plane
        `c` - A matrices interface
      Returns:
        A new projection.

    - #### projectionSetXMaximum

          public void projectionSetXMaximum(float x)

      Set the maximum X value on the near plane.
      Parameters:
        `x` - The X value

    - #### projectionSetXMinimum

          public void projectionSetXMinimum(float x)

      Set the minimum X value on the near plane.
      Parameters:
        `x` - The X value

    - #### projectionSetYMaximum

          public void projectionSetYMaximum(float y)

      Set the maximum Y value on the near plane.
      Parameters:
        `y` - The Y value

    - #### projectionSetYMinimum

          public void projectionSetYMinimum(float y)

      Set the minimum Y value on the near plane.
      Parameters:
        `y` - The Y value

    - #### projectionSetZFar

          public void projectionSetZFar(float z)

      Set the distance to the far plane.
      Parameters:
        `z` - The Z distance

    - #### projectionSetZNear

          public void projectionSetZNear(float z)

      Set the distance to the near plane.
      Parameters:
        `z` - The Z distance

    - #### projectionMakeMatrix

          public void projectionMakeMatrix(com.io7m.jtensors.parameterized.PMatrixWritable4x4FType<R2SpaceEyeType,R2SpaceClipType> m)

      Description copied from interface: `R2ProjectionReadableType`
      Write the projection to the given matrix.
      Specified by:
        `projectionMakeMatrix` in interface `R2ProjectionReadableType`
      Parameters:
        `m` - The output matrix

    - #### projectionMakeMatrixUntyped

          public void projectionMakeMatrixUntyped(com.io7m.jtensors.MatrixWritable4x4FType m)

      Description copied from interface: `R2ProjectionReadableType`
      Write the projection to the given matrix.
      Specified by:
        `projectionMakeMatrixUntyped` in interface `R2ProjectionReadableType`
      Parameters:
        `m` - The output matrix

    - #### projectionGetNearXMaximum

          public float projectionGetNearXMaximum()

      Specified by:
        `projectionGetNearXMaximum` in interface `R2ProjectionReadableType`
      Returns:
        The rightmost edge of the frustum's near plane.

    - #### projectionGetNearXMinimum

          public float projectionGetNearXMinimum()

      Specified by:
        `projectionGetNearXMinimum` in interface `R2ProjectionReadableType`
      Returns:
        The leftmost edge of the frustum's near plane.

    - #### projectionGetNearYMaximum

          public float projectionGetNearYMaximum()

      Specified by:
        `projectionGetNearYMaximum` in interface `R2ProjectionReadableType`
      Returns:
        The topmost edge of the frustum's near plane.

    - #### projectionGetNearYMinimum

          public float projectionGetNearYMinimum()

      Specified by:
        `projectionGetNearYMinimum` in interface `R2ProjectionReadableType`
      Returns:
        The bottommost edge of the frustum's near plane.

    - #### projectionGetZFar

          public float projectionGetZFar()

      Specified by:
        `projectionGetZFar` in interface `R2ProjectionReadableType`
      Returns:
        The value of the projection's far plane.

    - #### projectionGetZNear

          public float projectionGetZNear()

      Specified by:
        `projectionGetZNear` in interface `R2ProjectionReadableType`
      Returns:
        The value of the projection's near plane.

    - #### projectionGetFarXMaximum

          public float projectionGetFarXMaximum()

      Specified by:
        `projectionGetFarXMaximum` in interface `R2ProjectionReadableType`
      Returns:
        The rightmost edge of the frustum's far plane.

    - #### projectionGetFarXMinimum

          public float projectionGetFarXMinimum()

      Specified by:
        `projectionGetFarXMinimum` in interface `R2ProjectionReadableType`
      Returns:
        The leftmost edge of the frustum's far plane.

    - #### projectionGetFarYMaximum

          public float projectionGetFarYMaximum()

      Specified by:
        `projectionGetFarYMaximum` in interface `R2ProjectionReadableType`
      Returns:
        The topmost edge of the frustum's far plane.

    - #### projectionGetFarYMinimum

          public float projectionGetFarYMinimum()

      Specified by:
        `projectionGetFarYMinimum` in interface `R2ProjectionReadableType`
      Returns:
        The bottommost edge of the frustum's far plane.

    - #### projectionGetWatchable

          public R2WatchableType<R2ProjectionReadableType> projectionGetWatchable()

      Specified by:
        `projectionGetWatchable` in interface `R2ProjectionReadableType`
      Returns:
        The watchable value for this projection

Copyright © 2017 <code@io7m.com> http://io7m.com