com.io7m.jcanephora.renderstate

## Class JCGLDepthState

- java.lang.Object
- - com.io7m.jcanephora.renderstate.JCGLDepthState

- All Implemented Interfaces:
    JCGLDepthStateType

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

  Depth testing/writing state.

- - ### Nested Class Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static JCGLDepthState.Builder` | `builder()` Creates a builder for `JCGLDepthState`.
    `boolean` | `equals(Object another)` This instance is equal to all instances of `JCGLDepthState` that have equal attribute values.
    `JCGLDepthClamping` | `getDepthClamp()`
    `JCGLDepthStrict` | `getDepthStrict()` Enable or disable strict mode.
    `Optional<JCGLDepthFunction>` | `getDepthTest()`
    `JCGLDepthWriting` | `getDepthWrite()`
    `int` | `hashCode()` Computes a hash code from attributes: `depthStrict`, `depthTest`, `depthWrite`, `depthClamp`.
    `static JCGLDepthState` | `of(JCGLDepthStrict depthStrict, Optional<JCGLDepthFunction> depthTest, JCGLDepthWriting depthWrite, JCGLDepthClamping depthClamp)` Construct a new immutable `JCGLDepthState` instance.
    `String` | `toString()` Prints the immutable value `JCGLDepthState` with attribute values.

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

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

- - ### Method Detail

    - #### getDepthStrict

          public JCGLDepthStrict getDepthStrict()

      Enable or disable strict mode. If strict mode is enabled, then attempting to enable depth writing/testing/clamping will fail with an exception if the currently bound framebuffer does not have a depth buffer.
      Specified by:
        `getDepthStrict` in interface `JCGLDepthStateType`
      Returns:
        `JCGLDepthStrict.DEPTH_STRICT_ENABLED` iff strict mode is enabled

    - #### getDepthTest

          public Optional<JCGLDepthFunction> getDepthTest()

      Specified by:
        `getDepthTest` in interface `JCGLDepthStateType`
      Returns:
        The depth testing function, if testing is enabled

    - #### getDepthWrite

          public JCGLDepthWriting getDepthWrite()

      Specified by:
        `getDepthWrite` in interface `JCGLDepthStateType`
      Returns:
        `JCGLDepthWriting.DEPTH_WRITE_ENABLED` if depth writing is enabled

    - #### getDepthClamp

          public JCGLDepthClamping getDepthClamp()

      Specified by:
        `getDepthClamp` in interface `JCGLDepthStateType`
      Returns:
        `JCGLDepthClamping.DEPTH_CLAMP_ENABLED` if depth clamping is enabled

    - #### equals

          public boolean equals(Object another)

      This instance is equal to all instances of `JCGLDepthState` 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: `depthStrict`, `depthTest`, `depthWrite`, `depthClamp`.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        hashCode value

    - #### toString

          public String toString()

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

    - #### of

          public static JCGLDepthState of(JCGLDepthStrict depthStrict,
                                          Optional<JCGLDepthFunction> depthTest,
                                          JCGLDepthWriting depthWrite,
                                          JCGLDepthClamping depthClamp)

      Construct a new immutable `JCGLDepthState` instance.
      Parameters:
        `depthStrict` - The value for the `depthStrict` attribute
        `depthTest` - The value for the `depthTest` attribute
        `depthWrite` - The value for the `depthWrite` attribute
        `depthClamp` - The value for the `depthClamp` attribute
      Returns:
        An immutable JCGLDepthState instance

    - #### builder

          public static JCGLDepthState.Builder builder()

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

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