OmniUsdLiveFileFormat Overview
OmniUsdLiveFileFormat
OmniUsdLiveFileFormat is a SdfFileFormat plugin that represents “live” SdfLayer`s. The `OmniUsdLiveFileFormat implements the required SdfFileFormat API to properly translate “live” data into Sdf data structures. As such, the vast majority of the code actually lives in OmniUsdLiveData
The OmniUsdLiveFileFormat plugin is being transitioned to a new multi-threaded implementation. Within the code-base this new multi-threaded implementation is being referred to as “live v2” whereas this original OmniUsdLiveFileFormat is considered “live v1”. “v1” and “v2” do not refer to a new version of the “live” protocol on Nucleus but an iteration on the actual OmniUsdLiveFileFormat plugin.
See also Live Layer Details
OmniUsdLiveRegistry
This stores a list of all currently active OmniUsdLiveData objects. This is used during omniClientLiveProcess to iterate over every object to call SendDeltas. It is also used during a layer reload which hapened because a remote client called layer->Clear(). We trigger a layer->Reload() in that case to generate the appropriate notices, but we need OmniUsdLiveFileFormat to re-use the same underlying OmniUsdLiveData.
OmniUsdLiveData
OmniUsdLiveData is a concrete implementation of SdfAbstractData which is responsible for:
Storing the actual layer data in-memory (using OmniUsdLiveTree).
Communication with Nucleus (through Client Library Live Functions).
Building and sending deltas.
Reading and applying deltas.
Generating notices.
See also Live Layer Data
OmniUsdLiveTree
This class stores the actual layer data, including both nodes and field values.
OmniUsdValueHelper
This class is responsible for packing and unpacking VtValues.
See also Value Format
ChildrenHelper
This class is used to help generate a reorder command from a children list, and also for building a children list from a reorder command.
See also Children Order