com.io7m.smfj.bytebuffer

## Class SMFByteBufferPackedMesh

- java.lang.Object
- - com.io7m.smfj.bytebuffer.SMFByteBufferPackedMesh

- All Implemented Interfaces:
    SMFByteBufferPackedMeshType

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

  A mesh that has been packed into a set of byte buffers.

- - ### Nested Class Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `javaslang.collection.Seq<SMFByteBufferPackedAttributeSet>` | `attributeSets()`
    `javaslang.collection.SortedMap<Integer,SMFByteBufferPackedAttributeSet>` | `attributeSetsByID()`
    `static SMFByteBufferPackedMesh.Builder` | `builder()` Creates a builder for `SMFByteBufferPackedMesh`.
    `static SMFByteBufferPackedMesh` | `copyOf(SMFByteBufferPackedMeshType instance)` Creates an immutable copy of a `SMFByteBufferPackedMeshType` value.
    `boolean` | `equals(Object another)` This instance is equal to all instances of `SMFByteBufferPackedMesh` that have equal attribute values.
    `int` | `hashCode()` Computes a hash code from attributes: `attributeSets`, `triangles`, `header`, `attributeSetsByID`.
    `SMFHeader` | `header()`
    `static SMFByteBufferPackedMesh` | `of(javaslang.collection.Seq<SMFByteBufferPackedAttributeSet> attributeSets, Optional<SMFByteBufferPackedTriangles> triangles, SMFHeader header)` Construct a new immutable `SMFByteBufferPackedMesh` instance.
    `String` | `toString()` Prints the immutable value `SMFByteBufferPackedMesh` with attribute values.
    `Optional<SMFByteBufferPackedTriangles>` | `triangles()`
    `SMFByteBufferPackedMesh` | `withAttributeSets(javaslang.collection.Seq<SMFByteBufferPackedAttributeSet> value)`
    `SMFByteBufferPackedMesh` | `withHeader(SMFHeader value)` Copy the current immutable object by setting a value for the `header` attribute.
    `SMFByteBufferPackedMesh` | `withTriangles(Optional<? extends SMFByteBufferPackedTriangles> optional)` Copy the current immutable object by setting an optional value for the `triangles` attribute.
    `SMFByteBufferPackedMesh` | `withTriangles(SMFByteBufferPackedTriangles value)` Copy the current immutable object by setting a present value for the optional `triangles` attribute.

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

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

- - ### Method Detail

    - #### attributeSets

          public javaslang.collection.Seq<SMFByteBufferPackedAttributeSet> attributeSets()

      Specified by:
        `attributeSets` in interface `SMFByteBufferPackedMeshType`
      Returns:
        The sets of packed attributes

    - #### triangles

          public Optional<SMFByteBufferPackedTriangles> triangles()

      Specified by:
        `triangles` in interface `SMFByteBufferPackedMeshType`
      Returns:
        The packed triangles, if any

    - #### header

          public SMFHeader header()

      Specified by:
        `header` in interface `SMFByteBufferPackedMeshType`
      Returns:
        The parsed header

    - #### attributeSetsByID

          public javaslang.collection.SortedMap<Integer,SMFByteBufferPackedAttributeSet> attributeSetsByID()

      Specified by:
        `attributeSetsByID` in interface `SMFByteBufferPackedMeshType`
      Returns:
        The sets of packed attributes, grouped by ID

    - #### withAttributeSets

          public SMFByteBufferPackedMesh withAttributeSets(javaslang.collection.Seq<SMFByteBufferPackedAttributeSet> value)

    - #### withTriangles

          public final SMFByteBufferPackedMesh withTriangles(SMFByteBufferPackedTriangles value)

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

    - #### withTriangles

          public final SMFByteBufferPackedMesh withTriangles(Optional<? extends SMFByteBufferPackedTriangles> optional)

      Copy the current immutable object by setting an optional value for the `triangles` 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 triangles
      Returns:
        A modified copy of `this` object

    - #### withHeader

          public final SMFByteBufferPackedMesh withHeader(SMFHeader value)

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

    - #### equals

          public boolean equals(Object another)

      This instance is equal to all instances of `SMFByteBufferPackedMesh` 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: `attributeSets`, `triangles`, `header`, `attributeSetsByID`.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        hashCode value

    - #### toString

          public String toString()

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

    - #### of

          public static SMFByteBufferPackedMesh of(javaslang.collection.Seq<SMFByteBufferPackedAttributeSet> attributeSets,
                                                   Optional<SMFByteBufferPackedTriangles> triangles,
                                                   SMFHeader header)

      Construct a new immutable `SMFByteBufferPackedMesh` instance.
      Parameters:
        `attributeSets` - The value for the `attributeSets` attribute
        `triangles` - The value for the `triangles` attribute
        `header` - The value for the `header` attribute
      Returns:
        An immutable SMFByteBufferPackedMesh instance

    - #### copyOf

          public static SMFByteBufferPackedMesh copyOf(SMFByteBufferPackedMeshType instance)

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

    - #### builder

          public static SMFByteBufferPackedMesh.Builder builder()

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

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