SdfCleanupEnabler Class Reference

An RAII class which, when an instance is alive, enables scheduling of automatic cleanup of SdfLayers. More...

Static Public Member Functions

static SDF_API bool IsCleanupEnabled ()
 Returns whether cleanup is currently being scheduled. More...
 

Detailed Description

An RAII class which, when an instance is alive, enables scheduling of automatic cleanup of SdfLayers.

Any affected specs which no longer contribute to the scene will be removed when the last SdfCleanupEnabler instance goes out of scope. Note that for this purpose, SdfPropertySpecs are removed if they have only required fields (see SdfPropertySpecs::HasOnlyRequiredFields), but only if the property spec itself was affected by an edit that left it with only required fields. This will have the effect of uninstantiating on-demand attributes. For example, if its parent prim was affected by an edit that left it otherwise inert, it will not be removed if it contains an SdfPropertySpec with only required fields, but if the property spec itself is edited leaving it with only required fields, it will be removed, potentially uninstantiating it if it's an on-demand property.

SdfCleanupEnablers are accessible in both C++ and Python.

/// SdfCleanupEnabler can be used in the following manner:

{
// Perform any action that might otherwise leave inert specs around,
// such as removing info from properties or prims, or removing name
// children. i.e:
primSpec->ClearInfo(SdfFieldKeys->Default);
// When enabler goes out of scope on the next line, primSpec will
// be removed if it has been left as an empty over.
}

Definition at line 69 of file cleanupEnabler.h.

Member Function Documentation

◆ IsCleanupEnabled()

static SDF_API bool IsCleanupEnabled ( )
static

Returns whether cleanup is currently being scheduled.


The documentation for this class was generated from the following file: