com.io7m.smfj.core

## Class SMFCoordinateSystem

- java.lang.Object
- - com.io7m.smfj.core.SMFCoordinateSystem

- All Implemented Interfaces:
    SMFCoordinateSystemType

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

  The specification of a coordinate system and face winding order.

- - ### Nested Class Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.io7m.jcoords.core.conversion.CAxisSystem` | `axes()`
    `static SMFCoordinateSystem.Builder` | `builder()` Creates a builder for `SMFCoordinateSystem`.
    `static SMFCoordinateSystem` | `copyOf(SMFCoordinateSystemType instance)` Creates an immutable copy of a `SMFCoordinateSystemType` value.
    `boolean` | `equals(Object another)` This instance is equal to all instances of `SMFCoordinateSystem` that have equal attribute values.
    `int` | `hashCode()` Computes a hash code from attributes: `axes`, `windingOrder`.
    `static SMFCoordinateSystem` | `of(com.io7m.jcoords.core.conversion.CAxisSystem axes, SMFFaceWindingOrder windingOrder)` Construct a new immutable `SMFCoordinateSystem` instance.
    `String` | `toHumanString()`
    `String` | `toString()` Prints the immutable value `SMFCoordinateSystem` with attribute values.
    `SMFFaceWindingOrder` | `windingOrder()`
    `SMFCoordinateSystem` | `withAxes(com.io7m.jcoords.core.conversion.CAxisSystem value)` Copy the current immutable object by setting a value for the `axes` attribute.
    `SMFCoordinateSystem` | `withWindingOrder(SMFFaceWindingOrder value)` Copy the current immutable object by setting a value for the `windingOrder` attribute.

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

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

- - ### Method Detail

    - #### axes

          public com.io7m.jcoords.core.conversion.CAxisSystem axes()

      Specified by:
        `axes` in interface `SMFCoordinateSystemType`
      Returns:
        The coordinate system axes

    - #### windingOrder

          public SMFFaceWindingOrder windingOrder()

      Specified by:
        `windingOrder` in interface `SMFCoordinateSystemType`
      Returns:
        The winding order for triangles

    - #### withAxes

          public final SMFCoordinateSystem withAxes(com.io7m.jcoords.core.conversion.CAxisSystem value)

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

    - #### withWindingOrder

          public final SMFCoordinateSystem withWindingOrder(SMFFaceWindingOrder value)

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

    - #### equals

          public boolean equals(Object another)

      This instance is equal to all instances of `SMFCoordinateSystem` 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: `axes`, `windingOrder`.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        hashCode value

    - #### toString

          public String toString()

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

    - #### toHumanString

          public String toHumanString()

      Returns a lazily initialized value of the `toHumanString` attribute. Initialized once and only once and stored for subsequent access with proper synchronization.

      Specified by:
        `toHumanString` in interface `SMFCoordinateSystemType`
      Returns:
        A lazily initialized value of the `l.name` attribute

    - #### of

          public static SMFCoordinateSystem of(com.io7m.jcoords.core.conversion.CAxisSystem axes,
                                               SMFFaceWindingOrder windingOrder)

      Construct a new immutable `SMFCoordinateSystem` instance.
      Parameters:
        `axes` - The value for the `axes` attribute
        `windingOrder` - The value for the `windingOrder` attribute
      Returns:
        An immutable SMFCoordinateSystem instance

    - #### copyOf

          public static SMFCoordinateSystem copyOf(SMFCoordinateSystemType instance)

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

    - #### builder

          public static SMFCoordinateSystem.Builder builder()

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

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