com.io7m.r2.core

## Class R2TranslucentBatched<M>

- java.lang.Object
- - com.io7m.r2.core.R2TranslucentBatched<M>

- Type Parameters:
    `M` - The type of shader parameters
  All Implemented Interfaces:
    R2TranslucentBatchedType<M>, R2TranslucentType<M>

      @Generated(value={"Immutables.generator","R2TranslucentBatchedType<M>"})
      public final class R2TranslucentBatched<M>
      extends Object
      implements R2TranslucentBatchedType<M>

  The type of batched instance translucents.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `R2TranslucentBatched.Builder<M>` Builds instances of type `R2TranslucentBatched`.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Optional<com.io7m.jcanephora.renderstate.JCGLBlendState>` | `blending()`
    `static <M> R2TranslucentBatched.Builder<M>` | `builder()` Creates a builder for `R2TranslucentBatched`.
    `static <M> R2TranslucentBatched<M>` | `copyOf(R2TranslucentBatchedType<M> instance)` Creates an immutable copy of a `R2TranslucentBatchedType` value.
    `com.io7m.jcanephora.renderstate.JCGLCullingState` | `culling()`
    `boolean` | `equals(Object another)` This instance is equal to all instances of `R2TranslucentBatched` that have equal attribute values.
    `int` | `hashCode()` Computes a hash code from attributes: `instance`, `shader`, `shaderParameters`, `blending`, `culling`.
    `R2InstanceBatchedType` | `instance()`
    `static <M> R2TranslucentBatched<M>` | `of(R2InstanceBatchedType instance, R2ShaderTranslucentInstanceBatchedType<M> shader, M shaderParameters, Optional<com.io7m.jcanephora.renderstate.JCGLBlendState> blending, com.io7m.jcanephora.renderstate.JCGLCullingState culling)` Construct a new immutable `R2TranslucentBatched` instance.
    `R2ShaderTranslucentInstanceBatchedType<M>` | `shader()`
    `M` | `shaderParameters()`
    `String` | `toString()` Prints the immutable value `R2TranslucentBatched` with attribute values.
    `R2TranslucentBatched<M>` | `withBlending(com.io7m.jcanephora.renderstate.JCGLBlendState value)` Copy the current immutable object by setting a present value for the optional `blending` attribute.
    `R2TranslucentBatched<M>` | `withBlending(Optional<com.io7m.jcanephora.renderstate.JCGLBlendState> optional)` Copy the current immutable object by setting an optional value for the `blending` attribute.
    `R2TranslucentBatched<M>` | `withCulling(com.io7m.jcanephora.renderstate.JCGLCullingState value)` Copy the current immutable object by setting a value for the `culling` attribute.
    `R2TranslucentBatched<M>` | `withInstance(R2InstanceBatchedType value)` Copy the current immutable object by setting a value for the `instance` attribute.
    `R2TranslucentBatched<M>` | `withShader(R2ShaderTranslucentInstanceBatchedType<M> value)` Copy the current immutable object by setting a value for the `shader` attribute.
    `R2TranslucentBatched<M>` | `withShaderParameters(M value)` Copy the current immutable object by setting a value for the `shaderParameters` attribute.

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

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

    - ### Methods inherited from interface com.io7m.r2.core.R2TranslucentBatchedType

      `matchTranslucent`

    - ### Methods inherited from interface com.io7m.r2.core.R2TranslucentType

      `shaderParametersType`

- - ### Method Detail

    - #### instance

          public R2InstanceBatchedType instance()

      Specified by:
        `instance` in interface `R2TranslucentBatchedType<M>`
      Returns:
        The instance to be rendered

    - #### shader

          public R2ShaderTranslucentInstanceBatchedType<M> shader()

      Specified by:
        `shader` in interface `R2TranslucentBatchedType<M>`
      Returns:
        The shader

    - #### shaderParameters

          public M shaderParameters()

      Specified by:
        `shaderParameters` in interface `R2TranslucentBatchedType<M>`
      Specified by:
        `shaderParameters` in interface `R2TranslucentType<M>`
      Returns:
        The value of the `shaderParameters` attribute

    - #### blending

          public Optional<com.io7m.jcanephora.renderstate.JCGLBlendState> blending()

      Specified by:
        `blending` in interface `R2TranslucentBatchedType<M>`
      Specified by:
        `blending` in interface `R2TranslucentType<M>`
      Returns:
        The value of the `blending` attribute

    - #### culling

          public com.io7m.jcanephora.renderstate.JCGLCullingState culling()

      Specified by:
        `culling` in interface `R2TranslucentBatchedType<M>`
      Specified by:
        `culling` in interface `R2TranslucentType<M>`
      Returns:
        The value of the `culling` attribute

    - #### withInstance

          public final R2TranslucentBatched<M> withInstance(R2InstanceBatchedType value)

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

    - #### withShader

          public final R2TranslucentBatched<M> withShader(R2ShaderTranslucentInstanceBatchedType<M> value)

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

    - #### withShaderParameters

          public final R2TranslucentBatched<M> withShaderParameters(M value)

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

    - #### withBlending

          public final R2TranslucentBatched<M> withBlending(com.io7m.jcanephora.renderstate.JCGLBlendState value)

      Copy the current immutable object by setting a present value for the optional `blending` attribute.
      Parameters:
        `value` - The value for blending
      Returns:
        A modified copy of `this` object

    - #### withBlending

          public final R2TranslucentBatched<M> withBlending(Optional<com.io7m.jcanephora.renderstate.JCGLBlendState> optional)

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

    - #### withCulling

          public final R2TranslucentBatched<M> withCulling(com.io7m.jcanephora.renderstate.JCGLCullingState value)

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

    - #### equals

          public boolean equals(Object another)

      This instance is equal to all instances of `R2TranslucentBatched` 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: `instance`, `shader`, `shaderParameters`, `blending`, `culling`.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        hashCode value

    - #### toString

          public String toString()

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

    - #### of

          public static <M> R2TranslucentBatched<M> of(R2InstanceBatchedType instance,
                                                       R2ShaderTranslucentInstanceBatchedType<M> shader,
                                                       M shaderParameters,
                                                       Optional<com.io7m.jcanephora.renderstate.JCGLBlendState> blending,
                                                       com.io7m.jcanephora.renderstate.JCGLCullingState culling)

      Construct a new immutable `R2TranslucentBatched` instance.
      Parameters:
        `instance` - The value for the `instance` attribute
        `shader` - The value for the `shader` attribute
        `shaderParameters` - The value for the `shaderParameters` attribute
        `blending` - The value for the `blending` attribute
        `culling` - The value for the `culling` attribute
      Returns:
        An immutable R2TranslucentBatched instance

    - #### copyOf

          public static <M> R2TranslucentBatched<M> copyOf(R2TranslucentBatchedType<M> instance)

      Creates an immutable copy of a `R2TranslucentBatchedType` 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:
        `M` - generic parameter M
      Parameters:
        `instance` - The instance to copy
      Returns:
        A copied immutable R2TranslucentBatched instance

    - #### builder

          public static <M> R2TranslucentBatched.Builder<M> builder()

      Creates a builder for `R2TranslucentBatched`.
      Type Parameters:
        `M` - generic parameter M
      Returns:
        A new R2TranslucentBatched builder

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