class PBRT::Spectrum

Attributes

args[R]
type[R]

Public Class Methods

check_value_is_a_spectrum(value) click to toggle source
# File lib/pbrt/spectrum.rb, line 16
def self.check_value_is_a_spectrum(value)
  return if value.is_a?(self)

  message = "Please specify the spectrum representation for #{value.inspect}.\n"
  message += "You can do this by wrapping the value: rgb(#{value.inspect})\n"
  message += "Valid representations are: rgb, xyz, sampled and blackbody"

  raise AmbiguousSpectrumError, message
end
new(type, *args) click to toggle source
# File lib/pbrt/spectrum.rb, line 5
def initialize(type, *args)
  @type = type
  @args = args
end
unpack(value) click to toggle source
# File lib/pbrt/spectrum.rb, line 10
def self.unpack(value)
  check_value_is_a_spectrum(value)

  [value.type, value.args]
end