com.io7m.r2.filters

## Class R2FilterFogParameters

- java.lang.Object
- - com.io7m.r2.filters.R2FilterFogParameters

- All Implemented Interfaces:
    R2FilterFogParametersType

      @Generated(value={"Immutables.generator","R2FilterFogParametersType"})
      public final class R2FilterFogParameters
      extends Object
      implements R2FilterFogParametersType

  Parameters for the fog filter.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `R2FilterFogParameters.Builder` Builds instances of type `R2FilterFogParameters`.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static R2FilterFogParameters.Builder` | `builder()` Creates a builder for `R2FilterFogParameters`.
    `static R2FilterFogParameters` | `copyOf(R2FilterFogParametersType instance)` Creates an immutable copy of a `R2FilterFogParametersType` value.
    `boolean` | `equals(Object another)` This instance is equal to all instances of `R2FilterFogParameters` that have equal attribute values.
    `com.io7m.jtensors.parameterized.PVectorI3F<R2SpaceRGBType>` | `fogColor()`
    `float` | `fogFarPositiveZ()` The positive eye-space Z value at which fog ends.
    `float` | `fogNearPositiveZ()` The positive eye-space Z value at which fog starts.
    `int` | `hashCode()` Computes a hash code from attributes: `progression`, `viewport`, `imageTexture`, `imageDepthTexture`, `fogNearPositiveZ`, `fogFarPositiveZ`, `fogColor`, `observerValues`.
    `R2Texture2DUsableType` | `imageDepthTexture()`
    `R2Texture2DUsableType` | `imageTexture()`
    `R2MatricesObserverValuesType` | `observerValues()`
    `static R2FilterFogParameters` | `of(R2FilterFogProgression progression, com.io7m.jareas.core.AreaInclusiveUnsignedLType viewport, R2Texture2DUsableType imageTexture, R2Texture2DUsableType imageDepthTexture, float fogNearPositiveZ, float fogFarPositiveZ, com.io7m.jtensors.parameterized.PVectorI3F<R2SpaceRGBType> fogColor, R2MatricesObserverValuesType observerValues)` Construct a new immutable `R2FilterFogParameters` instance.
    `R2FilterFogProgression` | `progression()` A specification of fog progression.
    `String` | `toString()` Prints the immutable value `R2FilterFogParameters` with attribute values.
    `com.io7m.jareas.core.AreaInclusiveUnsignedLType` | `viewport()`
    `R2FilterFogParameters` | `withFogColor(com.io7m.jtensors.parameterized.PVectorI3F<R2SpaceRGBType> value)` Copy the current immutable object by setting a value for the `fogColor` attribute.
    `R2FilterFogParameters` | `withFogFarPositiveZ(float value)` Copy the current immutable object by setting a value for the `fogFarPositiveZ` attribute.
    `R2FilterFogParameters` | `withFogNearPositiveZ(float value)` Copy the current immutable object by setting a value for the `fogNearPositiveZ` attribute.
    `R2FilterFogParameters` | `withImageDepthTexture(R2Texture2DUsableType value)` Copy the current immutable object by setting a value for the `imageDepthTexture` attribute.
    `R2FilterFogParameters` | `withImageTexture(R2Texture2DUsableType value)` Copy the current immutable object by setting a value for the `imageTexture` attribute.
    `R2FilterFogParameters` | `withObserverValues(R2MatricesObserverValuesType value)` Copy the current immutable object by setting a value for the `observerValues` attribute.
    `R2FilterFogParameters` | `withProgression(R2FilterFogProgression value)` Copy the current immutable object by setting a value for the `progression` attribute.
    `R2FilterFogParameters` | `withViewport(com.io7m.jareas.core.AreaInclusiveUnsignedLType value)` Copy the current immutable object by setting a value for the `viewport` attribute.

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### progression

          public R2FilterFogProgression progression()

      A specification of fog progression. This specifies the curve that fog intensity follows at distances greater than `fogNearPositiveZ()`.
      Specified by:
        `progression` in interface `R2FilterFogParametersType`
      Returns:
        The fog progression

    - #### viewport

          public com.io7m.jareas.core.AreaInclusiveUnsignedLType viewport()

      Specified by:
        `viewport` in interface `R2FilterFogParametersType`
      Returns:
        The output viewport

    - #### imageTexture

          public R2Texture2DUsableType imageTexture()

      Specified by:
        `imageTexture` in interface `R2FilterFogParametersType`
      Returns:
        The input texture that will have fog applied

    - #### imageDepthTexture

          public R2Texture2DUsableType imageDepthTexture()

      Specified by:
        `imageDepthTexture` in interface `R2FilterFogParametersType`
      Returns:
        The depth texture that contains logarithmic depth values

    - #### fogNearPositiveZ

          public float fogNearPositiveZ()

      The positive eye-space Z value at which fog starts. Objects closer than this value have no fog applied.
      Specified by:
        `fogNearPositiveZ` in interface `R2FilterFogParametersType`
      Returns:
        The starting fog distance

    - #### fogFarPositiveZ

          public float fogFarPositiveZ()

      The positive eye-space Z value at which fog ends. Objects further than this value are fully obscured by fog.
      Specified by:
        `fogFarPositiveZ` in interface `R2FilterFogParametersType`
      Returns:
        The ending fog distance

    - #### fogColor

          public com.io7m.jtensors.parameterized.PVectorI3F<R2SpaceRGBType> fogColor()

      Specified by:
        `fogColor` in interface `R2FilterFogParametersType`
      Returns:
        The color of the fog

    - #### observerValues

          public R2MatricesObserverValuesType observerValues()

      Specified by:
        `observerValues` in interface `R2FilterFogParametersType`
      Returns:
        The observer matrix values that were used to produce the scene

    - #### withProgression

          public final R2FilterFogParameters withProgression(R2FilterFogProgression value)

      Copy the current immutable object by setting a value for the `progression` attribute. A shallow reference equality check is used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for progression
      Returns:
        A modified copy of the `this` object

    - #### withViewport

          public final R2FilterFogParameters withViewport(com.io7m.jareas.core.AreaInclusiveUnsignedLType value)

      Copy the current immutable object by setting a value for the `viewport` attribute. A shallow reference equality check is used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for viewport
      Returns:
        A modified copy of the `this` object

    - #### withImageTexture

          public final R2FilterFogParameters withImageTexture(R2Texture2DUsableType value)

      Copy the current immutable object by setting a value for the `imageTexture` attribute. A shallow reference equality check is used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for imageTexture
      Returns:
        A modified copy of the `this` object

    - #### withImageDepthTexture

          public final R2FilterFogParameters withImageDepthTexture(R2Texture2DUsableType value)

      Copy the current immutable object by setting a value for the `imageDepthTexture` attribute. A shallow reference equality check is used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for imageDepthTexture
      Returns:
        A modified copy of the `this` object

    - #### withFogNearPositiveZ

          public final R2FilterFogParameters withFogNearPositiveZ(float value)

      Copy the current immutable object by setting a value for the `fogNearPositiveZ` attribute. A value strict bits equality used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for fogNearPositiveZ
      Returns:
        A modified copy of the `this` object

    - #### withFogFarPositiveZ

          public final R2FilterFogParameters withFogFarPositiveZ(float value)

      Copy the current immutable object by setting a value for the `fogFarPositiveZ` attribute. A value strict bits equality used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for fogFarPositiveZ
      Returns:
        A modified copy of the `this` object

    - #### withFogColor

          public final R2FilterFogParameters withFogColor(com.io7m.jtensors.parameterized.PVectorI3F<R2SpaceRGBType> value)

      Copy the current immutable object by setting a value for the `fogColor` attribute. A shallow reference equality check is used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for fogColor
      Returns:
        A modified copy of the `this` object

    - #### withObserverValues

          public final R2FilterFogParameters withObserverValues(R2MatricesObserverValuesType value)

      Copy the current immutable object by setting a value for the `observerValues` attribute. A shallow reference equality check is used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for observerValues
      Returns:
        A modified copy of the `this` object

    - #### equals

          public boolean equals(Object another)

      This instance is equal to all instances of `R2FilterFogParameters` that have equal attribute values.
      Overrides:
        `equals` in class `Object`
      Returns:
        `true` if `this` is equal to `another` instance

    - #### hashCode

          public int hashCode()

      Computes a hash code from attributes: `progression`, `viewport`, `imageTexture`, `imageDepthTexture`, `fogNearPositiveZ`, `fogFarPositiveZ`, `fogColor`, `observerValues`.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        hashCode value

    - #### toString

          public String toString()

      Prints the immutable value `R2FilterFogParameters` with attribute values.
      Overrides:
        `toString` in class `Object`
      Returns:
        A string representation of the value

    - #### of

          public static R2FilterFogParameters of(R2FilterFogProgression progression,
                                                 com.io7m.jareas.core.AreaInclusiveUnsignedLType viewport,
                                                 R2Texture2DUsableType imageTexture,
                                                 R2Texture2DUsableType imageDepthTexture,
                                                 float fogNearPositiveZ,
                                                 float fogFarPositiveZ,
                                                 com.io7m.jtensors.parameterized.PVectorI3F<R2SpaceRGBType> fogColor,
                                                 R2MatricesObserverValuesType observerValues)

      Construct a new immutable `R2FilterFogParameters` instance.
      Parameters:
        `progression` - The value for the `progression` attribute
        `viewport` - The value for the `viewport` attribute
        `imageTexture` - The value for the `imageTexture` attribute
        `imageDepthTexture` - The value for the `imageDepthTexture` attribute
        `fogNearPositiveZ` - The value for the `fogNearPositiveZ` attribute
        `fogFarPositiveZ` - The value for the `fogFarPositiveZ` attribute
        `fogColor` - The value for the `fogColor` attribute
        `observerValues` - The value for the `observerValues` attribute
      Returns:
        An immutable R2FilterFogParameters instance

    - #### copyOf

          public static R2FilterFogParameters copyOf(R2FilterFogParametersType instance)

      Creates an immutable copy of a `R2FilterFogParametersType` value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
      Parameters:
        `instance` - The instance to copy
      Returns:
        A copied immutable R2FilterFogParameters instance

    - #### builder

          public static R2FilterFogParameters.Builder builder()

      Creates a builder for `R2FilterFogParameters`.
      Returns:
        A new R2FilterFogParameters builder

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