Module raytracer

Class LightModelProcessor.TracedRaysContainer

All Implemented Interfaces:
ObjectConsumer<ObjectList<RadiationModel.RayPoint>>, VoidToObjectGenerator<ObjectList<RadiationModel.RayPoint>>, Serializable, Cloneable, Iterable<ObjectList<RadiationModel.RayPoint>>, Collection<ObjectList<RadiationModel.RayPoint>>, List<ObjectList<RadiationModel.RayPoint>>, RandomAccess, SequencedCollection<ObjectList<RadiationModel.RayPoint>>
Enclosing class:
LightModelProcessor

public static final class LightModelProcessor.TracedRaysContainer extends ObjectList<ObjectList<RadiationModel.RayPoint>>
Replaces the plain ObjectList used for traced-ray storage with a version that enforces a per-light-source budget via AtomicInteger counters. This prevents multi-threaded tracing from filling all storage slots from light source 0 before other sources are reached.
See Also:
  • Constructor Details

    • TracedRaysContainer

      public TracedRaysContainer()