Module: OpenUSD::Format::Usda::PropertyMerger
- Defined in:
- lib/openusd/format/usda/property_merger.rb
Overview
Combines fields from repeated USDA declarations into one property spec.
Class Method Summary collapse
-
.merge(prim, property) ⇒ AttributeSpec, RelationshipSpec
Merge a parsed property into its owning prim.
Class Method Details
.merge(prim, property) ⇒ AttributeSpec, RelationshipSpec
Merge a parsed property into its owning prim.
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/openusd/format/usda/property_merger.rb', line 12 def merge(prim, property) existing = prim.property_named(property.name) return prim.add_property(property) unless existing unless existing.instance_of?(property.class) raise OpenUSD::TypeError, "property #{property.name} is declared with conflicting kinds" end existing.is_a?(AttributeSpec) ? merge_attribute(existing, property) : merge_relationship(existing, property) existing end |