com.io7m.r2.filters

## Class R2FilterLightApplicatorParameters

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

- All Implemented Interfaces:
    R2FilterLightApplicatorParametersType

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

  The type of light applicator filter parameters.

- - ### Nested Class Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static R2FilterLightApplicatorParameters.Builder` | `builder()` Creates a builder for `R2FilterLightApplicatorParameters`.
    `R2CopyDepth` | `copyDepth()`
    `static R2FilterLightApplicatorParameters` | `copyOf(R2FilterLightApplicatorParametersType instance)` Creates an immutable copy of a `R2FilterLightApplicatorParametersType` value.
    `boolean` | `equals(Object another)` This instance is equal to all instances of `R2FilterLightApplicatorParameters` that have equal attribute values.
    `R2GeometryBufferUsableType` | `geometryBuffer()`
    `int` | `hashCode()` Computes a hash code from attributes: `copyDepth`, `geometryBuffer`, `lightDiffuseTexture`, `lightSpecularTexture`, `outputViewport`.
    `R2Texture2DUsableType` | `lightDiffuseTexture()`
    `R2Texture2DUsableType` | `lightSpecularTexture()`
    `static R2FilterLightApplicatorParameters` | `of(R2CopyDepth copyDepth, R2GeometryBufferUsableType geometryBuffer, R2Texture2DUsableType lightDiffuseTexture, R2Texture2DUsableType lightSpecularTexture, com.io7m.jareas.core.AreaInclusiveUnsignedLType outputViewport)` Construct a new immutable `R2FilterLightApplicatorParameters` instance.
    `com.io7m.jareas.core.AreaInclusiveUnsignedLType` | `outputViewport()`
    `String` | `toString()` Prints the immutable value `R2FilterLightApplicatorParameters` with attribute values.
    `R2FilterLightApplicatorParameters` | `withCopyDepth(R2CopyDepth value)` Copy the current immutable object by setting a value for the `copyDepth` attribute.
    `R2FilterLightApplicatorParameters` | `withGeometryBuffer(R2GeometryBufferUsableType value)` Copy the current immutable object by setting a value for the `geometryBuffer` attribute.
    `R2FilterLightApplicatorParameters` | `withLightDiffuseTexture(R2Texture2DUsableType value)` Copy the current immutable object by setting a value for the `lightDiffuseTexture` attribute.
    `R2FilterLightApplicatorParameters` | `withLightSpecularTexture(R2Texture2DUsableType value)` Copy the current immutable object by setting a value for the `lightSpecularTexture` attribute.
    `R2FilterLightApplicatorParameters` | `withOutputViewport(com.io7m.jareas.core.AreaInclusiveUnsignedLType value)` Copy the current immutable object by setting a value for the `outputViewport` attribute.

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

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

- - ### Method Detail

    - #### copyDepth

          public R2CopyDepth copyDepth()

      Specified by:
        `copyDepth` in interface `R2FilterLightApplicatorParametersType`
      Returns:
        A value specifying whether or not the depth buffer of the scene's geometry buffer should be copied to the output

    - #### geometryBuffer

          public R2GeometryBufferUsableType geometryBuffer()

      Specified by:
        `geometryBuffer` in interface `R2FilterLightApplicatorParametersType`
      Returns:
        The geometry buffer that will be used to produce a lit image

    - #### lightDiffuseTexture

          public R2Texture2DUsableType lightDiffuseTexture()

      Specified by:
        `lightDiffuseTexture` in interface `R2FilterLightApplicatorParametersType`
      Returns:
        The diffuse light texture that will be used to produce a lit image

    - #### lightSpecularTexture

          public R2Texture2DUsableType lightSpecularTexture()

      Specified by:
        `lightSpecularTexture` in interface `R2FilterLightApplicatorParametersType`
      Returns:
        The specular light texture that will be used to produce a lit image

    - #### outputViewport

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

      Specified by:
        `outputViewport` in interface `R2FilterLightApplicatorParametersType`
      Returns:
        The size of the current viewport

    - #### withCopyDepth

          public final R2FilterLightApplicatorParameters withCopyDepth(R2CopyDepth value)

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

    - #### withGeometryBuffer

          public final R2FilterLightApplicatorParameters withGeometryBuffer(R2GeometryBufferUsableType value)

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

    - #### withLightDiffuseTexture

          public final R2FilterLightApplicatorParameters withLightDiffuseTexture(R2Texture2DUsableType value)

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

    - #### withLightSpecularTexture

          public final R2FilterLightApplicatorParameters withLightSpecularTexture(R2Texture2DUsableType value)

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

    - #### withOutputViewport

          public final R2FilterLightApplicatorParameters withOutputViewport(com.io7m.jareas.core.AreaInclusiveUnsignedLType value)

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

    - #### equals

          public boolean equals(Object another)

      This instance is equal to all instances of `R2FilterLightApplicatorParameters` 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: `copyDepth`, `geometryBuffer`, `lightDiffuseTexture`, `lightSpecularTexture`, `outputViewport`.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        hashCode value

    - #### toString

          public String toString()

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

    - #### of

          public static R2FilterLightApplicatorParameters of(R2CopyDepth copyDepth,
                                                             R2GeometryBufferUsableType geometryBuffer,
                                                             R2Texture2DUsableType lightDiffuseTexture,
                                                             R2Texture2DUsableType lightSpecularTexture,
                                                             com.io7m.jareas.core.AreaInclusiveUnsignedLType outputViewport)

      Construct a new immutable `R2FilterLightApplicatorParameters` instance.
      Parameters:
        `copyDepth` - The value for the `copyDepth` attribute
        `geometryBuffer` - The value for the `geometryBuffer` attribute
        `lightDiffuseTexture` - The value for the `lightDiffuseTexture` attribute
        `lightSpecularTexture` - The value for the `lightSpecularTexture` attribute
        `outputViewport` - The value for the `outputViewport` attribute
      Returns:
        An immutable R2FilterLightApplicatorParameters instance

    - #### copyOf

          public static R2FilterLightApplicatorParameters copyOf(R2FilterLightApplicatorParametersType instance)

      Creates an immutable copy of a `R2FilterLightApplicatorParametersType` 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 R2FilterLightApplicatorParameters instance

    - #### builder

          public static R2FilterLightApplicatorParameters.Builder builder()

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

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