package Ġnet . d ink la . ray tracer . trac ers Ċ Ċ import Ġnet . d ink la . ray tracer . colors . Color Ċ import Ġnet . d ink la . ray tracer . hits . Shade Ċ import Ġnet . d ink la . ray tracer . math . Ray Ċ import Ġnet . d ink la . ray tracer . math . Wrapped Double Ċ import Ġnet . d ink la . ray tracer . world . World Ċ Ċ class ĠMultiple Objects ( var Ġworld : ĠWorld ) Ġ: ĠTr acer Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġtrace ( ray : ĠRay ): ĠColor Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsr Ġ= ĠSh ade () ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( world . hit ( ray , Ġsr )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsr . ray Ġ= Ġray ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsr . material ?. shade ( world , Ġsr ) Ġ?: Ġworld . backgroundColor ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġworld . backgroundColor ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtrace ( ray : ĠRay , Ġdepth : ĠInt ): ĠColor Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" Multiple Objects . trace ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtrace ( ray : ĠRay , Ġt min : ĠWr apped Double , Ġdepth : ĠInt ): ĠColor Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" Multiple Objects . trace ") ĊĠĠĠ Ġ} Ċ Ċ }