com.io7m.r2.core

## Class R2InstanceSingle

- java.lang.Object
- - com.io7m.r2.core.R2InstanceSingle

- All Implemented Interfaces:
    R2InstanceSingleType, R2InstanceType

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

  The type of single instances.

  A single instance consists of a set of one or more vertex buffers containing mesh data, a per-instance UV matrix, and a transform.

- - ### Nested Class Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.io7m.jcanephora.core.JCGLArrayObjectUsableType` | `arrayObject()`
    `static R2InstanceSingle.Builder` | `builder()` Creates a builder for `R2InstanceSingle`.
    `static R2InstanceSingle` | `copyOf(R2InstanceSingleType instance)` Creates an immutable copy of a `R2InstanceSingleType` value.
    `boolean` | `equals(Object another)` This instance is equal to all instances of `R2InstanceSingle` that have equal attribute values.
    `int` | `hashCode()` Computes a hash code from attributes: `instanceID`, `arrayObject`, `transform`, `uvMatrix`.
    `long` | `instanceID()`
    `static R2InstanceSingle` | `of(long instanceID, com.io7m.jcanephora.core.JCGLArrayObjectUsableType arrayObject, R2TransformReadableType transform, com.io7m.jtensors.parameterized.PMatrixReadable3x3FType<R2SpaceTextureType,R2SpaceTextureType> uvMatrix)` Construct a new immutable `R2InstanceSingle` instance.
    `String` | `toString()` Prints the immutable value `R2InstanceSingle` with attribute values.
    `R2TransformReadableType` | `transform()`
    `com.io7m.jtensors.parameterized.PMatrixReadable3x3FType<R2SpaceTextureType,R2SpaceTextureType>` | `uvMatrix()`
    `R2InstanceSingle` | `withArrayObject(com.io7m.jcanephora.core.JCGLArrayObjectUsableType value)` Copy the current immutable object by setting a value for the `arrayObject` attribute.
    `R2InstanceSingle` | `withInstanceID(long value)` Copy the current immutable object by setting a value for the `instanceID` attribute.
    `R2InstanceSingle` | `withTransform(R2TransformReadableType value)` Copy the current immutable object by setting a value for the `transform` attribute.
    `R2InstanceSingle` | `withUvMatrix(com.io7m.jtensors.parameterized.PMatrixReadable3x3FType<R2SpaceTextureType,R2SpaceTextureType> value)` Copy the current immutable object by setting a value for the `uvMatrix` attribute.

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

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

- - ### Method Detail

    - #### instanceID

          public long instanceID()

      Specified by:
        `instanceID` in interface `R2InstanceSingleType`
      Specified by:
        `instanceID` in interface `R2InstanceType`
      Returns:
        The value of the `instanceID` attribute

    - #### arrayObject

          public com.io7m.jcanephora.core.JCGLArrayObjectUsableType arrayObject()

      Specified by:
        `arrayObject` in interface `R2InstanceSingleType`
      Returns:
        The instance array object

    - #### transform

          public R2TransformReadableType transform()

      Specified by:
        `transform` in interface `R2InstanceSingleType`
      Returns:
        The instance transform

    - #### uvMatrix

          public com.io7m.jtensors.parameterized.PMatrixReadable3x3FType<R2SpaceTextureType,R2SpaceTextureType> uvMatrix()

      Specified by:
        `uvMatrix` in interface `R2InstanceSingleType`
      Returns:
        The instance UV matrix

    - #### withInstanceID

          public final R2InstanceSingle withInstanceID(long value)

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

    - #### withArrayObject

          public final R2InstanceSingle withArrayObject(com.io7m.jcanephora.core.JCGLArrayObjectUsableType value)

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

    - #### withTransform

          public final R2InstanceSingle withTransform(R2TransformReadableType value)

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

    - #### withUvMatrix

          public final R2InstanceSingle withUvMatrix(com.io7m.jtensors.parameterized.PMatrixReadable3x3FType<R2SpaceTextureType,R2SpaceTextureType> value)

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

    - #### equals

          public boolean equals(Object another)

      This instance is equal to all instances of `R2InstanceSingle` 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: `instanceID`, `arrayObject`, `transform`, `uvMatrix`.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        hashCode value

    - #### toString

          public String toString()

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

    - #### of

          public static R2InstanceSingle of(long instanceID,
                                            com.io7m.jcanephora.core.JCGLArrayObjectUsableType arrayObject,
                                            R2TransformReadableType transform,
                                            com.io7m.jtensors.parameterized.PMatrixReadable3x3FType<R2SpaceTextureType,R2SpaceTextureType> uvMatrix)

      Construct a new immutable `R2InstanceSingle` instance.
      Parameters:
        `instanceID` - The value for the `instanceID` attribute
        `arrayObject` - The value for the `arrayObject` attribute
        `transform` - The value for the `transform` attribute
        `uvMatrix` - The value for the `uvMatrix` attribute
      Returns:
        An immutable R2InstanceSingle instance

    - #### copyOf

          public static R2InstanceSingle copyOf(R2InstanceSingleType instance)

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

    - #### builder

          public static R2InstanceSingle.Builder builder()

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

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