com.io7m.r2.core

## Interface R2LightSingleReadableType

- All Superinterfaces:
    R2LightReadableType
  All Known Subinterfaces:
    R2LightProjectiveReadableType, R2LightProjectiveType, R2LightProjectiveUsableType, R2LightProjectiveWithoutShadowReadableType, R2LightProjectiveWithoutShadowType, R2LightProjectiveWithShadowReadableType, R2LightProjectiveWithShadowType, R2LightProjectiveWithShadowVarianceType, R2LightProjectiveWithShadowWritableType, R2LightScreenSingleType, R2LightSingleType, R2LightSphericalSingleReadableType, R2LightSphericalSingleType, R2LightVolumeSingleReadableType, R2LightVolumeSingleType, R2LightWithShadowSingleType
  All Known Implementing Classes:
    R2LightAmbientScreenSingle, R2LightDirectionalScreenSingle, R2LightProjectiveWithoutShadow, R2LightProjectiveWithShadowVariance, R2LightSphericalSingle

      public interface R2LightSingleReadableType
      extends R2LightReadableType

  The type of single-instance lights.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.io7m.jcanephora.core.JCGLArrayObjectUsableType` | `arrayObject()`
    `<A,B,E extends Throwable> B` | `matchLightSingle(A context, com.io7m.jfunctional.PartialBiFunctionType<A,R2LightVolumeSingleType,B,E> on_volume, com.io7m.jfunctional.PartialBiFunctionType<A,R2LightScreenSingleType,B,E> on_screen)` Match on the type of light.
    `R2TransformReadableType` | `transform()`

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

      `color, intensity, lightID`

- - ### Method Detail

    - #### arrayObject

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

      Returns:
        The array object that will be used to render the light geometry

    - #### transform

          R2TransformReadableType transform()

      Returns:
        The transform for the light origin

    - #### matchLightSingle

          <A,B,E extends Throwable> B matchLightSingle(A context,
                                                       com.io7m.jfunctional.PartialBiFunctionType<A,R2LightVolumeSingleType,B,E> on_volume,
                                                       com.io7m.jfunctional.PartialBiFunctionType<A,R2LightScreenSingleType,B,E> on_screen)
                                                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_volume` - Evaluated for volume lights
        `on_screen` - Evaluated for screen 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