Class: OpenUSD::Composition

Inherits:
Object
  • Object
show all
Defined in:
lib/openusd/composition.rb

Overview

Builds the v1 root/sublayer/reference composition index.

Defined Under Namespace

Classes: VariantOpinion

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(root_layer, resolver:, layer_cache: {}) ⇒ Composition

Returns a new instance of Composition.



19
20
21
22
23
24
25
# File 'lib/openusd/composition.rb', line 19

def initialize(root_layer, resolver:, layer_cache: {})
  @root_layer = root_layer
  @resolver = resolver
  @layer_cache = layer_cache
  @layer_cache[layer_key(root_layer)] = root_layer
  @layers = []
end

Instance Attribute Details

#layer_cacheObject (readonly)

Returns the value of attribute layer_cache.



17
18
19
# File 'lib/openusd/composition.rb', line 17

def layer_cache
  @layer_cache
end

#layersObject (readonly)

Returns the value of attribute layers.



17
18
19
# File 'lib/openusd/composition.rb', line 17

def layers
  @layers
end

#resolverObject (readonly)

Returns the value of attribute resolver.



17
18
19
# File 'lib/openusd/composition.rb', line 17

def resolver
  @resolver
end

#root_layerObject (readonly)

Returns the value of attribute root_layer.



17
18
19
# File 'lib/openusd/composition.rb', line 17

def root_layer
  @root_layer
end

Instance Method Details

#buildObject

Map absolute prim paths to opinions in strongest-to-weakest order.



28
29
30
31
# File 'lib/openusd/composition.rb', line 28

def build
  @layers = []
  compose_layer(root_layer, [])
end