de.caff.generics.mda

## Interface ThreeDimensionalLongAccess

- All Superinterfaces:
    MultiDimensional, MultiDimensionalAccess<java.lang.Long>, MultiDimensionalReadAccess<java.lang.Long>, ThreeDimensionalAccess<java.lang.Long>, ThreeDimensionalLongReadAccess, ThreeDimensionalReadAccess<java.lang.Long>
  All Known Implementing Classes:
    ThreeDimensionalLongArray

      public interface ThreeDimensionalLongAccess
      extends ThreeDimensionalLongReadAccess, ThreeDimensionalAccess<java.lang.Long>

  Read/write access for 3-dimensional rectangular long arrays.
  Since:
    November 11, 2019
  Author:
    Rammi

- - ### Field Summary

    - ### Fields inherited from interface de.caff.generics.mda.ThreeDimensionalAccess

      `EMPTY`

    - ### Fields inherited from interface de.caff.generics.mda.MultiDimensionalReadAccess

      `EMPTY0, EMPTY1, EMPTY2, EMPTY3, EMPTY4, EMPTY5, EMPTY6, EMPTY7`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default void` | `changeAllValues(LongOperator1 operator)` Change all values by applying an operator.
    `default void` | `changeValueAt(LongOperator1 operator, int ix, int iy, int iz)` Change the value at the given indexes.
    `default void` | `fillValuesByIndex(IntToLongFunction3 setter)` Set all values depending on their indexes.
    `default void` | `setElementAt(java.lang.Long element, int ix, int iy, int iz)` Set the element at the given indexes.
    `void` | `setValueAt(long value, int ix, int iy, int iz)` Set the value at the given indexes.
    `default TwoDimensionalLongAccess` | `subAtX(int fixX)` Get a 2-dimensional view of the plane at the given X index.
    `default TwoDimensionalLongAccess` | `subAtY(int fixY)` Get a 2-dimensional view of the plane at the given Y index.
    `default TwoDimensionalLongAccess` | `subAtZ(int fixZ)` Get a 2-dimensional view of the plane at the given Z index.

    - ### Methods inherited from interface de.caff.generics.mda.ThreeDimensionalLongReadAccess

      `getElementAt, getValueAt`

    - ### Methods inherited from interface de.caff.generics.mda.ThreeDimensionalAccess

      `changeAll, changeAll, empty, fillByIndex, setElement`

    - ### Methods inherited from interface de.caff.generics.mda.ThreeDimensionalReadAccess

      `getElement, getNumDimensions, getNumElements, getSize, getSizes, singleton, sizeX, sizeY, sizeZ, view, visitAll, visitAll`

    - ### Methods inherited from interface de.caff.generics.mda.MultiDimensionalAccess

      `change, setAll, setFrom, setFrom, setFrom`

    - ### Methods inherited from interface de.caff.generics.mda.MultiDimensionalReadAccess

      `empty, linearized`

- - ### Method Detail

    - #### setValueAt

          void setValueAt(long value,
                          int ix,
                          int iy,
                          int iz)

      Set the value at the given indexes.
      Parameters:
        `value` - value to set
        `ix` - X index
        `iy` - Y index
        `iz` - Z index

    - #### changeValueAt

          default void changeValueAt(@NotNull
                                     LongOperator1 operator,
                                     int ix,
                                     int iy,
                                     int iz)

      Change the value at the given indexes.
      Parameters:
        `operator` - operator to apply to the value
        `ix` - X index
        `iy` - Y index
        `iz` - Z index

    - #### changeAllValues

          default void changeAllValues(@NotNull
                                       LongOperator1 operator)

      Change all values by applying an operator.
      Parameters:
        `operator` - operator to apply

    - #### fillValuesByIndex

          default void fillValuesByIndex(@NotNull
                                         IntToLongFunction3 setter)

      Set all values depending on their indexes. This will call the setter for all indexes (x,y,z) and set the value at the given indexes from its result.
      Parameters:
        `setter` - setter which provides the value to set for each index combination

    - #### setElementAt

          default void setElementAt(@NotNull
                                    java.lang.Long element,
                                    int ix,
                                    int iy,
                                    int iz)

      Description copied from interface: `ThreeDimensionalAccess`
      Set the element at the given indexes.
      Specified by:
        `setElementAt` in interface `ThreeDimensionalAccess<java.lang.Long>`
      Parameters:
        `element` - element to set
        `ix` - index in X direction from `0` (included) to `ThreeDimensionalReadAccess.sizeX()` (excluded)
        `iy` - index in Y direction from `0` (included) to `ThreeDimensionalReadAccess.sizeY()` (excluded)
        `iz` - index in Y direction from `0` (included) to `ThreeDimensionalReadAccess.sizeZ()` (excluded)

    - #### subAtX

          @NotNull
          default TwoDimensionalLongAccess subAtX(int fixX)

      Description copied from interface: `ThreeDimensionalReadAccess`
      Get a 2-dimensional view of the plane at the given X index. This is a view, so setting elements will change values in this array.
      Specified by:
        `subAtX` in interface `ThreeDimensionalAccess<java.lang.Long>`
      Specified by:
        `subAtX` in interface `ThreeDimensionalLongReadAccess`
      Specified by:
        `subAtX` in interface `ThreeDimensionalReadAccess<java.lang.Long>`
      Parameters:
        `fixX` - fix X index
      Returns:
        2-dimensional array at `fixX`

    - #### subAtY

          @NotNull
          default TwoDimensionalLongAccess subAtY(int fixY)

      Description copied from interface: `ThreeDimensionalReadAccess`
      Get a 2-dimensional view of the plane at the given Y index. This is a view, so setting elements will change values in this array.
      Specified by:
        `subAtY` in interface `ThreeDimensionalAccess<java.lang.Long>`
      Specified by:
        `subAtY` in interface `ThreeDimensionalLongReadAccess`
      Specified by:
        `subAtY` in interface `ThreeDimensionalReadAccess<java.lang.Long>`
      Parameters:
        `fixY` - fix Y index
      Returns:
        2-dimensional array at `fixY`

    - #### subAtZ

          @NotNull
          default TwoDimensionalLongAccess subAtZ(int fixZ)

      Description copied from interface: `ThreeDimensionalReadAccess`
      Get a 2-dimensional view of the plane at the given Z index. This is a view, so setting elements will change values in this array.
      Specified by:
        `subAtZ` in interface `ThreeDimensionalAccess<java.lang.Long>`
      Specified by:
        `subAtZ` in interface `ThreeDimensionalLongReadAccess`
      Specified by:
        `subAtZ` in interface `ThreeDimensionalReadAccess<java.lang.Long>`
      Parameters:
        `fixZ` - fix Z index
      Returns:
        2-dimensional array at `fixZ`