com.io7m.r2.filters

## Class R2FilterBilateralBlurDepthAwareParameters<SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>>

- java.lang.Object
- - com.io7m.r2.filters.R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D>

- Type Parameters:
    `SD` - The type of source render target descriptions
    `S` - The type of source render targets
    `DD` - The type of destination render target descriptions
    `D` - The type of destination render targets
  All Implemented Interfaces:
    R2FilterBilateralBlurDepthAwareParametersType<SD,S,DD,D>

      @Generated(value={"Immutables.generator","R2FilterBilateralBlurDepthAwareParametersType<SD, S, DD, D>"})
      public final class R2FilterBilateralBlurDepthAwareParameters<SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>>
      extends Object
      implements R2FilterBilateralBlurDepthAwareParametersType<SD,S,DD,D>

  Parameters for bilateral blur filters that blur render targets of type `S` and write the blurred results to render targets of type `T`.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `R2FilterBilateralBlurDepthAwareParameters.Builder<SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>>` Builds instances of type `R2FilterBilateralBlurDepthAwareParameters`.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `R2BilateralBlurParameters` | `blurParameters()`
    `static <SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>> R2FilterBilateralBlurDepthAwareParameters.Builder<SD,S,DD,D>` | `builder()` Creates a builder for `R2FilterBilateralBlurDepthAwareParameters`.
    `static <SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>> R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D>` | `copyOf(R2FilterBilateralBlurDepthAwareParametersType<SD,S,DD,D> instance)` Creates an immutable copy of a `R2FilterBilateralBlurDepthAwareParametersType` value.
    `R2Texture2DUsableType` | `depthTexture()`
    `boolean` | `equals(Object another)` This instance is equal to all instances of `R2FilterBilateralBlurDepthAwareParameters` that have equal attribute values.
    `int` | `hashCode()` Computes a hash code from attributes: `sourceRenderTarget`, `sourceTextureSelector`, `outputRenderTarget`, `outputTextureSelector`, `renderTargetPool`, `outputDescriptionScaler`, `sceneObserverValues`, `depthTexture`, `blurParameters`.
    `static <SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>> R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D>` | `of(S sourceRenderTarget, Function<S,R2Texture2DUsableType> sourceTextureSelector, D outputRenderTarget, Function<D,R2Texture2DUsableType> outputTextureSelector, R2RenderTargetPoolUsableType<DD,D> renderTargetPool, BiFunction<DD,com.io7m.jareas.core.AreaInclusiveUnsignedLType,DD> outputDescriptionScaler, R2MatricesObserverValuesType sceneObserverValues, R2Texture2DUsableType depthTexture, R2BilateralBlurParameters blurParameters)` Construct a new immutable `R2FilterBilateralBlurDepthAwareParameters` instance.
    `BiFunction<DD,com.io7m.jareas.core.AreaInclusiveUnsignedLType,DD>` | `outputDescriptionScaler()`
    `D` | `outputRenderTarget()`
    `Function<D,R2Texture2DUsableType>` | `outputTextureSelector()`
    `R2RenderTargetPoolUsableType<DD,D>` | `renderTargetPool()`
    `R2MatricesObserverValuesType` | `sceneObserverValues()`
    `S` | `sourceRenderTarget()`
    `Function<S,R2Texture2DUsableType>` | `sourceTextureSelector()`
    `String` | `toString()` Prints the immutable value `R2FilterBilateralBlurDepthAwareParameters` with attribute values.
    `R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D>` | `withBlurParameters(R2BilateralBlurParameters value)` Copy the current immutable object by setting a value for the `blurParameters` attribute.
    `R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D>` | `withDepthTexture(R2Texture2DUsableType value)` Copy the current immutable object by setting a value for the `depthTexture` attribute.
    `R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D>` | `withOutputDescriptionScaler(BiFunction<DD,com.io7m.jareas.core.AreaInclusiveUnsignedLType,DD> value)` Copy the current immutable object by setting a value for the `outputDescriptionScaler` attribute.
    `R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D>` | `withOutputRenderTarget(D value)` Copy the current immutable object by setting a value for the `outputRenderTarget` attribute.
    `R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D>` | `withOutputTextureSelector(Function<D,R2Texture2DUsableType> value)` Copy the current immutable object by setting a value for the `outputTextureSelector` attribute.
    `R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D>` | `withRenderTargetPool(R2RenderTargetPoolUsableType<DD,D> value)` Copy the current immutable object by setting a value for the `renderTargetPool` attribute.
    `R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D>` | `withSceneObserverValues(R2MatricesObserverValuesType value)` Copy the current immutable object by setting a value for the `sceneObserverValues` attribute.
    `R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D>` | `withSourceRenderTarget(S value)` Copy the current immutable object by setting a value for the `sourceRenderTarget` attribute.
    `R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D>` | `withSourceTextureSelector(Function<S,R2Texture2DUsableType> value)` Copy the current immutable object by setting a value for the `sourceTextureSelector` attribute.

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

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

