com.io7m.r2.core

## Interface R2LightWithShadowSingleType

- All Superinterfaces:
    R2LightReadableType, R2LightSingleReadableType, R2LightSingleType, R2LightSingleWritableType, R2LightWritableType
  All Known Subinterfaces:
    R2LightProjectiveWithShadowReadableType, R2LightProjectiveWithShadowType, R2LightProjectiveWithShadowVarianceType, R2LightProjectiveWithShadowWritableType
  All Known Implementing Classes:
    R2LightProjectiveWithShadowVariance

      public interface R2LightWithShadowSingleType
      extends R2LightSingleType

  The type of single-instance lights that have shadows.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `<A,B,E extends Throwable> B` | `matchLightWithShadow(A context, com.io7m.jfunctional.PartialBiFunctionType<A,R2LightProjectiveWithShadowType,B,E> on_project)` Match on the type of light.
    `R2ShadowType` | `shadow()`

    - ### Methods inherited from interface com.io7m.r2.core.R2LightSingleReadableType

      `arrayObject, matchLightSingle, transform`

    - ### Methods inherited from interface com.io7m.r2.core.R2LightReadableType

      `color, intensity, lightID`

    - ### Methods inherited from interface com.io7m.r2.core.R2LightWritableType

      `colorWritable, setIntensity`

- - ### Method Detail

    - #### shadow

          R2ShadowType shadow()

      Returns:
        The shadow for the light

    - #### matchLightWithShadow

          <A,B,E extends Throwable> B matchLightWithShadow(A context,
                                                           com.io7m.jfunctional.PartialBiFunctionType<A,R2LightProjectiveWithShadowType,B,E> on_project)
                                                    throws E extends Throwable

      Match on the type of light.
      Type Parameters:
        `A` - The type of context values
        `B` - The type of returned values
        `E` - The type of raised exceptions
      Parameters:
        `context` - A context value
        `on_project` - Evaluated for projective lights
      Returns:
        A value of type `B`
      Throws:
        `E` - If any of the given functions raise `E`
        `E extends Throwable`

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