Class: Rgltf::Extensions::KHRMaterialsEmissiveStrength

Inherits:
Rgltf::Extension show all
Defined in:
lib/rgltf/extensions/khr_materials_emissive_strength.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Rgltf::Extension

decode_primitive, register, serialize_properties

Constructor Details

#initialize(json) ⇒ KHRMaterialsEmissiveStrength

Returns a new instance of KHRMaterialsEmissiveStrength.



8
9
10
# File 'lib/rgltf/extensions/khr_materials_emissive_strength.rb', line 8

def initialize(json)
  @emissive_strength = json.fetch('emissiveStrength', 1.0)
end

Instance Attribute Details

#emissive_strengthObject (readonly)

Returns the value of attribute emissive_strength.



6
7
8
# File 'lib/rgltf/extensions/khr_materials_emissive_strength.rb', line 6

def emissive_strength
  @emissive_strength
end

Class Method Details

.parse(json, owner:, doc:) ⇒ Object



12
13
14
# File 'lib/rgltf/extensions/khr_materials_emissive_strength.rb', line 12

def self.parse(json, owner:, doc:)
  new(json)
end

.serialize(object, doc:) ⇒ Object



16
17
18
19
20
# File 'lib/rgltf/extensions/khr_materials_emissive_strength.rb', line 16

def self.serialize(object, doc:)
  value = object.emissive_strength == 1.0 ? {} : { 'emissiveStrength' => object.emissive_strength }

  serialize_properties(value, handled_keys: %w[emissiveStrength])
end