- - ### Method Detail

    - #### sourceRenderTarget

          public S sourceRenderTarget()

      Specified by:
        `sourceRenderTarget` in interface `R2FilterBilateralBlurDepthAwareParametersType<SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>>`
      Returns:
        The source render target

    - #### sourceTextureSelector

          public Function<S,R2Texture2DUsableType> sourceTextureSelector()

      Specified by:
        `sourceTextureSelector` in interface `R2FilterBilateralBlurDepthAwareParametersType<SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>>`
      Returns:
        A function that, given a render target of type `S`, selects which texture on that render target will be used for blurring.

    - #### outputRenderTarget

          public D outputRenderTarget()

      Specified by:
        `outputRenderTarget` in interface `R2FilterBilateralBlurDepthAwareParametersType<SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>>`
      Returns:
        The output render target

    - #### outputTextureSelector

          public Function<D,R2Texture2DUsableType> outputTextureSelector()

      Specified by:
        `outputTextureSelector` in interface `R2FilterBilateralBlurDepthAwareParametersType<SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>>`
      Returns:
        A function that, given a render target of type `D`, selects which texture on that render target will be used for blurring.

    - #### renderTargetPool

          public R2RenderTargetPoolUsableType<DD,D> renderTargetPool()

      Specified by:
        `renderTargetPool` in interface `R2FilterBilateralBlurDepthAwareParametersType<SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>>`
      Returns:
        A pool used to construct temporary render targets

    - #### outputDescriptionScaler

          public BiFunction<DD,com.io7m.jareas.core.AreaInclusiveUnsignedLType,DD> outputDescriptionScaler()

      Specified by:
        `outputDescriptionScaler` in interface `R2FilterBilateralBlurDepthAwareParametersType<SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>>`
      Returns:
        A function that, given an existing description `D` and an area `A`, returns a new description with the values of `D` and the area `A`.

    - #### sceneObserverValues

          public R2MatricesObserverValuesType sceneObserverValues()

      Specified by:
        `sceneObserverValues` in interface `R2FilterBilateralBlurDepthAwareParametersType<SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>>`
      Returns:
        The scene observer values

    - #### depthTexture

          public R2Texture2DUsableType depthTexture()

      Specified by:
        `depthTexture` in interface `R2FilterBilateralBlurDepthAwareParametersType<SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>>`
      Returns:
        The depth texture that will be used to control how the blur effect is applied

    - #### blurParameters

          public R2BilateralBlurParameters blurParameters()

      Specified by:
        `blurParameters` in interface `R2FilterBilateralBlurDepthAwareParametersType<SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>>`
      Returns:
        The blur parameters

    - #### withSourceRenderTarget

          public final R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D> withSourceRenderTarget(S value)

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

    - #### withSourceTextureSelector

          public final R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D> withSourceTextureSelector(Function<S,R2Texture2DUsableType> value)

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

    - #### withOutputRenderTarget

          public final R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D> withOutputRenderTarget(D value)

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

    - #### withOutputTextureSelector

          public final R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D> withOutputTextureSelector(Function<D,R2Texture2DUsableType> value)

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

    - #### withRenderTargetPool

          public final R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D> withRenderTargetPool(R2RenderTargetPoolUsableType<DD,D> value)

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

    - #### withOutputDescriptionScaler

          public final R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D> withOutputDescriptionScaler(BiFunction<DD,com.io7m.jareas.core.AreaInclusiveUnsignedLType,DD> value)

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

    - #### withSceneObserverValues

          public final R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D> withSceneObserverValues(R2MatricesObserverValuesType value)

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

    - #### withDepthTexture

          public final R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D> withDepthTexture(R2Texture2DUsableType value)

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

    - #### withBlurParameters

          public final R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D> withBlurParameters(R2BilateralBlurParameters value)

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

    - #### equals

          public boolean equals(Object another)

      This instance is equal to all instances of `R2FilterBilateralBlurDepthAwareParameters` 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: `sourceRenderTarget`, `sourceTextureSelector`, `outputRenderTarget`, `outputTextureSelector`, `renderTargetPool`, `outputDescriptionScaler`, `sceneObserverValues`, `depthTexture`, `blurParameters`.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        hashCode value

    - #### toString

          public String toString()

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

    - #### of

          public static <SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>> R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D> of(S sourceRenderTarget,
                                                                                                                                                                                                                                                  Function<S,R2Texture2DUsableType> sourceTextureSelector,
                                                                                                                                                                                                                                                  D outputRenderTarget,
                                                                                                                                                                                                                                                  Function<D,R2Texture2DUsableType> outputTextureSelector,
                                                                                                                                                                                                                                                  R2RenderTargetPoolUsableType<DD,D> renderTargetPool,
                                                                                                                                                                                                                                                  BiFunction<DD,com.io7m.jareas.core.AreaInclusiveUnsignedLType,DD> outputDescriptionScaler,
                                                                                                                                                                                                                                                  R2MatricesObserverValuesType sceneObserverValues,
                                                                                                                                                                                                                                                  R2Texture2DUsableType depthTexture,
                                                                                                                                                                                                                                                  R2BilateralBlurParameters blurParameters)

      Construct a new immutable `R2FilterBilateralBlurDepthAwareParameters` instance.
      Parameters:
        `sourceRenderTarget` - The value for the `sourceRenderTarget` attribute
        `sourceTextureSelector` - The value for the `sourceTextureSelector` attribute
        `outputRenderTarget` - The value for the `outputRenderTarget` attribute
        `outputTextureSelector` - The value for the `outputTextureSelector` attribute
        `renderTargetPool` - The value for the `renderTargetPool` attribute
        `outputDescriptionScaler` - The value for the `outputDescriptionScaler` attribute
        `sceneObserverValues` - The value for the `sceneObserverValues` attribute
        `depthTexture` - The value for the `depthTexture` attribute
        `blurParameters` - The value for the `blurParameters` attribute
      Returns:
        An immutable R2FilterBilateralBlurDepthAwareParameters instance

    - #### copyOf

          public static <SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>> R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D> copyOf(R2FilterBilateralBlurDepthAwareParametersType<SD,S,DD,D> instance)

      Creates an immutable copy of a `R2FilterBilateralBlurDepthAwareParametersType` value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
      Type Parameters:
        `SD` - generic parameter SD
        `S` - generic parameter S
        `DD` - generic parameter DD
        `D` - generic parameter D
      Parameters:
        `instance` - The instance to copy
      Returns:
        A copied immutable R2FilterBilateralBlurDepthAwareParameters instance

    - #### builder

          public static <SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>> R2FilterBilateralBlurDepthAwareParameters.Builder<SD,S,DD,D> builder()

      Creates a builder for `R2FilterBilateralBlurDepthAwareParameters`.
      Type Parameters:
        `SD` - generic parameter SD
        `S` - generic parameter S
        `DD` - generic parameter DD
        `D` - generic parameter D
      Returns:
        A new R2FilterBilateralBlurDepthAwareParameters builder

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