DynamicAttributeAccess#
- class omni.graph.core.DynamicAttributeAccess(
- context_id: GraphContext,
- node: Node,
- attributes,
- dynamic_attributes: DynamicAttributeInterface,
- Bases: - object- Base class for the generated classes that contain the access properties for all attributes. Each of the port containers, db.inputs/db.outputs/db.state, houses the attribute data access properties. These containers are constructed when the database is created, with hardcoded properties for all statically defined attributes. This class intercepts getattr/setattr/delattr calls to check to see if the property being requested is a dynamic attribute, and if so then it uses the properties stored in the per-node data as the access points. - So the lookup sequence goes like this
- db -> og.Database
- .inputs -> ValuesForInput(DynamicAttributeAccess)
- .myAttribute -> DynamicAttributeAccess.__getattr__
- -> ValuesForInput.__getattr__ (if the above fails) 
 
 
 
 - It makes the bold assumption that the attributes are all set up nicely; no duplicate names, invalid types, missing configuration, etc. - Attributes use leading underscores to minimize name collisions with the dynamically added attributes. (Double underscores would have been preferable but would have made access from the derived classes problematic.) - _context#
- Graph context used for evaluating this node 
 - _node#
- The OmniGraph node to which this data belongs 
 - _attributes#
- The set of attributes on this object’s port 
 - _dynamic_attributes#
- Container holding the per-node specification of dynamic attributes, not visible to derived classes 
 - Methods - __init__(context_id, node, attributes, ...)- Initialize common data used for all attribute port types - Get the interface to the dynamic attributes - __init__(
- context_id: GraphContext,
- node: Node,
- attributes,
- dynamic_attributes: DynamicAttributeInterface,
- Initialize common data used for all attribute port types - Parameters:
- context_id – Context of the evaluation 
- node – Node owning the attribute 
- attributes – List of attributes belonging to this accessor 
- dynamic_attributes – Interface to the dynamic attributes 
 
 
 - get_dynamic_attributes() DynamicAttributeInterface#
- Get the interface to the dynamic attributes - Returns:
- Direct access to the dynamic attributes managed by this class,
- avoiding the __getattr__ override 
 
- Return type: