Sdf module#

Summary: The Sdf (Scene Description Foundation) provides foundations for serializing scene description and primitive abstractions for interacting.


Classes:

AngularUnit

AssetPath

Contains an asset path and an optional resolved path.

AssetPathArray

An array of type SdfAssetPath.

AttributeSpec

A subclass of SdfPropertySpec that holds typed data.

AuthoringError

BatchNamespaceEdit

A description of an arbitrarily complex namespace edit.

ChangeBlock

DANGER DANGER DANGER

ChildrenView_Sdf_AttributeChildPolicy_SdfAttributeViewPredicate

ChildrenView_Sdf_AttributeChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfAttributeSpec___

ChildrenView_Sdf_PrimChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfPrimSpec___

ChildrenView_Sdf_PropertyChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfPropertySpec___

ChildrenView_Sdf_RelationshipChildPolicy_SdfRelationshipViewPredicate

ChildrenView_Sdf_VariantChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfVariantSpec___

ChildrenView_Sdf_VariantSetChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfVariantSetSpec___

CleanupEnabler

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

DimensionlessUnit

FastUpdateList

FileFormat

Base class for file format implementations.

Int64ListOp

IntListOp

Layer

A scene description container that can combine with other such containers to form simple component assets, and successively larger aggregates.

LayerOffset

Represents a time offset and scale between layers.

LayerTree

A SdfLayerTree is an immutable tree structure representing a sublayer stack and its recursive structure.

LengthUnit

ListEditorProxy_SdfNameKeyPolicy

ListEditorProxy_SdfPathKeyPolicy

ListEditorProxy_SdfPayloadTypePolicy

ListEditorProxy_SdfReferenceTypePolicy

ListOpType

ListProxy_SdfNameKeyPolicy

ListProxy_SdfNameTokenKeyPolicy

ListProxy_SdfPathKeyPolicy

ListProxy_SdfPayloadTypePolicy

ListProxy_SdfReferenceTypePolicy

ListProxy_SdfSubLayerTypePolicy

MapEditProxy_VtDictionary

MapEditProxy_map_SdfPath__SdfPath__less_SdfPath___allocator_pair_SdfPath_const__SdfPath_____

MapEditProxy_map_string__string__less_string___allocator_pair_stringconst__string_____

NamespaceEdit

A single namespace edit.

NamespaceEditDetail

Detailed information about a namespace edit.

Notice

Wrapper class for Sdf notices.

Path

A path value used to locate objects in layers or scenegraphs.

PathArray

An array of type SdfPath.

PathListOp

Payload

Represents a payload and all its meta data.

PayloadListOp

Permission

PrimSpec

Represents a prim description in an SdfLayer object.

PropertySpec

Base class for SdfAttributeSpec and SdfRelationshipSpec.

PseudoRootSpec

Reference

Represents a reference and all its meta data.

ReferenceListOp

RelationshipSpec

A property that contains a reference to one or more SdfPrimSpec instances.

Spec

Base class for all Sdf spec classes.

SpecType

Specifier

StringListOp

TimeCode

Value type that represents a time code.

TimeCodeArray

An array of type SdfTimeCode.

TokenListOp

UInt64ListOp

UIntListOp

UnregisteredValue

Stores a representation of the value for an unregistered metadata field encountered during text layer parsing.

UnregisteredValueListOp

ValueBlock

A special value type that can be used to explicitly author an opinion for an attribute's default value or time sample value that represents having no value.

ValueRoleNames

ValueTypeName

Represents a value type name, i.e. an attribute's type name.

ValueTypeNames

Variability

VariantSetSpec

Represents a coherent set of alternate representations for part of a scene.

VariantSpec

Represents a single variant in a variant set.

Functions:

Find(layerFileName, scenePath)

layerFileName: string scenePath: Path

class pxr.Sdf.AngularUnit#

Methods:

Attributes:

static GetValueFromName()#
allValues = (Sdf.AngularUnitDegrees, Sdf.AngularUnitRadians)#
class pxr.Sdf.AssetPath#

Contains an asset path and an optional resolved path. Asset paths may contain non-control UTF-8 encoded characters. Specifically, U+0000..U+001F (C0 controls), U+007F (delete), and U+0080..U+009F (C1 controls) are disallowed. Attempts to construct asset paths with such characters will issue a TfError and produce the default-constructed empty asset path.

Attributes:

property path#
property resolvedPath#

str

Return the resolved asset path, if any.

Note that SdfAssetPath carries a resolved path only if its creator passed one to the constructor. SdfAssetPath never performs resolution itself.


type : str

Overload for rvalues, move out the asset path.

Type:

type

class pxr.Sdf.AssetPathArray#

An array of type SdfAssetPath.

class pxr.Sdf.AttributeSpec#

A subclass of SdfPropertySpec that holds typed data.

Attributes are typed data containers that can optionally hold any and all of the following:

  • A single default value.

  • An array of knot values describing how the value varies over time.

  • A dictionary of posed values, indexed by name. The values contained in an attribute must all be of the same type. In the Python API the typeName property holds the attribute type. In the C++ API, you can get the attribute type using the GetTypeName() method. In addition, all values, including all knot values, must be the same shape. For information on shapes, see the VtShape class reference in the C++ documentation.

Methods:

ClearColorSpace()

Clears the colorSpace metadata value set on this attribute.

HasColorSpace()

Returns true if this attribute has a colorSpace value authored.

Attributes:

ConnectionPathsKey

DefaultValueKey

DisplayUnitKey

allowedTokens

The allowed value tokens for this property

colorSpace

The color-space in which the attribute value is authored.

connectionPathList

A PathListEditor for the attribute's connection paths.

displayUnit

The display unit for this attribute.

expired

roleName

The roleName for this attribute's typeName.

typeName

The typename of this attribute.

valueType

The value type of this attribute.

ClearColorSpace() None#

Clears the colorSpace metadata value set on this attribute.

HasColorSpace() bool#

Returns true if this attribute has a colorSpace value authored.

ConnectionPathsKey = 'connectionPaths'#
DefaultValueKey = 'default'#
DisplayUnitKey = 'displayUnit'#
property allowedTokens#

The allowed value tokens for this property

property colorSpace#

The color-space in which the attribute value is authored.

property connectionPathList#

A PathListEditor for the attribute’s connection paths.

The list of the connection paths for this attribute may be modified with this PathListEditor.

A PathListEditor may express a list either as an explicit value or as a set of list editing operations. See GdListEditor for more information.

property displayUnit#

The display unit for this attribute.

property expired#
property roleName#

The roleName for this attribute’s typeName.

property typeName#

The typename of this attribute.

property valueType#

The value type of this attribute.

class pxr.Sdf.AuthoringError#

Methods:

Attributes:

static GetValueFromName()#
allValues = (Sdf.AuthoringErrorUnrecognizedFields, Sdf.AuthoringErrorUnrecognizedSpecType)#
class pxr.Sdf.BatchNamespaceEdit#

A description of an arbitrarily complex namespace edit.

A SdfBatchNamespaceEdit object describes zero or more namespace edits. Various types providing a namespace will allow the edits to be applied in a single operation and also allow testing if this will work.

Clients are encouraged to group several edits into one object because that may allow more efficient processing of the edits. If, for example, you need to reparent several prims it may be faster to add all of the reparents to a single SdfBatchNamespaceEdit and apply them at once than to apply each separately.

Objects that allow applying edits are free to apply the edits in any way and any order they see fit but they should guarantee that the resulting namespace will be as if each edit was applied one at a time in the order they were added.

Note that the above rule permits skipping edits that have no effect or generate a non-final state. For example, if renaming A to B then to C we could just rename A to C. This means notices may be elided. However, implementations must not elide notices that contain information about any edit that clients must be able to know but otherwise cannot determine.

Methods:

Add(edit)

Add a namespace edit.

Process(processedEdits, hasObjectAtPath, ...)

Validate the edits and generate a possibly more efficient edit sequence.

Attributes:

edits

list[NamespaceEdit]

Add(edit) None#

Add a namespace edit.

Parameters:

edit (NamespaceEdit)


Add(currentPath, newPath, index) -> None

Add a namespace edit.

Parameters:
  • currentPath (NamespaceEdit.Path)

  • newPath (NamespaceEdit.Path)

  • index (NamespaceEdit.Index)

Process(
processedEdits,
hasObjectAtPath,
canEdit,
details,
fixBackpointers,
) bool#

Validate the edits and generate a possibly more efficient edit sequence.

Edits are treated as if they were performed one at time in sequence, therefore each edit occurs in the namespace resulting from all previous edits.

Editing the descendants of the object in each edit is implied. If an object is removed then the new path will be empty. If an object is removed after being otherwise edited, the other edits will be processed and included in processedEdits followed by the removal. This allows clients to fixup references to point to the object’s final location prior to removal.

This function needs help to determine if edits are allowed. The callbacks provide that help. hasObjectAtPath returns true iff there’s an object at the given path. This path will be in the original namespace not any intermediate or final namespace. canEdit returns true iff the object at the current path can be namespace edited to the new path, ignoring whether an object already exists at the new path. Both paths are in the original namespace. If it returns false it should set the string to the reason why the edit isn’t allowed. It should not write either path to the string.

If hasObjectAtPath is invalid then this assumes objects exist where they should and don’t exist where they shouldn’t. Use this with care. If canEdit in invalid then it’s assumed all edits are valid.

If fixBackpointers is true then target/connection paths are expected to be in the intermediate namespace resulting from all previous edits. If false and any current or new path contains a target or connection path that has been edited then this will generate an error.

This method returns true if the edits are allowed and sets processedEdits to a new edit sequence at least as efficient as the input sequence. If not allowed it returns false and appends reasons why not to details .

Parameters:
property edits#

list[NamespaceEdit]

Returns the edits.

Type:

type

class pxr.Sdf.ChangeBlock#

DANGER DANGER DANGER

Please make sure you have read and fully understand the issues below before using a changeblock! They are very easy to use in an unsafe way that could make the system crash or corrupt data. If you have any questions, please contact the USD team, who would be happy to help!

SdfChangeBlock provides a way to group a round of related changes to scene description in order to process them more efficiently.

Normally, Sdf sends notification immediately as changes are made so that downstream representations like UsdStage can update accordingly.

However, sometimes it can be advantageous to group a series of Sdf changes into a batch so that they can be processed more efficiently, with a single round of change processing. An example might be when setting many avar values on a model at the same time.

Opening a changeblock tells Sdf to delay sending notification about changes until the outermost changeblock is exited. Until then, Sdf internally queues up the notification it needs to send.

It is not safe to use Usd or other downstream API while a changeblock is open!! This is because those derived representations will not have had a chance to update while the changeblock is open. Not only will their view of the world be stale, it could be unsafe to even make queries from, since they may be holding onto expired handles to Sdf objects that no longer exist. If you need to make a bunch of changes to scene description, the best approach is to build a list of necessary changes that can be performed directly via the Sdf API, then submit those all inside a changeblock without talking to any downstream modules. For example, this is how many mutators in Usd that operate on more than one field or Spec work.

class pxr.Sdf.ChildrenView_Sdf_AttributeChildPolicy_SdfAttributeViewPredicate#

Classes:

Methods:

class ChildrenView_Sdf_AttributeChildPolicy_SdfAttributeViewPredicate_Iterator#
class ChildrenView_Sdf_AttributeChildPolicy_SdfAttributeViewPredicate_KeyIterator#
class ChildrenView_Sdf_AttributeChildPolicy_SdfAttributeViewPredicate_ValueIterator#
get()#
index()#
items()#
keys()#
values()#
class pxr.Sdf.ChildrenView_Sdf_AttributeChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfAttributeSpec___#

Classes:

Methods:

class ChildrenView_Sdf_AttributeChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfAttributeSpec____Iterator#
class ChildrenView_Sdf_AttributeChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfAttributeSpec____KeyIterator#
class ChildrenView_Sdf_AttributeChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfAttributeSpec____ValueIterator#
get()#
index()#
items()#
keys()#
values()#
class pxr.Sdf.ChildrenView_Sdf_PrimChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfPrimSpec___#

Classes:

Methods:

class ChildrenView_Sdf_PrimChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfPrimSpec____Iterator#
class ChildrenView_Sdf_PrimChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfPrimSpec____KeyIterator#
class ChildrenView_Sdf_PrimChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfPrimSpec____ValueIterator#
get()#
index()#
items()#
keys()#
values()#
class pxr.Sdf.ChildrenView_Sdf_PropertyChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfPropertySpec___#

Classes:

Methods:

class ChildrenView_Sdf_PropertyChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfPropertySpec____Iterator#
class ChildrenView_Sdf_PropertyChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfPropertySpec____KeyIterator#
class ChildrenView_Sdf_PropertyChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfPropertySpec____ValueIterator#
get()#
index()#
items()#
keys()#
values()#
class pxr.Sdf.ChildrenView_Sdf_RelationshipChildPolicy_SdfRelationshipViewPredicate#

Classes:

Methods:

class ChildrenView_Sdf_RelationshipChildPolicy_SdfRelationshipViewPredicate_Iterator#
class ChildrenView_Sdf_RelationshipChildPolicy_SdfRelationshipViewPredicate_KeyIterator#
class ChildrenView_Sdf_RelationshipChildPolicy_SdfRelationshipViewPredicate_ValueIterator#
get()#
index()#
items()#
keys()#
values()#
class pxr.Sdf.ChildrenView_Sdf_VariantChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfVariantSpec___#

Classes:

Methods:

class ChildrenView_Sdf_VariantChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfVariantSpec____Iterator#
class ChildrenView_Sdf_VariantChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfVariantSpec____KeyIterator#
class ChildrenView_Sdf_VariantChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfVariantSpec____ValueIterator#
get()#
index()#
items()#
keys()#
values()#
class pxr.Sdf.ChildrenView_Sdf_VariantSetChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfVariantSetSpec___#

Classes:

Methods:

class ChildrenView_Sdf_VariantSetChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfVariantSetSpec____Iterator#
class ChildrenView_Sdf_VariantSetChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfVariantSetSpec____KeyIterator#
class ChildrenView_Sdf_VariantSetChildPolicy_SdfChildrenViewTrivialPredicate_SdfHandle_SdfVariantSetSpec____ValueIterator#
get()#
index()#
items()#
keys()#
values()#
class pxr.Sdf.CleanupEnabler#

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:

{
    SdfCleanupEnabler enabler;

    // 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.
}
class pxr.Sdf.DimensionlessUnit#

Methods:

Attributes:

static GetValueFromName()#
allValues = (Sdf.DimensionlessUnitPercent, Sdf.DimensionlessUnitDefault)#
class pxr.Sdf.FastUpdateList#

Classes:

Attributes:

class FastUpdate#

Attributes:

property path#
property value#
property fastUpdates#
property hasCompositionDependents#
class pxr.Sdf.FileFormat#

Base class for file format implementations.

Classes:

Methods:

CanRead(file)

Returns true if file can be read by this format.

FindAllFileFormatExtensions

classmethod FindAllFileFormatExtensions() -> set[str]

FindByExtension

classmethod FindByExtension(path, target) -> FileFormat

FindById

classmethod FindById(formatId) -> FileFormat

GetFileExtension

classmethod GetFileExtension(s) -> str

GetFileExtensions()

Returns a list of extensions that this format supports.

IsPackage()

Returns true if this file format is a package containing other assets.

IsSupportedExtension(extension)

Returns true if extension matches one of the extensions returned by GetFileExtensions.

Attributes:

expired

True if this object has expired, False otherwise.

fileCookie

str

formatId

str

primaryFileExtension

str

target

str

class Tokens#

Attributes:

TargetArg = 'target'#
CanRead(file) bool#

Returns true if file can be read by this format.

Parameters:

file (str)

static FindAllFileFormatExtensions()#

classmethod FindAllFileFormatExtensions() -> set[str]

Returns a set containing the extension(s) corresponding to all registered file formats.

static FindByExtension()#

classmethod FindByExtension(path, target) -> FileFormat

Returns the file format instance that supports the extension for path .

If a format with a matching extension is not found, this returns a null file format pointer.

An extension may be handled by multiple file formats, but each with a different target. In such cases, if no target is specified, the file format that is registered as the primary plugin will be returned. Otherwise, the file format whose target matches target will be returned.

Parameters:
  • path (str)

  • target (str)


FindByExtension(path, args) -> FileFormat

Returns a file format instance that supports the extension for path and whose target matches one of those specified by the given args .

If the args specify no target, then the file format that is registered as the primary plugin will be returned. If a format with a matching extension is not found, this returns a null file format pointer.

Parameters:
  • path (str)

  • args (FileFormatArguments)

static FindById()#

classmethod FindById(formatId) -> FileFormat

Returns the file format instance with the specified formatId identifier.

If a format with a matching identifier is not found, this returns a null file format pointer.

Parameters:

formatId (str)

static GetFileExtension()#

classmethod GetFileExtension(s) -> str

Returns the file extension for path or file name s , without the leading dot character.

Parameters:

s (str)

GetFileExtensions() list[str]#

Returns a list of extensions that this format supports.

IsPackage() bool#

Returns true if this file format is a package containing other assets.

IsSupportedExtension(extension) bool#

Returns true if extension matches one of the extensions returned by GetFileExtensions.

Parameters:

extension (str)

property expired#

True if this object has expired, False otherwise.

property fileCookie#

str

Returns the cookie to be used when writing files with this format.

Type:

type

property formatId#

str

Returns the format identifier.

Type:

type

property primaryFileExtension#

str

Returns the primary file extension for this format.

This is the extension that is reported for layers using this file format.

Type:

type

property target#

str

Returns the target for this file format.

Type:

type

class pxr.Sdf.Int64ListOp#

Methods:

Attributes:

ApplyOperations()#
Clear()#
ClearAndMakeExplicit()#
static Create()#
static CreateExplicit()#
GetAddedOrExplicitItems()#
HasItem()#
property addedItems#
property appendedItems#
property deletedItems#
property explicitItems#
property isExplicit#
property orderedItems#
property prependedItems#
class pxr.Sdf.IntListOp#

Methods:

Attributes:

ApplyOperations()#
Clear()#
ClearAndMakeExplicit()#
static Create()#
static CreateExplicit()#
GetAddedOrExplicitItems()#
HasItem()#
property addedItems#
property appendedItems#
property deletedItems#
property explicitItems#
property isExplicit#
property orderedItems#
property prependedItems#
class pxr.Sdf.Layer#

A scene description container that can combine with other such containers to form simple component assets, and successively larger aggregates. The contents of an SdfLayer adhere to the SdfData data model. A layer can be ephemeral, or be an asset accessed and serialized through the ArAsset and ArResolver interfaces.

The SdfLayer class provides a consistent API for accesing and serializing scene description, using any data store provided by Ar plugins. Sdf itself provides a UTF-8 text format for layers identified by the”.sdf”identifier extension, but via the SdfFileFormat abstraction, allows downstream modules and plugins to adapt arbitrary data formats to the SdfData/SdfLayer model.

The FindOrOpen() method returns a new SdfLayer object with scene description from any supported asset format. Once read, a layer remembers which asset it was read from. The Save() method saves the layer back out to the original asset. You can use the Export() method to write the layer to a different location. You can use the GetIdentifier() method to get the layer’s Id or GetRealPath() to get the resolved, full URI.

Layers can have a timeCode range (startTimeCode and endTimeCode). This range represents the suggested playback range, but has no impact on the extent of the animation data that may be stored in the layer. The metadatum”timeCodesPerSecond”is used to annotate how the time ordinate for samples contained in the file scales to seconds. For example, if timeCodesPerSecond is 24, then a sample at time ordinate 24 should be viewed exactly one second after the sample at time ordinate 0.

Classes:

Methods:

AddToMutedLayers

classmethod AddToMutedLayers(mutedPath) -> None

Apply(arg1)

Performs a batch of namespace edits.

ApplyRootPrimOrder(vec)

Reorders the given list of prim names according to the reorder rootPrims statement for this layer.

CanApply(arg1, details)

Check if a batch of namespace edits will succeed.

Clear()

Clears the layer of all content.

ClearColorConfiguration()

Clears the color configuration metadata authored in this layer.

ClearColorManagementSystem()

Clears the'colorManagementSystem'metadata authored in this layer.

ClearCustomLayerData()

Clears out the CustomLayerData dictionary associated with this layer.

ClearDefaultPrim()

Clear the default prim metadata for this layer.

ClearEndTimeCode()

Clear the endTimeCode opinion.

ClearFramePrecision()

Clear the framePrecision opinion.

ClearFramesPerSecond()

Clear the framesPerSecond opinion.

ClearOwner()

Clear the owner opinion.

ClearSessionOwner()

ClearStartTimeCode()

Clear the startTimeCode opinion.

ClearTimeCodesPerSecond()

Clear the timeCodesPerSecond opinion.

ComputeAbsolutePath(assetPath)

Returns the path to the asset specified by assetPath using this layer to anchor the path if necessary.

CreateAnonymous

classmethod CreateAnonymous(tag, args) -> Layer

CreateIdentifier

classmethod CreateIdentifier(layerPath, arguments) -> str

CreateNew

classmethod CreateNew(identifier, args) -> Layer

DumpLayerInfo

Debug helper to examine content of the current layer registry and the asset/real path of all layers in the registry.

EraseTimeSample(path, time)

Export(filename, comment, args)

Exports this layer to a file.

ExportToString

Returns the string representation of the layer.

Find(filename)

filename : string

FindOrOpen

classmethod FindOrOpen(identifier, args) -> Layer

FindOrOpenRelativeToLayer

classmethod FindOrOpenRelativeToLayer(anchor, identifier, args) -> Layer

FindRelativeToLayer

Returns the open layer with the given filename, or None.

GetAssetInfo()

Returns resolve information from the last time the layer identifier was resolved.

GetAssetName()

Returns the asset name associated with this layer.

GetAttributeAtPath(path)

Returns an attribute at the given path .

GetBracketingTimeSamples(time, tLower, tUpper)

GetBracketingTimeSamplesForPath(path, time, ...)

GetCompositionAssetDependencies()

Return paths of all assets this layer depends on due to composition fields.

GetDetachedLayerRules

classmethod GetDetachedLayerRules() -> DetachedLayerRules

GetDisplayName()

Returns the layer's display name.

GetDisplayNameFromIdentifier

classmethod GetDisplayNameFromIdentifier(identifier) -> str

GetExternalAssetDependencies()

Returns a set of resolved paths to all external asset dependencies the layer needs to generate its contents.

GetExternalReferences

Return a list of asset paths for this layer.

GetFileFormat()

Returns the file format used by this layer.

GetFileFormatArguments()

Returns the file format-specific arguments used during the construction of this layer.

GetLoadedLayers

Return list of loaded layers.

GetMutedLayers

Return list of muted layers.

GetNumTimeSamplesForPath(path)

GetObjectAtPath(path)

Returns the object at the given path .

GetPrimAtPath(path)

Returns the prim at the given path .

GetPropertyAtPath(path)

Returns a property at the given path .

GetRelationshipAtPath(path)

Returns a relationship at the given path .

HasColorConfiguration()

Returns true if color configuration metadata is set in this layer.

HasColorManagementSystem()

Returns true if colorManagementSystem metadata is set in this layer.

HasCustomLayerData()

Returns true if CustomLayerData is authored on the layer.

HasDefaultPrim()

Return true if the default prim metadata is set in this layer.

HasEndTimeCode()

Returns true if the layer has an endTimeCode opinion.

HasFramePrecision()

Returns true if the layer has a frames precision opinion.

HasFramesPerSecond()

Returns true if the layer has a frames per second opinion.

HasOwner()

Returns true if the layer has an owner opinion.

HasSessionOwner()

Returns true if the layer has a session owner opinion.

HasStartTimeCode()

Returns true if the layer has a startTimeCode opinion.

HasTimeCodesPerSecond()

Returns true if the layer has a timeCodesPerSecond opinion.

Import(layerPath)

Imports the content of the given layer path, replacing the content of the current layer.

ImportFromString(string)

Reads this layer from the given string.

IsAnonymousLayerIdentifier

classmethod IsAnonymousLayerIdentifier(identifier) -> bool

IsDetached()

Returns true if this layer is detached from its serialized data store, false otherwise.

IsIncludedByDetachedLayerRules

classmethod IsIncludedByDetachedLayerRules(identifier) -> bool

IsMuted

classmethod IsMuted() -> bool

ListAllTimeSamples()

ListTimeSamplesForPath(path)

New

classmethod New(fileFormat, identifier, args) -> Layer

OpenAsAnonymous

classmethod OpenAsAnonymous(layerPath, metadataOnly, tag) -> Layer

QueryTimeSample(path, time, value)

Reload(force)

Reloads the layer from its persistent representation.

ReloadLayers

classmethod ReloadLayers(layers, force) -> bool

RemoveFromMutedLayers

classmethod RemoveFromMutedLayers(mutedPath) -> None

RemoveInertSceneDescription()

Removes all scene description in this layer that does not affect the scene.

Save(force)

Returns true if successful, false if an error occurred.

ScheduleRemoveIfInert(spec)

Cause spec to be removed if it no longer affects the scene when the last change block is closed, or now if there are no change blocks.

SetDetachedLayerRules

classmethod SetDetachedLayerRules(mask) -> None

SetMuted(muted)

Mutes the current layer if muted is true , and unmutes it otherwise.

SetPermissionToEdit(allow)

Sets permission to edit.

SetPermissionToSave(allow)

Sets permission to save.

SetTimeSample(path, time, value)

SplitIdentifier

classmethod SplitIdentifier(identifier, layerPath, arguments) -> bool

StreamsData()

Returns true if this layer streams data from its serialized data store on demand, false otherwise.

TransferContent(layer)

Copies the content of the given layer into this layer.

Traverse(path, func)

UpdateAssetInfo()

Update layer asset information.

UpdateCompositionAssetDependency(...)

Updates the asset path of a composation dependency in this layer.

UpdateExternalReference(oldAssetPath, ...)

Deprecated

Attributes:

ColorConfigurationKey

ColorManagementSystemKey

CommentKey

DocumentationKey

EndFrameKey

EndTimeCodeKey

FramePrecisionKey

FramesPerSecondKey

HasOwnedSubLayers

OwnerKey

SessionOwnerKey

StartFrameKey

StartTimeCodeKey

TimeCodesPerSecondKey

anonymous

bool

colorConfiguration

The color configuration asset-path of this layer.

colorManagementSystem

The name of the color management system used to interpret the colorConfiguration asset.

comment

The layer's comment string.

customLayerData

The customLayerData dictionary associated with this layer.

defaultPrim

The layer's default reference target token.

dirty

bool

documentation

The layer's documentation string.

empty

bool

endTimeCode

The end timeCode of this layer.

expired

True if this object has expired, False otherwise.

externalReferences

Return unique list of asset paths of external references for given layer.

fileExtension

The layer's file extension.

framePrecision

The number of digits of precision used in times in this layer.

framesPerSecond

The frames per second used in this layer.

hasOwnedSubLayers

Whether this layer's sub layers are expected to have owners.

identifier

The layer's identifier.

owner

The owner of this layer.

permissionToEdit

Return true if permitted to be edited (modified), false otherwise.

permissionToSave

Return true if permitted to be saved, false otherwise.

pseudoRoot

The pseudo-root of the layer.

realPath

The layer's resolved path.

repositoryPath

The layer's associated repository path

resolvedPath

The layer's resolved path.

rootPrimOrder

Get/set the list of root prim names for this layer's 'reorder rootPrims' statement.

rootPrims

The root prims of this layer, as an ordered dictionary.

sessionOwner

The session owner of this layer.

startTimeCode

The start timeCode of this layer.

subLayerOffsets

The sublayer offsets of this layer, as a list.

subLayerPaths

The sublayer paths of this layer, as a list.

timeCodesPerSecond

The timeCodes per second used in this layer.

version

The layer's version.

class DetachedLayerRules#

Methods:

Exclude()#
GetExcluded()#
GetIncluded()#
Include()#
IncludeAll()#
IncludedAll()#
IsIncluded()#
static AddToMutedLayers()#

classmethod AddToMutedLayers(mutedPath) -> None

Add the specified path to the muted layers set.

Parameters:

mutedPath (str)

Apply(arg1) bool#

Performs a batch of namespace edits.

Returns true on success and false on failure. On failure, no namespace edits will have occurred.

Parameters:

arg1 (BatchNamespaceEdit)

ApplyRootPrimOrder(vec) None#

Reorders the given list of prim names according to the reorder rootPrims statement for this layer.

This routine employs the standard list editing operations for ordered items in a ListEditor.

Parameters:

vec (list[str])

CanApply(arg1, details) NamespaceEditDetail.Result#

Check if a batch of namespace edits will succeed.

This returns SdfNamespaceEditDetail::Okay if they will succeed as a batch, SdfNamespaceEditDetail::Unbatched if the edits will succeed but will be applied unbatched, and SdfNamespaceEditDetail::Error if they will not succeed. No edits will be performed in any case.

If details is not None and the method does not return Okay then details about the problems will be appended to details . A problem may cause the method to return early, so details may not list every problem.

Note that Sdf does not track backpointers so it’s unable to fix up targets/connections to namespace edited objects. Clients must fix those to prevent them from falling off. In addition, this method will report failure if any relational attribute with a target to a namespace edited object is subsequently edited (in the same batch). Clients should perform edits on relational attributes first.

Clients may wish to report unbatch details to the user to confirm that the edits should be applied unbatched. This will give the user a chance to correct any problems that cause batching to fail and try again.

Parameters:
Clear() None#

Clears the layer of all content.

This restores the layer to a state as if it had just been created with CreateNew() . This operation is Undo-able.

The fileName and whether journaling is enabled are not affected by this method.

ClearColorConfiguration() None#

Clears the color configuration metadata authored in this layer.

HasColorConfiguration() , SetColorConfiguration()

ClearColorManagementSystem() None#

Clears the’colorManagementSystem’metadata authored in this layer.

HascolorManagementSystem(), SetColorManagementSystem()

ClearCustomLayerData() None#

Clears out the CustomLayerData dictionary associated with this layer.

ClearDefaultPrim() None#

Clear the default prim metadata for this layer.

See GetDefaultPrim() and SetDefaultPrim() .

ClearEndTimeCode() None#

Clear the endTimeCode opinion.

ClearFramePrecision() None#

Clear the framePrecision opinion.

ClearFramesPerSecond() None#

Clear the framesPerSecond opinion.

ClearOwner() None#

Clear the owner opinion.

ClearSessionOwner() None#
ClearStartTimeCode() None#

Clear the startTimeCode opinion.

ClearTimeCodesPerSecond() None#

Clear the timeCodesPerSecond opinion.

ComputeAbsolutePath(assetPath) str#

Returns the path to the asset specified by assetPath using this layer to anchor the path if necessary.

Returns assetPath if it’s empty or an anonymous layer identifier.

This method can be used on asset paths that are authored in this layer to create new asset paths that can be copied to other layers. These new asset paths should refer to the same assets as the original asset paths. For example, if the underlying ArResolver is filesystem-based and assetPath is a relative filesystem path, this method might return the absolute filesystem path using this layer’s location as the anchor.

The returned path should in general not be assumed to be an absolute filesystem path or any other specific form. It is”absolute”in that it should resolve to the same asset regardless of what layer it’s authored in.

Parameters:

assetPath (str)

static CreateAnonymous()#

classmethod CreateAnonymous(tag, args) -> Layer

Creates a new anonymous layer with an optional tag .

An anonymous layer is a layer with a system assigned identifier, that cannot be saved to disk via Save() . Anonymous layers have an identifier, but no real path or other asset information fields.

Anonymous layers may be tagged, which can be done to aid debugging subsystems that make use of anonymous layers. The tag becomes the display name of an anonymous layer, and is also included in the generated identifier. Untagged anonymous layers have an empty display name.

Additional arguments may be supplied via the args parameter. These arguments may control behavior specific to the layer’s file format.

Parameters:
  • tag (str)

  • args (FileFormatArguments)


CreateAnonymous(tag, format, args) -> Layer

Create an anonymous layer with a specific format .

Parameters:
  • tag (str)

  • format (FileFormat)

  • args (FileFormatArguments)

static CreateIdentifier()#

classmethod CreateIdentifier(layerPath, arguments) -> str

Joins the given layer path and arguments into an identifier.

Parameters:
  • layerPath (str)

  • arguments (FileFormatArguments)

static CreateNew()#

classmethod CreateNew(identifier, args) -> Layer

Creates a new empty layer with the given identifier.

Additional arguments may be supplied via the args parameter. These arguments may control behavior specific to the layer’s file format.

Parameters:
  • identifier (str)

  • args (FileFormatArguments)


CreateNew(fileFormat, identifier, args) -> Layer

Creates a new empty layer with the given identifier for a given file format class.

This function has the same behavior as the other CreateNew function, but uses the explicitly-specified fileFormat instead of attempting to discern the format from identifier .

Parameters:
  • fileFormat (FileFormat)

  • identifier (str)

  • args (FileFormatArguments)

static DumpLayerInfo()#

Debug helper to examine content of the current layer registry and the asset/real path of all layers in the registry.

EraseTimeSample(path, time) None#
Parameters:
  • path (Path)

  • time (float)

Export(filename, comment, args) bool#

Exports this layer to a file.

Returns true if successful, false if an error occurred.

If comment is not empty, the layer gets exported with the given comment. Additional arguments may be supplied via the args parameter. These arguments may control behavior specific to the exported layer’s file format.

Note that the file name or comment of the original layer is not updated. This only saves a copy of the layer to the given filename. Subsequent calls to Save() will still save the layer to it’s previously remembered file name.

Parameters:
  • filename (str)

  • comment (str)

  • args (FileFormatArguments)

ExportToString()#

Returns the string representation of the layer.

static Find(filename) LayerPtr#

filename : string

Returns the open layer with the given filename, or None. Note that this is a static class method.

static FindOrOpen()#

classmethod FindOrOpen(identifier, args) -> Layer

Return an existing layer with the given identifier and args , or else load it.

If the layer can’t be found or loaded, an error is posted and a null layer is returned.

Arguments in args will override any arguments specified in identifier .

Parameters:
  • identifier (str)

  • args (FileFormatArguments)

static FindOrOpenRelativeToLayer()#

classmethod FindOrOpenRelativeToLayer(anchor, identifier, args) -> Layer

Return an existing layer with the given identifier and args , or else load it.

The given identifier will be resolved relative to the anchor layer. If the layer can’t be found or loaded, an error is posted and a null layer is returned.

If the anchor layer is invalid, issues a coding error and returns a null handle.

Arguments in args will override any arguments specified in identifier .

Parameters:
  • anchor (Layer)

  • identifier (str)

  • args (FileFormatArguments)

static FindRelativeToLayer()#

Returns the open layer with the given filename, or None. If the filename is a relative path then it’s found relative to the given layer. Note that this is a static class method.

GetAssetInfo() VtValue#

Returns resolve information from the last time the layer identifier was resolved.

GetAssetName() str#

Returns the asset name associated with this layer.

GetAttributeAtPath(path) AttributeSpec#

Returns an attribute at the given path .

Returns None if there is no attribute at path . This is simply a more specifically typed version of GetObjectAtPath() .

Parameters:

path (Path)

GetBracketingTimeSamples(time, tLower, tUpper) bool#
Parameters:
  • time (float)

  • tLower (float)

  • tUpper (float)

GetBracketingTimeSamplesForPath(
path,
time,
tLower,
tUpper,
) bool#
Parameters:
  • path (Path)

  • time (float)

  • tLower (float)

  • tUpper (float)

GetCompositionAssetDependencies() set[str]#

Return paths of all assets this layer depends on due to composition fields.

This includes the paths of all layers referred to by reference, payload, and sublayer fields in this layer. This function only returns direct composition dependencies of this layer, i.e. it does not recurse to find composition dependencies from its dependent layer assets.

static GetDetachedLayerRules()#

classmethod GetDetachedLayerRules() -> DetachedLayerRules

Returns the current rules for the detached layer set.

GetDisplayName() str#

Returns the layer’s display name.

The display name is the base filename of the identifier.

static GetDisplayNameFromIdentifier()#

classmethod GetDisplayNameFromIdentifier(identifier) -> str

Returns the display name for the given identifier , using the same rules as GetDisplayName.

Parameters:

identifier (str)

GetExternalAssetDependencies() set[str]#

Returns a set of resolved paths to all external asset dependencies the layer needs to generate its contents.

These are additional asset dependencies that are determined by the layer’s file format and will be consulted during Reload() when determining if the layer needs to be reloaded. This specifically does not include dependencies related to composition, i.e. this will not include assets from references, payloads, and sublayers.

GetExternalReferences()#

Return a list of asset paths for this layer.

GetFileFormat() FileFormat#

Returns the file format used by this layer.

GetFileFormatArguments() FileFormatArguments#

Returns the file format-specific arguments used during the construction of this layer.

static GetLoadedLayers()#

Return list of loaded layers.

static GetMutedLayers()#

Return list of muted layers.

GetNumTimeSamplesForPath(path) int#
Parameters:

path (Path)

GetObjectAtPath(path) Spec#

Returns the object at the given path .

There is no distinction between an absolute and relative path at the SdLayer level.

Returns None if there is no object at path .

Parameters:

path (Path)

GetPrimAtPath(path) PrimSpec#

Returns the prim at the given path .

Returns None if there is no prim at path . This is simply a more specifically typed version of GetObjectAtPath() .

Parameters:

path (Path)

GetPropertyAtPath(path) PropertySpec#

Returns a property at the given path .

Returns None if there is no property at path . This is simply a more specifically typed version of GetObjectAtPath() .

Parameters:

path (Path)

GetRelationshipAtPath(path) RelationshipSpec#

Returns a relationship at the given path .

Returns None if there is no relationship at path . This is simply a more specifically typed version of GetObjectAtPath() .

Parameters:

path (Path)

HasColorConfiguration() bool#

Returns true if color configuration metadata is set in this layer.

GetColorConfiguration() , SetColorConfiguration()

HasColorManagementSystem() bool#

Returns true if colorManagementSystem metadata is set in this layer.

GetColorManagementSystem() , SetColorManagementSystem()

HasCustomLayerData() bool#

Returns true if CustomLayerData is authored on the layer.

HasDefaultPrim() bool#

Return true if the default prim metadata is set in this layer.

See GetDefaultPrim() and SetDefaultPrim() .

HasEndTimeCode() bool#

Returns true if the layer has an endTimeCode opinion.

HasFramePrecision() bool#

Returns true if the layer has a frames precision opinion.

HasFramesPerSecond() bool#

Returns true if the layer has a frames per second opinion.

HasOwner() bool#

Returns true if the layer has an owner opinion.

HasSessionOwner() bool#

Returns true if the layer has a session owner opinion.

HasStartTimeCode() bool#

Returns true if the layer has a startTimeCode opinion.

HasTimeCodesPerSecond() bool#

Returns true if the layer has a timeCodesPerSecond opinion.

Import(layerPath) bool#

Imports the content of the given layer path, replacing the content of the current layer.

Note: If the layer path is the same as the current layer’s real path, no action is taken (and a warning occurs). For this case use Reload() .

Parameters:

layerPath (str)

ImportFromString(string) bool#

Reads this layer from the given string.

Returns true if successful, otherwise returns false .

Parameters:

string (str)

static IsAnonymousLayerIdentifier()#

classmethod IsAnonymousLayerIdentifier(identifier) -> bool

Returns true if the identifier is an anonymous layer unique identifier.

Parameters:

identifier (str)

IsDetached() bool#

Returns true if this layer is detached from its serialized data store, false otherwise.

Detached layers are isolated from external changes to their serialized data.

static IsIncludedByDetachedLayerRules()#

classmethod IsIncludedByDetachedLayerRules(identifier) -> bool

Returns whether the given layer identifier is included in the current rules for the detached layer set.

This is equivalent to GetDetachedLayerRules() .IsIncluded(identifier).

Parameters:

identifier (str)

IsMuted()#

classmethod IsMuted() -> bool

Returns true if the current layer is muted.


IsMuted(path) -> bool

Returns true if the specified layer path is muted.

Parameters:

path (str)

ListAllTimeSamples() set[float]#
ListTimeSamplesForPath(path) set[float]#
Parameters:

path (Path)

static New()#

classmethod New(fileFormat, identifier, args) -> Layer

Creates a new empty layer with the given identifier for a given file format class.

The new layer will not be dirty and will not be saved.

Additional arguments may be supplied via the args parameter. These arguments may control behavior specific to the layer’s file format.

Parameters:
  • fileFormat (FileFormat)

  • identifier (str)

  • args (FileFormatArguments)

static OpenAsAnonymous()#

classmethod OpenAsAnonymous(layerPath, metadataOnly, tag) -> Layer

Load the given layer from disk as a new anonymous layer.

If the layer can’t be found or loaded, an error is posted and a null layer is returned.

The anonymous layer does not retain any knowledge of the backing file on the filesystem.

metadataOnly is a flag that asks for only the layer metadata to be read in, which can be much faster if that is all that is required. Note that this is just a hint: some FileFormat readers may disregard this flag and still fully populate the layer contents.

An optional tag may be specified. See CreateAnonymous for details.

Parameters:
  • layerPath (str)

  • metadataOnly (bool)

  • tag (str)

QueryTimeSample(path, time, value) bool#
Parameters:
  • path (Path)

  • time (float)

  • value (VtValue)


QueryTimeSample(path, time, value) -> bool

Parameters:
  • path (Path)

  • time (float)

  • value (SdfAbstractDataValue)


QueryTimeSample(path, time, data) -> bool

Parameters:
  • path (Path)

  • time (float)

  • data (T)

Reload(force) bool#

Reloads the layer from its persistent representation.

This restores the layer to a state as if it had just been created with FindOrOpen() . This operation is Undo-able.

The fileName and whether journaling is enabled are not affected by this method.

When called with force = false (the default), Reload attempts to avoid reloading layers that have not changed on disk. It does so by comparing the file’s modification time (mtime) to when the file was loaded. If the layer has unsaved modifications, this mechanism is not used, and the layer is reloaded from disk. If the layer has any external asset dependencies their modification state will also be consulted when determining if the layer needs to be reloaded.

Passing true to the force parameter overrides this behavior, forcing the layer to be reloaded from disk regardless of whether it has changed.

Parameters:

force (bool)

static ReloadLayers()#

classmethod ReloadLayers(layers, force) -> bool

Reloads the specified layers.

Returns false if one or more layers failed to reload.

See Reload() for a description of the force flag.

Parameters:
  • layers (set[Layer])

  • force (bool)

static RemoveFromMutedLayers()#

classmethod RemoveFromMutedLayers(mutedPath) -> None

Remove the specified path from the muted layers set.

Parameters:

mutedPath (str)

RemoveInertSceneDescription() None#

Removes all scene description in this layer that does not affect the scene.

This method walks the layer namespace hierarchy and removes any prims and that are not contributing any opinions.

Save(force) bool#

Returns true if successful, false if an error occurred.

Returns false if the layer has no remembered file name or the layer type cannot be saved. The layer will not be overwritten if the file exists and the layer is not dirty unless force is true.

Parameters:

force (bool)

ScheduleRemoveIfInert(spec) None#

Cause spec to be removed if it no longer affects the scene when the last change block is closed, or now if there are no change blocks.

Parameters:

spec (Spec)

static SetDetachedLayerRules()#

classmethod SetDetachedLayerRules(mask) -> None

Sets the rules specifying detached layers.

Newly-created or opened layers whose identifiers are included in rules will be opened as detached layers. Existing layers that are now included or no longer included will be reloaded. Any unsaved modifications to those layers will be lost.

This function is not thread-safe. It may not be run concurrently with any other functions that open, close, or read from any layers.

The detached layer rules are initially set to exclude all layers. This may be overridden by setting the environment variables SDF_LAYER_INCLUDE_DETACHED and SDF_LAYER_EXCLUDE_DETACHED to specify the initial set of include and exclude patterns in the rules. These variables can be set to a comma-delimited list of patterns. SDF_LAYER_INCLUDE_DETACHED may also be set to”*”to include all layers. Note that these environment variables only set the initial state of the detached layer rules; these values may be overwritten by subsequent calls to this function.

See SdfLayer::DetachedLayerRules::IsIncluded for details on how the rules are applied to layer identifiers.

Parameters:

mask (DetachedLayerRules)

SetMuted(muted) None#

Mutes the current layer if muted is true , and unmutes it otherwise.

Parameters:

muted (bool)

SetPermissionToEdit(allow) None#

Sets permission to edit.

Parameters:

allow (bool)

SetPermissionToSave(allow) None#

Sets permission to save.

Parameters:

allow (bool)

SetTimeSample(path, time, value) None#
Parameters:
  • path (Path)

  • time (float)

  • value (VtValue)


SetTimeSample(path, time, value) -> None

Parameters:
  • path (Path)

  • time (float)

  • value (SdfAbstractDataConstValue)


SetTimeSample(path, time, value) -> None

Parameters:
  • path (Path)

  • time (float)

  • value (T)

static SplitIdentifier()#

classmethod SplitIdentifier(identifier, layerPath, arguments) -> bool

Splits the given layer identifier into its constituent layer path and arguments.

Parameters:
  • identifier (str)

  • layerPath (str)

  • arguments (FileFormatArguments)

StreamsData() bool#

Returns true if this layer streams data from its serialized data store on demand, false otherwise.

Layers with streaming data are treated differently to avoid pulling in data unnecessarily. For example, reloading a streaming layer will not perform fine-grained change notification, since doing so would require the full contents of the layer to be loaded.

TransferContent(layer) None#

Copies the content of the given layer into this layer.

Source layer is unmodified.

Parameters:

layer (Layer)

Traverse(path, func) None#
Parameters:
  • path (Path)

  • func (TraversalFunction)

UpdateAssetInfo() None#

Update layer asset information.

Calling this method re-resolves the layer identifier, which updates asset information such as the layer’s resolved path and other asset info. This may be used to update the layer after external changes to the underlying asset system.

UpdateCompositionAssetDependency(
oldAssetPath,
newAssetPath,
) bool#

Updates the asset path of a composation dependency in this layer.

If newAssetPath is supplied, the update works as”rename”, updating any occurrence of oldAssetPath to newAssetPath in all reference, payload, and sublayer fields.

If newAssetPath is not given, this update behaves as a”delete”, removing all occurrences of oldAssetPath from all reference, payload, and sublayer fields.

Parameters:
  • oldAssetPath (str)

  • newAssetPath (str)

UpdateExternalReference(oldAssetPath, newAssetPath) bool#

Deprecated

Use UpdateCompositionAssetDependency instead.

Parameters:
  • oldAssetPath (str)

  • newAssetPath (str)

ColorConfigurationKey = 'colorConfiguration'#
ColorManagementSystemKey = 'colorManagementSystem'#
CommentKey = 'comment'#
DocumentationKey = 'documentation'#
EndFrameKey = 'endFrame'#
EndTimeCodeKey = 'endTimeCode'#
FramePrecisionKey = 'framePrecision'#
FramesPerSecondKey = 'framesPerSecond'#
HasOwnedSubLayers = 'hasOwnedSubLayers'#
OwnerKey = 'owner'#
SessionOwnerKey = 'sessionOwner'#
StartFrameKey = 'startFrame'#
StartTimeCodeKey = 'startTimeCode'#
TimeCodesPerSecondKey = 'timeCodesPerSecond'#
property anonymous#

bool

Returns true if this layer is an anonymous layer.

Type:

type

property colorConfiguration#

The color configuration asset-path of this layer.

property colorManagementSystem#

The name of the color management system used to interpret the colorConfiguration asset.

property comment#

The layer’s comment string.

property customLayerData#

The customLayerData dictionary associated with this layer.

property defaultPrim#

The layer’s default reference target token.

property dirty#

bool

Returns true if the layer is dirty, i.e.

has changed from its persistent representation.

Type:

type

property documentation#

The layer’s documentation string.

property empty#

bool

Returns whether this layer has no significant data.

Type:

type

property endTimeCode#

The end timeCode of this layer.

The end timeCode of a layer is not a hard limit, but is more of a hint. A layer’s time-varying content is not limited to the timeCode range of the layer.

property expired#

True if this object has expired, False otherwise.

property externalReferences#

Return unique list of asset paths of external references for given layer.

property fileExtension#

The layer’s file extension.

property framePrecision#

The number of digits of precision used in times in this layer.

property framesPerSecond#

The frames per second used in this layer.

property hasOwnedSubLayers#

Whether this layer’s sub layers are expected to have owners.

property identifier#

The layer’s identifier.

property owner#

The owner of this layer.

property permissionToEdit#

Return true if permitted to be edited (modified), false otherwise.

property permissionToSave#

Return true if permitted to be saved, false otherwise.

property pseudoRoot#

The pseudo-root of the layer.

property realPath#

The layer’s resolved path.

property repositoryPath#

The layer’s associated repository path

property resolvedPath#

The layer’s resolved path.

property rootPrimOrder#

Get/set the list of root prim names for this layer’s ‘reorder rootPrims’ statement.

property rootPrims#

The root prims of this layer, as an ordered dictionary.

The prims may be accessed by index or by name. Although this property claims it is read only, you can modify the contents of this dictionary to add, remove, or reorder the contents.

property sessionOwner#

The session owner of this layer. Only intended for use with session layers.

property startTimeCode#

The start timeCode of this layer.

The start timeCode of a layer is not a hard limit, but is more of a hint. A layer’s time-varying content is not limited to the timeCode range of the layer.

property subLayerOffsets#

The sublayer offsets of this layer, as a list. Although this property is claimed to be read only, you can modify the contents of this list by assigning new layer offsets to specific indices.

property subLayerPaths#

The sublayer paths of this layer, as a list. Although this property is claimed to be read only, you can modify the contents of this list.

property timeCodesPerSecond#

The timeCodes per second used in this layer.

property version#

The layer’s version.

class pxr.Sdf.LayerOffset#

Represents a time offset and scale between layers.

The SdfLayerOffset class is an affine transform, providing both a scale and a translate. It supports vector algebra semantics for composing SdfLayerOffsets together via multiplication. The SdfLayerOffset class is unitless: it does not refer to seconds or frames.

For example, suppose layer A uses layer B, with an offset of X: when bringing animation from B into A, you first apply the scale of X, and then the offset. Suppose you have a scale of 2 and an offset of 24: first multiply B’s frame numbers by 2, and then add 24. The animation from B as seen in A will take twice as long and start 24 frames later.

Offsets are typically used in either sublayers or prim references. For more information, see the SetSubLayerOffset() method of the SdfLayer class (the subLayerOffsets property in Python), as well as the SetReference() and GetReferenceLayerOffset() methods (the latter is the referenceLayerOffset property in Python) of the SdfPrimSpec class.

Methods:

GetInverse()

Gets the inverse offset, which performs the opposite transformation.

IsIdentity()

Returns true if this is an identity transformation, with an offset of 0.0 and a scale of 1.0.

Attributes:

offset

None

scale

None

GetInverse() LayerOffset#

Gets the inverse offset, which performs the opposite transformation.

IsIdentity() bool#

Returns true if this is an identity transformation, with an offset of 0.0 and a scale of 1.0.

property offset#

None

Sets the time offset.


type : float

Returns the time offset.

Type:

type

property scale#

None

Sets the time scale factor.


type : float

Returns the time scale factor.

Type:

type

class pxr.Sdf.LayerTree#

A SdfLayerTree is an immutable tree structure representing a sublayer stack and its recursive structure.

Layers can have sublayers, which can in turn have sublayers of their own. Clients that want to represent that hierarchical structure in memory can build a SdfLayerTree for that purpose.

We use TfRefPtr<SdfLayerTree> as handles to LayerTrees, as a simple way to pass them around as immutable trees without worrying about lifetime.

Attributes:

childTrees

list[LayerTree]

expired

True if this object has expired, False otherwise.

layer

Layer

offset

LayerOffset

property childTrees#

list[LayerTree]

Returns the children of this tree node.

Type:

type

property expired#

True if this object has expired, False otherwise.

property layer#

Layer

Returns the layer handle this tree node represents.

Type:

type

property offset#

LayerOffset

Returns the cumulative layer offset from the root of the tree.

Type:

type

class pxr.Sdf.LengthUnit#

Methods:

Attributes:

static GetValueFromName()#
allValues = (Sdf.LengthUnitMillimeter, Sdf.LengthUnitCentimeter, Sdf.LengthUnitDecimeter, Sdf.LengthUnitMeter, Sdf.LengthUnitKilometer, Sdf.LengthUnitInch, Sdf.LengthUnitFoot, Sdf.LengthUnitYard, Sdf.LengthUnitMile)#
class pxr.Sdf.ListEditorProxy_SdfNameKeyPolicy#

Methods:

Attributes:

Add()#
Append()#
ApplyEditsToList()#
ClearEdits()#
ClearEditsAndMakeExplicit()#
ContainsItemEdit()#
CopyItems()#
Erase()#
GetAddedOrExplicitItems()#
ModifyItemEdits()#
Prepend()#
Remove()#
RemoveItemEdits()#
ReplaceItemEdits()#
property addedItems#
property appendedItems#
property deletedItems#
property explicitItems#
property isExpired#
property isExplicit#
property isOrderedOnly#
property orderedItems#
property prependedItems#
class pxr.Sdf.ListEditorProxy_SdfPathKeyPolicy#

Methods:

Attributes:

Add()#
Append()#
ApplyEditsToList()#
ClearEdits()#
ClearEditsAndMakeExplicit()#
ContainsItemEdit()#
CopyItems()#
Erase()#
GetAddedOrExplicitItems()#
ModifyItemEdits()#
Prepend()#
Remove()#
RemoveItemEdits()#
ReplaceItemEdits()#
property addedItems#
property appendedItems#
property deletedItems#
property explicitItems#
property isExpired#
property isExplicit#
property isOrderedOnly#
property orderedItems#
property prependedItems#
class pxr.Sdf.ListEditorProxy_SdfPayloadTypePolicy#

Methods:

Attributes:

Add()#
Append()#
ApplyEditsToList()#
ClearEdits()#
ClearEditsAndMakeExplicit()#
ContainsItemEdit()#
CopyItems()#
Erase()#
GetAddedOrExplicitItems()#
ModifyItemEdits()#
Prepend()#
Remove()#
RemoveItemEdits()#
ReplaceItemEdits()#
property addedItems#
property appendedItems#
property deletedItems#
property explicitItems#
property isExpired#
property isExplicit#
property isOrderedOnly#
property orderedItems#
property prependedItems#
class pxr.Sdf.ListEditorProxy_SdfReferenceTypePolicy#

Methods:

Attributes:

Add()#
Append()#
ApplyEditsToList()#
ClearEdits()#
ClearEditsAndMakeExplicit()#
ContainsItemEdit()#
CopyItems()#
Erase()#
GetAddedOrExplicitItems()#
ModifyItemEdits()#
Prepend()#
Remove()#
RemoveItemEdits()#
ReplaceItemEdits()#
property addedItems#
property appendedItems#
property deletedItems#
property explicitItems#
property isExpired#
property isExplicit#
property isOrderedOnly#
property orderedItems#
property prependedItems#
class pxr.Sdf.ListOpType#

Methods:

Attributes:

static GetValueFromName()#
allValues = (Sdf.ListOpTypeExplicit, Sdf.ListOpTypeAdded, Sdf.ListOpTypePrepended, Sdf.ListOpTypeAppended, Sdf.ListOpTypeDeleted, Sdf.ListOpTypeOrdered)#
class pxr.Sdf.ListProxy_SdfNameKeyPolicy#

Methods:

Attributes:

ApplyEditsToList()#
ApplyList()#
append()#
clear()#
copy()#
count()#
index()#
insert()#
remove()#
replace()#
property expired#
class pxr.Sdf.ListProxy_SdfNameTokenKeyPolicy#

Methods:

Attributes:

ApplyEditsToList()#
ApplyList()#
append()#
clear()#
copy()#
count()#
index()#
insert()#
remove()#
replace()#
property expired#
class pxr.Sdf.ListProxy_SdfPathKeyPolicy#

Methods:

Attributes:

ApplyEditsToList()#
ApplyList()#
append()#
clear()#
copy()#
count()#
index()#
insert()#
remove()#
replace()#
property expired#
class pxr.Sdf.ListProxy_SdfPayloadTypePolicy#

Methods:

Attributes:

ApplyEditsToList()#
ApplyList()#
append()#
clear()#
copy()#
count()#
index()#
insert()#
remove()#
replace()#
property expired#
class pxr.Sdf.ListProxy_SdfReferenceTypePolicy#

Methods:

Attributes:

ApplyEditsToList()#
ApplyList()#
append()#
clear()#
copy()#
count()#
index()#
insert()#
remove()#
replace()#
property expired#
class pxr.Sdf.ListProxy_SdfSubLayerTypePolicy#

Methods:

Attributes:

ApplyEditsToList()#
ApplyList()#
append()#
clear()#
copy()#
count()#
index()#
insert()#
remove()#
replace()#
property expired#
class pxr.Sdf.MapEditProxy_VtDictionary#

Classes:

Methods:

Attributes:

class MapEditProxy_VtDictionary_Iterator#
class MapEditProxy_VtDictionary_KeyIterator#
class MapEditProxy_VtDictionary_ValueIterator#
clear()#
copy()#
get()#
items()#
keys()#
pop()#
popitem()#
setdefault()#
update()#
values()#
property expired#
class pxr.Sdf.MapEditProxy_map_SdfPath__SdfPath__less_SdfPath___allocator_pair_SdfPath_const__SdfPath_____#

Classes:

Methods:

Attributes:

class MapEditProxy_map_SdfPath__SdfPath__less_SdfPath___allocator_pair_SdfPath_const__SdfPath______Iterator#
class MapEditProxy_map_SdfPath__SdfPath__less_SdfPath___allocator_pair_SdfPath_const__SdfPath______KeyIterator#
class MapEditProxy_map_SdfPath__SdfPath__less_SdfPath___allocator_pair_SdfPath_const__SdfPath______ValueIterator#
clear()#
copy()#
get()#
items()#
keys()#
pop()#
popitem()#
setdefault()#
update()#
values()#
property expired#
class pxr.Sdf.MapEditProxy_map_string__string__less_string___allocator_pair_stringconst__string_____#

Classes:

Methods:

Attributes:

class MapEditProxy_map_string__string__less_string___allocator_pair_stringconst__string______Iterator#
class MapEditProxy_map_string__string__less_string___allocator_pair_stringconst__string______KeyIterator#
class MapEditProxy_map_string__string__less_string___allocator_pair_stringconst__string______ValueIterator#
clear()#
copy()#
get()#
items()#
keys()#
pop()#
popitem()#
setdefault()#
update()#
values()#
property expired#
class pxr.Sdf.NamespaceEdit#

A single namespace edit. It supports renaming, reparenting, reparenting with a rename, reordering, and removal.

Methods:

Remove

classmethod Remove(currentPath) -> This

Rename

classmethod Rename(currentPath, name) -> This

Reorder

classmethod Reorder(currentPath, index) -> This

Reparent

classmethod Reparent(currentPath, newParentPath, index) -> This

ReparentAndRename

classmethod ReparentAndRename(currentPath, newParentPath, name, index) -> This

Attributes:

static Remove()#

classmethod Remove(currentPath) -> This

Returns a namespace edit that removes the object at currentPath .

Parameters:

currentPath (Path)

static Rename()#

classmethod Rename(currentPath, name) -> This

Returns a namespace edit that renames the prim or property at currentPath to name .

Parameters:
  • currentPath (Path)

  • name (str)

static Reorder()#

classmethod Reorder(currentPath, index) -> This

Returns a namespace edit to reorder the prim or property at currentPath to index index .

Parameters:
  • currentPath (Path)

  • index (Index)

static Reparent()#

classmethod Reparent(currentPath, newParentPath, index) -> This

Returns a namespace edit to reparent the prim or property at currentPath to be under newParentPath at index index .

Parameters:
  • currentPath (Path)

  • newParentPath (Path)

  • index (Index)

static ReparentAndRename()#

classmethod ReparentAndRename(currentPath, newParentPath, name, index) -> This

Returns a namespace edit to reparent the prim or property at currentPath to be under newParentPath at index index with the name name .

Parameters:
  • currentPath (Path)

  • newParentPath (Path)

  • name (str)

  • index (Index)

atEnd = -1#
property currentPath#
property index#
property newPath#
same = -2#
class pxr.Sdf.NamespaceEditDetail#

Detailed information about a namespace edit.

Classes:

Result

Validity of an edit.

Attributes:

class Result#

Validity of an edit.

Methods:

Attributes:

static GetValueFromName()#
allValues = (Sdf.NamespaceEditDetail.Error, Sdf.NamespaceEditDetail.Unbatched, Sdf.NamespaceEditDetail.Okay)#
Error = Sdf.NamespaceEditDetail.Error#
Okay = Sdf.NamespaceEditDetail.Okay#
Unbatched = Sdf.NamespaceEditDetail.Unbatched#
property edit#
property reason#
property result#
class pxr.Sdf.Notice#

Wrapper class for Sdf notices.

Classes:

class Base#
class LayerDidReloadContent#
class LayerDidReplaceContent#
class LayerDirtinessChanged#
class LayerIdentifierDidChange#

Attributes:

property newIdentifier#
property oldIdentifier#
class LayerInfoDidChange#

Methods:

key

key()#
class LayerMutenessChanged#

Attributes:

property layerPath#
property wasMuted#
class LayersDidChange#

Methods:

GetLayers()#
GetSerialNumber()#
class LayersDidChangeSentPerLayer#

Methods:

GetLayers()#
GetSerialNumber()#
class pxr.Sdf.Path#

A path value used to locate objects in layers or scenegraphs.

Overview#

SdfPath is used in several ways:

  • As a storage key for addressing and accessing values held in a SdfLayer

  • As a namespace identity for scenegraph objects

  • As a way to refer to other scenegraph objects through relative paths The paths represented by an SdfPath class may be either relative or absolute. Relative paths are relative to the prim object that contains them (that is, if an SdfRelationshipSpec target is relative, it is relative to the SdfPrimSpec object that owns the SdfRelationshipSpec object).

SdfPath objects can be readily created from and converted back to strings, but as SdfPath objects, they have behaviors that make it easy and efficient to work with them. The SdfPath class provides a full range of methods for manipulating scene paths by appending a namespace child, appending a relationship target, getting the parent path, and so on. Since the SdfPath class uses a node-based representation internally, you should use the editing functions rather than converting to and from strings if possible.

Path Syntax#

Like a filesystem path, an SdfPath is conceptually just a sequence of path components. Unlike a filesystem path, each component has a type, and the type is indicated by the syntax.

Two separators are used between parts of a path. A slash (“/”) following an identifier is used to introduce a namespace child. A period (“.”) following an identifier is used to introduce a property. A property may also have several non-sequential colons (‘:’) in its name to provide a rudimentary namespace within properties but may not end or begin with a colon.

A leading slash in the string representation of an SdfPath object indicates an absolute path. Two adjacent periods indicate the parent namespace.

Brackets (“[“and”]”) are used to indicate relationship target paths for relational attributes.

The first part in a path is assumed to be a namespace child unless it is preceded by a period. That means:

  • /Foo is an absolute path specifying the root prim Foo.

  • /Foo/Bar is an absolute path specifying namespace child Bar of root prim Foo.

  • /Foo/Bar.baz is an absolute path specifying property baz of namespace child Bar of root prim Foo.

  • Foo is a relative path specifying namespace child Foo of the current prim.

  • Foo/Bar is a relative path specifying namespace child Bar of namespace child Foo of the current prim.

  • Foo/Bar.baz is a relative path specifying property baz of namespace child Bar of namespace child Foo of the current prim.

  • .foo is a relative path specifying the property foo of the current prim.

  • /Foo.bar[/Foo.baz].attrib is a relational attribute path. The relationship /Foo.bar has a target /Foo.baz . There is a relational attribute attrib on that relationship->target pair.

A Note on Thread-Safety#

SdfPath is strongly thread-safe, in the sense that zero additional synchronization is required between threads creating or using SdfPath values. Just like TfToken, SdfPath values are immutable. Internally, SdfPath uses a global prefix tree to efficiently share representations of paths, and provide fast equality/hashing operations, but modifications to this table are internally synchronized. Consequently, as with TfToken, for best performance it is important to minimize the number of values created (since it requires synchronized access to this table) or copied (since it requires atomic ref-counting operations).

Classes:

Methods:

AppendChild(childName)

Creates a path by appending an element for childName to this path.

AppendElementString(element)

Creates a path by extracting and appending an element from the given ascii element encoding.

AppendExpression()

Creates a path by appending an expression element.

AppendMapper(targetPath)

Creates a path by appending a mapper element for targetPath .

AppendMapperArg(argName)

Creates a path by appending an element for argName .

AppendPath(newSuffix)

Creates a path by appending a given relative path to this path.

AppendProperty(propName)

Creates a path by appending an element for propName to this path.

AppendRelationalAttribute(attrName)

Creates a path by appending an element for attrName to this path.

AppendTarget(targetPath)

Creates a path by appending an element for targetPath .

AppendVariantSelection(variantSet, variant)

Creates a path by appending an element for variantSet and variant to this path.

ContainsPrimVariantSelection()

Returns whether the path or any of its parent paths identifies a variant selection for a prim.

ContainsPropertyElements()

Return true if this path contains any property elements, false otherwise.

ContainsTargetPath()

Return true if this path is or has a prefix that's a target path or a mapper path.

FindLongestPrefix

FindLongestStrictPrefix

FindPrefixedRange

GetAbsoluteRootOrPrimPath()

Creates a path by stripping all properties and relational attributes from this path, leaving the path to the containing prim.

GetAllTargetPathsRecursively(result)

Returns all the relationship target or connection target paths contained in this path, and recursively all the target paths contained in those target paths in reverse depth-first order.

GetAncestorsRange()

Return a range for iterating over the ancestors of this path.

GetCommonPrefix(path)

Returns a path with maximal length that is a prefix path of both this path and path .

GetConciseRelativePaths

classmethod GetConciseRelativePaths(paths) -> list[Path]

GetParentPath()

Return the path that identifies this path's namespace parent.

GetPrefixes

Returns the prefix paths of this path.

GetPrimOrPrimVariantSelectionPath()

Creates a path by stripping all relational attributes, targets, and properties, leaving the nearest path for which IsPrimOrPrimVariantSelectionPath() returns true.

GetPrimPath()

Creates a path by stripping all relational attributes, targets, properties, and variant selections from the leafmost prim path, leaving the nearest path for which IsPrimPath() returns true.

GetVariantSelection()

Returns the variant selection for this path, if this is a variant selection path.

HasPrefix(prefix)

Return true if both this path and prefix are not the empty path and this path has prefix as a prefix.

IsAbsolutePath()

Returns whether the path is absolute.

IsAbsoluteRootOrPrimPath()

Returns whether the path identifies a prim or the absolute root.

IsAbsoluteRootPath()

Return true if this path is the AbsoluteRootPath() .

IsExpressionPath()

Returns whether the path identifies a connection expression.

IsMapperArgPath()

Returns whether the path identifies a connection mapper arg.

IsMapperPath()

Returns whether the path identifies a connection mapper.

IsNamespacedPropertyPath()

Returns whether the path identifies a namespaced property.

IsPrimPath()

Returns whether the path identifies a prim.

IsPrimPropertyPath()

Returns whether the path identifies a prim's property.

IsPrimVariantSelectionPath()

Returns whether the path identifies a variant selection for a prim.

IsPropertyPath()

Returns whether the path identifies a property.

IsRelationalAttributePath()

Returns whether the path identifies a relational attribute.

IsRootPrimPath()

Returns whether the path identifies a root prim.

IsTargetPath()

Returns whether the path identifies a relationship or connection target.

IsValidIdentifier

classmethod IsValidIdentifier(name) -> bool

IsValidNamespacedIdentifier

classmethod IsValidNamespacedIdentifier(name) -> bool

IsValidPathString

classmethod IsValidPathString(pathString, errMsg) -> bool

JoinIdentifier

classmethod JoinIdentifier(names) -> str

MakeAbsolutePath(anchor)

Returns the absolute form of this path using anchor as the relative basis.

MakeRelativePath(anchor)

Returns the relative form of this path using anchor as the relative basis.

RemoveAncestorPaths

classmethod RemoveAncestorPaths(paths) -> None

RemoveCommonSuffix(otherPath, stopAtRootPrim)

Find and remove the longest common suffix from two paths.

RemoveDescendentPaths

classmethod RemoveDescendentPaths(paths) -> None

ReplaceName(newName)

Return a copy of this path with its final component changed to newName.

ReplacePrefix(oldPrefix, newPrefix, ...)

Returns a path with all occurrences of the prefix path oldPrefix replaced with the prefix path newPrefix .

ReplaceTargetPath(newTargetPath)

Replaces the relational attribute's target path.

StripAllVariantSelections()

Create a path by stripping all variant selections from all components of this path, leaving a path with no embedded variant selections.

StripNamespace

classmethod StripNamespace(name) -> str

StripPrefixNamespace

classmethod StripPrefixNamespace(name, matchNamespace) -> tuple[str, bool]

TokenizeIdentifier

classmethod TokenizeIdentifier(name) -> list[str]

Attributes:

absoluteIndicator

absoluteRootPath

childDelimiter

elementString

The string representation of the terminal component of this path.

emptyPath

expressionIndicator

isEmpty

bool

mapperArgDelimiter

mapperIndicator

name

The name of the prim, property or relational attribute identified by the path.

namespaceDelimiter

parentPathElement

pathElementCount

The number of path elements in this path.

pathString

The string representation of this path.

propertyDelimiter

reflexiveRelativePath

relationshipTargetEnd

relationshipTargetStart

targetPath

The relational attribute target path for this path.

class AncestorsRange#

Methods:

GetPath()#
AppendChild(childName) Path#

Creates a path by appending an element for childName to this path.

This path must be a prim path, the AbsoluteRootPath or the ReflexiveRelativePath.

Parameters:

childName (str)

AppendElementString(element) Path#

Creates a path by extracting and appending an element from the given ascii element encoding.

Attempting to append a root or empty path (or malformed path) or attempting to append to the EmptyPath will raise an error and return the EmptyPath.

May also fail and return EmptyPath if this path’s type cannot possess a child of the type encoded in element .

Parameters:

element (str)

AppendExpression() Path#

Creates a path by appending an expression element.

This path must be a prim property or relational attribute path.

AppendMapper(targetPath) Path#

Creates a path by appending a mapper element for targetPath .

This path must be a prim property or relational attribute path.

Parameters:

targetPath (Path)

AppendMapperArg(argName) Path#

Creates a path by appending an element for argName .

This path must be a mapper path.

Parameters:

argName (str)

AppendPath(newSuffix) Path#

Creates a path by appending a given relative path to this path.

If the newSuffix is a prim path, then this path must be a prim path or a root path.

If the newSuffix is a prim property path, then this path must be a prim path or the ReflexiveRelativePath.

Parameters:

newSuffix (Path)

AppendProperty(propName) Path#

Creates a path by appending an element for propName to this path.

This path must be a prim path or the ReflexiveRelativePath.

Parameters:

propName (str)

AppendRelationalAttribute(attrName) Path#

Creates a path by appending an element for attrName to this path.

This path must be a target path.

Parameters:

attrName (str)

AppendTarget(targetPath) Path#

Creates a path by appending an element for targetPath .

This path must be a prim property or relational attribute path.

Parameters:

targetPath (Path)

AppendVariantSelection(variantSet, variant) Path#

Creates a path by appending an element for variantSet and variant to this path.

This path must be a prim path.

Parameters:
  • variantSet (str)

  • variant (str)

ContainsPrimVariantSelection() bool#

Returns whether the path or any of its parent paths identifies a variant selection for a prim.

ContainsPropertyElements() bool#

Return true if this path contains any property elements, false otherwise.

A false return indicates a prim-like path, specifically a root path, a prim path, or a prim variant selection path. A true return indicates a property-like path: a prim property path, a target path, a relational attribute path, etc.

ContainsTargetPath() bool#

Return true if this path is or has a prefix that’s a target path or a mapper path.

static FindLongestPrefix()#
static FindLongestStrictPrefix()#
static FindPrefixedRange()#
GetAbsoluteRootOrPrimPath() Path#

Creates a path by stripping all properties and relational attributes from this path, leaving the path to the containing prim.

If the path is already a prim or absolute root path, the same path is returned.

GetAllTargetPathsRecursively(result) None#

Returns all the relationship target or connection target paths contained in this path, and recursively all the target paths contained in those target paths in reverse depth-first order.

For example, given the path:’/A/B.a[/C/D.a[/E/F.a]].a[/A/B.a[/C/D.a]]’this method produces:’/A/B.a[/C/D.a]’,’/C/D.a’,’/C/D.a[/E/F.a]’,’/E/F.a’

Parameters:

result (list[Path])

GetAncestorsRange() SdfPathAncestorsRange#

Return a range for iterating over the ancestors of this path.

The range provides iteration over the prefixes of a path, ordered from longest to shortest (the opposite of the order of the prefixes returned by GetPrefixes).

GetCommonPrefix(path) Path#

Returns a path with maximal length that is a prefix path of both this path and path .

Parameters:

path (Path)

static GetConciseRelativePaths()#

classmethod GetConciseRelativePaths(paths) -> list[Path]

Given some vector of paths, get a vector of concise unambiguous relative paths.

GetConciseRelativePaths requires a vector of absolute paths. It finds a set of relative paths such that each relative path is unique.

Parameters:

paths (list[Path])

GetParentPath() Path#

Return the path that identifies this path’s namespace parent.

For a prim path (like’/foo/bar’), return the prim’s parent’s path (‘/foo’). For a prim property path (like’/foo/bar.property’), return the prim’s path (‘/foo/bar’). For a target path (like’/foo/bar.property[/target]’) return the property path (‘/foo/bar.property’). For a mapper path (like’/foo/bar.property.mapper[/target]’) return the property path (‘/foo/bar.property). For a relational attribute path (like’/foo/bar.property[/target].relAttr’) return the relationship target’s path (‘/foo/bar.property[/target]’). For a prim variant selection path (like’/foo/bar{var=sel}’) return the prim path (‘/foo/bar’). For a root prim path (like’/rootPrim’), return AbsoluteRootPath() (‘/’). For a single element relative prim path (like’relativePrim’), return ReflexiveRelativePath() (‘.’). For ReflexiveRelativePath() , return the relative parent path (’..’).

Note that the parent path of a relative parent path (’..’) is a relative grandparent path (’../..’). Use caution writing loops that walk to parent paths since relative paths have infinitely many ancestors. To more safely traverse ancestor paths, consider iterating over an SdfPathAncestorsRange instead, as returend by GetAncestorsRange() .

GetPrefixes()#

Returns the prefix paths of this path.

GetPrimOrPrimVariantSelectionPath() Path#

Creates a path by stripping all relational attributes, targets, and properties, leaving the nearest path for which IsPrimOrPrimVariantSelectionPath() returns true.

See GetPrimPath also.

If the path is already a prim or a prim variant selection path, the same path is returned.

GetPrimPath() Path#

Creates a path by stripping all relational attributes, targets, properties, and variant selections from the leafmost prim path, leaving the nearest path for which IsPrimPath() returns true.

See GetPrimOrPrimVariantSelectionPath also.

If the path is already a prim path, the same path is returned.

GetVariantSelection() tuple[str, str]#

Returns the variant selection for this path, if this is a variant selection path.

Returns a pair of empty strings if this path is not a variant selection path.

HasPrefix(prefix) bool#

Return true if both this path and prefix are not the empty path and this path has prefix as a prefix.

Return false otherwise.

Parameters:

prefix (Path)

IsAbsolutePath() bool#

Returns whether the path is absolute.

IsAbsoluteRootOrPrimPath() bool#

Returns whether the path identifies a prim or the absolute root.

IsAbsoluteRootPath() bool#

Return true if this path is the AbsoluteRootPath() .

IsExpressionPath() bool#

Returns whether the path identifies a connection expression.

IsMapperArgPath() bool#

Returns whether the path identifies a connection mapper arg.

IsMapperPath() bool#

Returns whether the path identifies a connection mapper.

IsNamespacedPropertyPath() bool#

Returns whether the path identifies a namespaced property.

A namespaced property has colon embedded in its name.

IsPrimPath() bool#

Returns whether the path identifies a prim.

IsPrimPropertyPath() bool#

Returns whether the path identifies a prim’s property.

A relational attribute is not a prim property.

IsPrimVariantSelectionPath() bool#

Returns whether the path identifies a variant selection for a prim.

IsPropertyPath() bool#

Returns whether the path identifies a property.

A relational attribute is considered to be a property, so this method will return true for relational attributes as well as properties of prims.

IsRelationalAttributePath() bool#

Returns whether the path identifies a relational attribute.

If this is true, IsPropertyPath() will also be true.

IsRootPrimPath() bool#

Returns whether the path identifies a root prim.

the path must be absolute and have a single element (for example /foo ).

IsTargetPath() bool#

Returns whether the path identifies a relationship or connection target.

static IsValidIdentifier()#

classmethod IsValidIdentifier(name) -> bool

Returns whether name is a legal identifier for any path component.

Parameters:

name (str)

static IsValidNamespacedIdentifier()#

classmethod IsValidNamespacedIdentifier(name) -> bool

Returns whether name is a legal namespaced identifier.

This returns true if IsValidIdentifier() does.

Parameters:

name (str)

static IsValidPathString()#

classmethod IsValidPathString(pathString, errMsg) -> bool

Return true if pathString is a valid path string, meaning that passing the string to the SdfPath constructor will result in a valid, non-empty SdfPath.

Otherwise, return false and if errMsg is not None, set the pointed-to string to the parse error.

Parameters:
  • pathString (str)

  • errMsg (str)

static JoinIdentifier()#

classmethod JoinIdentifier(names) -> str

Join names into a single identifier using the namespace delimiter.

Any empty strings present in names are ignored when joining.

Parameters:

names (list[str])


JoinIdentifier(names) -> str

Join names into a single identifier using the namespace delimiter.

Any empty strings present in names are ignored when joining.

Parameters:

names (list[str])


JoinIdentifier(lhs, rhs) -> str

Join lhs and rhs into a single identifier using the namespace delimiter.

Returns lhs if rhs is empty and vice verse. Returns an empty string if both lhs and rhs are empty.

Parameters:
  • lhs (str)

  • rhs (str)


JoinIdentifier(lhs, rhs) -> str

Join lhs and rhs into a single identifier using the namespace delimiter.

Returns lhs if rhs is empty and vice verse. Returns an empty string if both lhs and rhs are empty.

Parameters:
  • lhs (str)

  • rhs (str)

MakeAbsolutePath(anchor) Path#

Returns the absolute form of this path using anchor as the relative basis.

anchor must be an absolute prim path.

If this path is a relative path, resolve it using anchor as the relative basis.

If this path is already an absolute path, just return a copy.

Parameters:

anchor (Path)

MakeRelativePath(anchor) Path#

Returns the relative form of this path using anchor as the relative basis.

anchor must be an absolute prim path.

If this path is an absolute path, return the corresponding relative path that is relative to the absolute path given by anchor .

If this path is a relative path, return the optimal relative path to the absolute path given by anchor . (The optimal relative path from a given prim path is the relative path with the least leading dot-dots.

Parameters:

anchor (Path)

static RemoveAncestorPaths()#

classmethod RemoveAncestorPaths(paths) -> None

Remove all elements of paths that prefix other elements in paths.

As a side-effect, the result is left in sorted order.

Parameters:

paths (list[Path])

RemoveCommonSuffix(
otherPath,
stopAtRootPrim,
) tuple[Path, Path]#

Find and remove the longest common suffix from two paths.

Returns this path and otherPath with the longest common suffix removed (first and second, respectively). If the two paths have no common suffix then the paths are returned as-is. If the paths are equal then this returns empty paths for relative paths and absolute roots for absolute paths. The paths need not be the same length.

If stopAtRootPrim is true then neither returned path will be the root path. That, in turn, means that some common suffixes will not be removed. For example, if stopAtRootPrim is true then the paths /A/B and /B will be returned as is. Were it false then the result would be /A and /. Similarly paths /A/B/C and /B/C would return /A/B and /B if stopAtRootPrim is true but /A and / if it’s false .

Parameters:
  • otherPath (Path)

  • stopAtRootPrim (bool)

static RemoveDescendentPaths()#

classmethod RemoveDescendentPaths(paths) -> None

Remove all elements of paths that are prefixed by other elements in paths.

As a side-effect, the result is left in sorted order.

Parameters:

paths (list[Path])

ReplaceName(newName) Path#

Return a copy of this path with its final component changed to newName.

This path must be a prim or property path.

This method is shorthand for path.GetParentPath().AppendChild(newName) for prim paths, path.GetParentPath().AppendProperty(newName) for prim property paths, and path.GetParentPath().AppendRelationalAttribute(newName) for relational attribute paths.

Note that only the final path component is ever changed. If the name of the final path component appears elsewhere in the path, it will not be modified.

Some examples:

ReplaceName(‘/chars/MeridaGroup’,’AngusGroup’) ->’/chars/AngusGroup’ReplaceName(‘/Merida.tx’,’ty’) ->’/Merida.ty’ReplaceName(‘/Merida.tx[targ].tx’,’ty’) ->’/Merida.tx[targ].ty’

Parameters:

newName (str)

ReplacePrefix(oldPrefix, newPrefix, fixTargetPaths) Path#

Returns a path with all occurrences of the prefix path oldPrefix replaced with the prefix path newPrefix .

If fixTargetPaths is true, any embedded target paths will also have their paths replaced. This is the default.

If this is not a target, relational attribute or mapper path this will do zero or one path prefix replacements, if not the number of replacements can be greater than one.

Parameters:
  • oldPrefix (Path)

  • newPrefix (Path)

  • fixTargetPaths (bool)

ReplaceTargetPath(newTargetPath) Path#

Replaces the relational attribute’s target path.

The path must be a relational attribute path.

Parameters:

newTargetPath (Path)

StripAllVariantSelections() Path#

Create a path by stripping all variant selections from all components of this path, leaving a path with no embedded variant selections.

static StripNamespace()#

classmethod StripNamespace(name) -> str

Returns name stripped of any namespaces.

This does not check the validity of the name; it just attempts to remove anything that looks like a namespace.

Parameters:

name (str)


StripNamespace(name) -> str

Returns name stripped of any namespaces.

This does not check the validity of the name; it just attempts to remove anything that looks like a namespace.

Parameters:

name (str)

static StripPrefixNamespace()#

classmethod StripPrefixNamespace(name, matchNamespace) -> tuple[str, bool]

Returns ( name , true ) where name is stripped of the prefix specified by matchNamespace if name indeed starts with matchNamespace .

Returns ( name , false ) otherwise, with name unmodified.

This function deals with both the case where matchNamespace contains the trailing namespace delimiter’:’or not.

Parameters:
  • name (str)

  • matchNamespace (str)

static TokenizeIdentifier()#

classmethod TokenizeIdentifier(name) -> list[str]

Tokenizes name by the namespace delimiter.

Returns the empty vector if name is not a valid namespaced identifier.

Parameters:

name (str)

absoluteIndicator = '/'#
absoluteRootPath = Sdf.Path('/')#
childDelimiter = '/'#
property elementString#

The string representation of the terminal component of this path. This path can be reconstructed via thisPath.GetParentPath().AppendElementString(thisPath.element). None of absoluteRootPath, reflexiveRelativePath, nor emptyPath possess the above quality; their .elementString is the empty string.

emptyPath = Sdf.Path.emptyPath#
expressionIndicator = 'expression'#
property isEmpty#

bool

Returns true if this is the empty path ( SdfPath::EmptyPath() ).

Type:

type

mapperArgDelimiter = '.'#
mapperIndicator = 'mapper'#
property name#

The name of the prim, property or relational attribute identified by the path.

‘’ for EmptyPath. ‘.’ for ReflexiveRelativePath. ‘..’ for a path ending in ParentPathElement.

namespaceDelimiter = ':'#
parentPathElement = '..'#
property pathElementCount#

The number of path elements in this path.

property pathString#

The string representation of this path.

propertyDelimiter = '.'#
reflexiveRelativePath = Sdf.Path('.')#
relationshipTargetEnd = ']'#
relationshipTargetStart = '['#
property targetPath#

The relational attribute target path for this path.

EmptyPath if this is not a relational attribute path.

class pxr.Sdf.PathArray#

An array of type SdfPath.

class pxr.Sdf.PathListOp#

Methods:

Attributes:

ApplyOperations()#
Clear()#
ClearAndMakeExplicit()#
static Create()#
static CreateExplicit()#
GetAddedOrExplicitItems()#
HasItem()#
property addedItems#
property appendedItems#
property deletedItems#
property explicitItems#
property isExplicit#
property orderedItems#
property prependedItems#
class pxr.Sdf.Payload#

Represents a payload and all its meta data.

A payload represents a prim reference to an external layer. A payload is similar to a prim reference (see SdfReference) with the major difference that payloads are explicitly loaded by the user.

Unloaded payloads represent a boundary that lazy composition and system behaviors will not traverse across, providing a user-visible way to manage the working set of the scene.

Attributes:

assetPath

None

layerOffset

None

primPath

None

property assetPath#

None

Sets a new asset path for the layer the payload uses.

See SdfAssetPath for what characters are valid in assetPath . If assetPath contains invalid characters, issue an error and set this payload’s asset path to the empty asset path.


type : str

Returns the asset path of the layer that the payload uses.

Type:

type

property layerOffset#

None

Sets a new layer offset.


type : LayerOffset

Returns the layer offset associated with the payload.

Type:

type

property primPath#

None

Sets a new prim path for the prim that the payload uses.


type : Path

Returns the scene path of the prim for the payload.

Type:

type

class pxr.Sdf.PayloadListOp#

Methods:

Attributes:

ApplyOperations()#
Clear()#
ClearAndMakeExplicit()#
static Create()#
static CreateExplicit()#
GetAddedOrExplicitItems()#
HasItem()#
property addedItems#
property appendedItems#
property deletedItems#
property explicitItems#
property isExplicit#
property orderedItems#
property prependedItems#
class pxr.Sdf.Permission#

Methods:

Attributes:

static GetValueFromName()#
allValues = (Sdf.PermissionPublic, Sdf.PermissionPrivate)#
class pxr.Sdf.PrimSpec#

Represents a prim description in an SdfLayer object.

Every SdfPrimSpec object is defined in a layer. It is identified by its path (SdfPath class) in the namespace hierarchy of its layer. SdfPrimSpecs can be created using the New() method as children of either the containing SdfLayer itself (for”root level”prims), or as children of other SdfPrimSpec objects to extend a hierarchy. The helper function SdfCreatePrimInLayer() can be used to quickly create a hierarchy of primSpecs.

SdfPrimSpec objects have properties of two general types: attributes (containing values) and relationships (different types of connections to other prims and attributes). Attributes are represented by the SdfAttributeSpec class and relationships by the SdfRelationshipSpec class. Each prim has its own namespace of properties. Properties are stored and accessed by their name.

SdfPrimSpec objects have a typeName, permission restriction, and they reference and inherit prim paths. Permission restrictions control which other layers may refer to, or express opinions about a prim. See the SdfPermission class for more information.

  • Insert doc about references and inherits here.

  • Should have validate... methods for name, children, properties

Methods:

ApplyNameChildrenOrder(vec)

Reorders the given list of child names according to the reorder nameChildren statement for this prim.

ApplyPropertyOrder(vec)

Reorders the given list of property names according to the reorder properties statement for this prim.

BlockVariantSelection(variantSetName)

Blocks the variant selected for the given variant set by setting the variant selection to empty.

CanSetName(newName, whyNot)

Returns true if setting the prim spec's name to newName will succeed.

ClearActive()

Removes the active opinion in this prim spec if there is one.

ClearInstanceable()

Clears the value for the prim's instanceable flag.

ClearKind()

Remove the kind opinion from this prim spec if there is one.

ClearPayloadList

Clears the payloads for this prim.

ClearReferenceList

Clears the references for this prim.

GetAttributeAtPath(path)

Returns an attribute given its path .

GetObjectAtPath(path)

path: Path

GetPrimAtPath(path)

Returns a prim given its path .

GetPropertyAtPath(path)

Returns a property given its path .

GetRelationshipAtPath(path)

Returns a relationship given its path .

GetVariantNames(name)

Returns list of variant names for the given variant set.

HasActive()

Returns true if this prim spec has an opinion about active.

HasInstanceable()

Returns true if this prim spec has a value authored for its instanceable flag, false otherwise.

HasKind()

Returns true if this prim spec has an opinion about kind.

RemoveProperty(property)

Removes the property.

Attributes:

ActiveKey

AnyTypeToken

CommentKey

CustomDataKey

DocumentationKey

HiddenKey

InheritPathsKey

KindKey

PayloadKey

PermissionKey

PrefixKey

PrefixSubstitutionsKey

PrimOrderKey

PropertyOrderKey

ReferencesKey

RelocatesKey

SpecializesKey

SpecifierKey

SymmetricPeerKey

SymmetryArgumentsKey

SymmetryFunctionKey

TypeNameKey

VariantSelectionKey

VariantSetNamesKey

active

Whether this prim spec is active.

assetInfo

Returns the asset info dictionary for this prim.

attributes

The attributes of this prim, as an ordered dictionary.

comment

The prim's comment string.

customData

The custom data for this prim.

documentation

The prim's documentation string.

expired

hasPayloads

Returns true if this prim has payloads set.

hasReferences

Returns true if this prim has references set.

hidden

Whether this prim spec will be hidden in browsers.

inheritPathList

A PathListEditor for the prim's inherit paths.

instanceable

Whether this prim spec is flagged as instanceable.

kind

What kind of model this prim spec represents, if any.

name

The prim's name.

nameChildren

The prim name children of this prim, as an ordered dictionary.

nameChildrenOrder

Get/set the list of child names for this prim's 'reorder nameChildren' statement.

nameParent

The name parent of this prim.

nameRoot

The name pseudo-root of this prim.

payloadList

A PayloadListEditor for the prim's payloads.

permission

The prim's permission restriction.

prefix

The prim's prefix.

prefixSubstitutions

Dictionary of prefix substitutions.

properties

The properties of this prim, as an ordered dictionary.

propertyOrder

Get/set the list of property names for this prim's 'reorder properties' statement.

realNameParent

The name parent of this prim.

referenceList

A ReferenceListEditor for the prim's references.

relationships

The relationships of this prim, as an ordered dictionary.

relocates

An editing proxy for the prim's map of relocation paths.

specializesList

A PathListEditor for the prim's specializes.

specifier

The prim's specifier (SpecifierDef or SpecifierOver).

suffix

The prim's suffix.

suffixSubstitutions

Dictionary of prefix substitutions.

symmetricPeer

The prims's symmetric peer.

symmetryArguments

Dictionary with prim symmetry arguments.

symmetryFunction

The prim's symmetry function.

typeName

The type of this prim.

variantSelections

Dictionary whose keys are variant set names and whose values are the variants chosen for each set.

variantSetNameList

A StringListEditor for the names of the variant sets for this prim.

variantSets

The VariantSetSpecs for this prim indexed by name.

ApplyNameChildrenOrder(vec) None#

Reorders the given list of child names according to the reorder nameChildren statement for this prim.

This routine employs the standard list editing operation for ordered items in a ListEditor.

Parameters:

vec (list[str])

ApplyPropertyOrder(vec) None#

Reorders the given list of property names according to the reorder properties statement for this prim.

This routine employs the standard list editing operation for ordered items in a ListEditor.

Parameters:

vec (list[str])

BlockVariantSelection(variantSetName) None#

Blocks the variant selected for the given variant set by setting the variant selection to empty.

Parameters:

variantSetName (str)

CanSetName(newName, whyNot) bool#

Returns true if setting the prim spec’s name to newName will succeed.

Returns false if it won’t, and sets whyNot with a string describing why not.

Parameters:
  • newName (str)

  • whyNot (str)

ClearActive() None#

Removes the active opinion in this prim spec if there is one.

ClearInstanceable() None#

Clears the value for the prim’s instanceable flag.

ClearKind() None#

Remove the kind opinion from this prim spec if there is one.

ClearPayloadList()#

Clears the payloads for this prim.

ClearReferenceList()#

Clears the references for this prim.

GetAttributeAtPath(path) AttributeSpec#

Returns an attribute given its path .

Returns invalid handle if there is no attribute at path . This is simply a more specifically typed version of GetObjectAtPath.

Parameters:

path (Path)

GetObjectAtPath(path) object#

path: Path

Returns a prim or property given its namespace path.

If path is relative then it will be interpreted as relative to this prim. If it is absolute then it will be interpreted as absolute in this prim’s layer. The return type can be either PrimSpecPtr or PropertySpecPtr.

GetPrimAtPath(path) PrimSpec#

Returns a prim given its path .

Returns invalid handle if there is no prim at path . This is simply a more specifically typed version of GetObjectAtPath.

Parameters:

path (Path)

GetPropertyAtPath(path) PropertySpec#

Returns a property given its path .

Returns invalid handle if there is no property at path . This is simply a more specifically typed version of GetObjectAtPath.

Parameters:

path (Path)

GetRelationshipAtPath(path) RelationshipSpec#

Returns a relationship given its path .

Returns invalid handle if there is no relationship at path . This is simply a more specifically typed version of GetObjectAtPath.

Parameters:

path (Path)

GetVariantNames(name) list[str]#

Returns list of variant names for the given variant set.

Parameters:

name (str)

HasActive() bool#

Returns true if this prim spec has an opinion about active.

HasInstanceable() bool#

Returns true if this prim spec has a value authored for its instanceable flag, false otherwise.

HasKind() bool#

Returns true if this prim spec has an opinion about kind.

RemoveProperty(property) None#

Removes the property.

Parameters:

property (PropertySpec)

ActiveKey = 'active'#
AnyTypeToken = '__AnyType__'#
CommentKey = 'comment'#
CustomDataKey = 'customData'#
DocumentationKey = 'documentation'#
HiddenKey = 'hidden'#
InheritPathsKey = 'inheritPaths'#
KindKey = 'kind'#
PayloadKey = 'payload'#
PermissionKey = 'permission'#
PrefixKey = 'prefix'#
PrefixSubstitutionsKey = 'prefixSubstitutions'#
PrimOrderKey = 'primOrder'#
PropertyOrderKey = 'propertyOrder'#
ReferencesKey = 'references'#
RelocatesKey = 'relocates'#
SpecializesKey = 'specializes'#
SpecifierKey = 'specifier'#
SymmetricPeerKey = 'symmetricPeer'#
SymmetryArgumentsKey = 'symmetryArguments'#
SymmetryFunctionKey = 'symmetryFunction'#
TypeNameKey = 'typeName'#
VariantSelectionKey = 'variantSelection'#
VariantSetNamesKey = 'variantSetNames'#
property active#

Whether this prim spec is active. The default value is true.

property assetInfo#

Returns the asset info dictionary for this prim.

The default value is an empty dictionary.

The asset info dictionary is used to annotate prims representing the root-prims of assets (generally organized as models) with various data related to asset management. For example, asset name, root layer identifier, asset version etc.

property attributes#

The attributes of this prim, as an ordered dictionary.

property comment#

The prim’s comment string.

property customData#

The custom data for this prim.

The default value for custom data is an empty dictionary.

Custom data is for use by plugins or other non-tools supplied extensions that need to be able to store data attached to arbitrary scene objects. Note that if the only objects you want to store data on are prims, using custom attributes is probably a better choice. But if you need to possibly store this data on attributes or relationships or as annotations on reference arcs, then custom data is an appropriate choice.

property documentation#

The prim’s documentation string.

property expired#
property hasPayloads#

Returns true if this prim has payloads set.

property hasReferences#

Returns true if this prim has references set.

property hidden#

Whether this prim spec will be hidden in browsers. The default value is false.

property inheritPathList#

A PathListEditor for the prim’s inherit paths.

The list of the inherit paths for this prim may be modified with this PathListEditor.

A PathListEditor may express a list either as an explicit value or as a set of list editing operations. See PathListEditor for more information.

property instanceable#

Whether this prim spec is flagged as instanceable. The default value is false.

property kind#

What kind of model this prim spec represents, if any. The default is an empty string

property name#

The prim’s name.

property nameChildren#

The prim name children of this prim, as an ordered dictionary.

Note that although this property is described as being read-only, you can modify the contents to add, remove, or reorder children.

property nameChildrenOrder#

Get/set the list of child names for this prim’s ‘reorder nameChildren’ statement.

property nameParent#

The name parent of this prim.

property nameRoot#

The name pseudo-root of this prim.

property payloadList#

A PayloadListEditor for the prim’s payloads.

The list of the payloads for this prim may be modified with this PayloadListEditor.

A PayloadListEditor may express a list either as an explicit value or as a set of list editing operations. See PayloadListEditor for more information.

property permission#

The prim’s permission restriction. The default value is SdfPermissionPublic.

property prefix#

The prim’s prefix.

property prefixSubstitutions#

Dictionary of prefix substitutions.

property properties#

The properties of this prim, as an ordered dictionary.

Note that although this property is described as being read-only, you can modify the contents to add, remove, or reorder properties.

property propertyOrder#

Get/set the list of property names for this prim’s ‘reorder properties’ statement.

property realNameParent#

The name parent of this prim.

property referenceList#

A ReferenceListEditor for the prim’s references.

The list of the references for this prim may be modified with this ReferenceListEditor.

A ReferenceListEditor may express a list either as an explicit value or as a set of list editing operations. See ReferenceListEditor for more information.

property relationships#

The relationships of this prim, as an ordered dictionary.

property relocates#

An editing proxy for the prim’s map of relocation paths.

The map of source-to-target paths specifying namespace relocation may be set or cleared whole, or individual map entries may be added, removed, or edited.

property specializesList#

A PathListEditor for the prim’s specializes.

The list of the specializes for this prim may be modified with this PathListEditor.

A PathListEditor may express a list either as an explicit value or as a set of list editing operations. See PathListEditor for more information.

property specifier#

The prim’s specifier (SpecifierDef or SpecifierOver). The default value is SpecifierOver.

property suffix#

The prim’s suffix.

property suffixSubstitutions#

Dictionary of prefix substitutions.

property symmetricPeer#

The prims’s symmetric peer.

property symmetryArguments#

Dictionary with prim symmetry arguments.

Although this property is marked read-only, you can modify the contents to add, change, and clear symmetry arguments.

property symmetryFunction#

The prim’s symmetry function.

property typeName#

The type of this prim.

property variantSelections#

Dictionary whose keys are variant set names and whose values are the variants chosen for each set.

Although this property is marked read-only, you can modify the contents to add, change, and clear variants.

property variantSetNameList#

A StringListEditor for the names of the variant sets for this prim.

The list of the names of the variants sets of this prim may be modified with this StringListEditor.

A StringListEditor may express a list either as an explicit value or as a set of list editing operations. See StringListEditor for more information.

Although this property is marked as read-only, the returned object is modifiable.

property variantSets#

The VariantSetSpecs for this prim indexed by name.

Although this property is marked as read-only, you can modify the contents to remove variant sets. New variant sets are created by creating them with the prim as the owner.

Although this property is marked as read-only, the returned object is modifiable.

class pxr.Sdf.PropertySpec#

Base class for SdfAttributeSpec and SdfRelationshipSpec.

Scene Spec Attributes (SdfAttributeSpec) and Relationships (SdfRelationshipSpec) are the basic properties that make up Scene Spec Prims (SdfPrimSpec). They share many qualities and can sometimes be treated uniformly. The common qualities are provided by this base class.

NOTE: Do not use Python reserved words and keywords as attribute names. This will cause attribute resolution to fail.

Methods:

ClearDefaultValue()

Clear the attribute's default value.

HasDefaultValue()

Returns true if a default value is set for this attribute.

Attributes:

AssetInfoKey

CommentKey

CustomDataKey

CustomKey

DisplayGroupKey

DisplayNameKey

DocumentationKey

HiddenKey

PermissionKey

PrefixKey

SymmetricPeerKey

SymmetryArgumentsKey

SymmetryFunctionKey

assetInfo

Returns the asset info dictionary for this property.

comment

A comment describing the property.

custom

Whether this property spec declares a custom attribute.

customData

The property's custom data.

default

The default value of this property.

displayGroup

DisplayGroup for the property.

displayName

DisplayName for the property.

documentation

Documentation for the property.

expired

hasOnlyRequiredFields

Indicates whether this spec has any significant data other than just what is necessary for instantiation.

hidden

Whether this property will be hidden in browsers.

name

The name of the property.

owner

The owner of this property.

permission

The property's permission restriction.

prefix

Prefix for the property.

symmetricPeer

The property's symmetric peer.

symmetryArguments

Dictionary with property symmetry arguments.

symmetryFunction

The property's symmetry function.

variability

Returns the variability of the property.

ClearDefaultValue() None#

Clear the attribute’s default value.

HasDefaultValue() bool#

Returns true if a default value is set for this attribute.

AssetInfoKey = 'assetInfo'#
CommentKey = 'comment'#
CustomDataKey = 'customData'#
CustomKey = 'custom'#
DisplayGroupKey = 'displayGroup'#
DisplayNameKey = 'displayName'#
DocumentationKey = 'documentation'#
HiddenKey = 'hidden'#
PermissionKey = 'permission'#
PrefixKey = 'prefix'#
SymmetricPeerKey = 'symmetricPeer'#
SymmetryArgumentsKey = 'symmetryArguments'#
SymmetryFunctionKey = 'symmetryFunction'#
property assetInfo#

Returns the asset info dictionary for this property.

The default value is an empty dictionary.

The asset info dictionary is used to annotate SdfAssetPath-valued attributes pointing to the root-prims of assets (generally organized as models) with various data related to asset management. For example, asset name, root layer identifier, asset version etc.

Note: It is only valid to author assetInfo on attributes that are of type SdfAssetPath.

property comment#

A comment describing the property.

property custom#

Whether this property spec declares a custom attribute.

property customData#

The property’s custom data.

The default value for custom data is an empty dictionary.

Custom data is for use by plugins or other non-tools supplied extensions that need to be able to store data attached to arbitrary scene objects. Note that if the only objects you want to store data on are prims, using custom attributes is probably a better choice. But if you need to possibly store this data on attributes or relationships or as annotations on reference arcs, then custom data is an appropriate choice.

property default#

The default value of this property.

property displayGroup#

DisplayGroup for the property.

property displayName#

DisplayName for the property.

property documentation#

Documentation for the property.

property expired#
property hasOnlyRequiredFields#

Indicates whether this spec has any significant data other than just what is necessary for instantiation.

This is a less strict version of isInert, returning True if the spec contains as much as the type and name.

property hidden#

Whether this property will be hidden in browsers.

property name#

The name of the property.

property owner#

The owner of this property. Either a relationship or a prim.

property permission#

The property’s permission restriction.

property prefix#

Prefix for the property.

property symmetricPeer#

The property’s symmetric peer.

property symmetryArguments#

Dictionary with property symmetry arguments.

Although this property is marked read-only, you can modify the contents to add, change, and clear symmetry arguments.

property symmetryFunction#

The property’s symmetry function.

property variability#

Returns the variability of the property.

An attribute’s variability may be Varying Uniform, Config or Computed. For an attribute, the default is Varying, for a relationship the default is Uniform.

Varying relationships may be directly authored ‘animating’ targetpaths over time. Varying attributes may be directly authored, animated and affected on by Actions. They are the most flexible.

Uniform attributes may be authored only with non-animated values (default values). They cannot be affected by Actions, but they can be connected to other Uniform attributes.

Config attributes are the same as Uniform except that a Prim can choose to alter its collection of built-in properties based on the values of its Config attributes.

Computed attributes may not be authored in scene description. Prims determine the values of their Computed attributes through Prim-specific computation. They may not be connected.

class pxr.Sdf.PseudoRootSpec#

Attributes:

property expired#
class pxr.Sdf.Reference#

Represents a reference and all its meta data.

A reference is expressed on a prim in a given layer and it identifies a prim in a layer stack. All opinions in the namespace hierarchy under the referenced prim will be composed with the opinions in the namespace hierarchy under the referencing prim.

The asset path specifies the layer stack being referenced. If this asset path is non-empty, this reference is considered an’external’reference to the layer stack rooted at the specified layer. If this is empty, this reference is considered an’internal’reference to the layer stack containing (but not necessarily rooted at) the layer where the reference is authored.

The prim path specifies the prim in the referenced layer stack from which opinions will be composed. If this prim path is empty, it will be considered a reference to the default prim specified in the root layer of the referenced layer stack see SdfLayer::GetDefaultPrim.

The meta data for a reference is its layer offset and custom data. The layer offset is an affine transformation applied to all anim splines in the referenced prim’s namespace hierarchy, see SdfLayerOffset for details. Custom data is for use by plugins or other non-tools supplied extensions that need to be able to store data associated with references.

Methods:

IsInternal()

Returns true in the case of an internal reference.

Attributes:

IsInternal() bool#

Returns true in the case of an internal reference.

An internal reference is a reference with an empty asset path.

property assetPath#

None

Sets the asset path for the root layer of the referenced layer stack.

This may be set to an empty string to specify an internal reference. See SdfAssetPath for what characters are valid in assetPath . If assetPath contains invalid characters, issue an error and set this reference’s asset path to the empty asset path.


type : str

Returns the asset path to the root layer of the referenced layer stack.

This will be empty in the case of an internal reference.

Type:

type

property customData#

None

Sets the custom data associated with the reference.


type : None

Sets a custom data entry for the reference.

If value is empty, then this removes the given custom data entry.


type : VtDictionary

Returns the custom data associated with the reference.

Type:

type

property layerOffset#

None

Sets a new layer offset.


type : LayerOffset

Returns the layer offset associated with the reference.

Type:

type

property primPath#

None

Sets the path of the referenced prim.

This may be set to an empty path to specify a reference to the default prim in the referenced layer stack.


type : Path

Returns the path of the referenced prim.

This will be empty if the referenced prim is the default prim specified in the referenced layer stack.

Type:

type

class pxr.Sdf.ReferenceListOp#

Methods:

Attributes:

ApplyOperations()#
Clear()#
ClearAndMakeExplicit()#
static Create()#
static CreateExplicit()#
GetAddedOrExplicitItems()#
HasItem()#
property addedItems#
property appendedItems#
property deletedItems#
property explicitItems#
property isExplicit#
property orderedItems#
property prependedItems#
class pxr.Sdf.RelationshipSpec#

A property that contains a reference to one or more SdfPrimSpec instances.

A relationship may refer to one or more target prims or attributes. All targets of a single relationship are considered to be playing the same role. Note that role does not imply that the target prims or attributes are of the same type .

Relationships may be annotated with relational attributes. Relational attributes are named SdfAttributeSpec objects containing values that describe the relationship. For example, point weights are commonly expressed as relational attributes.

Methods:

RemoveTargetPath(path, preserveTargetOrder)

Removes the specified target path.

ReplaceTargetPath(oldPath, newPath)

Updates the specified target path.

Attributes:

TargetsKey

expired

noLoadHint

whether the target must be loaded to load the prim this relationship is attached to.

targetPathList

A PathListEditor for the relationship's target paths.

RemoveTargetPath(path, preserveTargetOrder) None#

Removes the specified target path.

Removes the given target path and any relational attributes for the given target path. If preserveTargetOrder is true , Erase() is called on the list editor instead of RemoveItemEdits(). This preserves the ordered items list.

Parameters:
  • path (Path)

  • preserveTargetOrder (bool)

ReplaceTargetPath(oldPath, newPath) None#

Updates the specified target path.

Replaces the path given by oldPath with the one specified by newPath . Relational attributes are updated if necessary.

Parameters:
TargetsKey = 'targetPaths'#
property expired#
property noLoadHint#

whether the target must be loaded to load the prim this relationship is attached to.

property targetPathList#

A PathListEditor for the relationship’s target paths.

The list of the target paths for this relationship may be modified with this PathListEditor.

A PathListEditor may express a list either as an explicit value or as a set of list editing operations. See PathListEditor for more information.

class pxr.Sdf.Spec#

Base class for all Sdf spec classes.

Methods:

ClearInfo(key)

key : string nClears the value for scene spec info with the given key.

GetAsText

GetFallbackForInfo(key)

key : string

GetInfo(key)

Gets the value for the given metadata key.

GetMetaDataDisplayGroup(key)

Returns this metadata key's displayGroup.

GetMetaDataInfoKeys()

Returns the list of metadata info keys for this object.

GetTypeForInfo(key)

key : string

HasInfo(key)

key : string

IsInert

Indicates whether this spec has any significant data.

ListInfoKeys()

Returns the full list of info keys currently set on this object.

SetInfo(key, value)

Sets the value for the given metadata key.

SetInfoDictionaryValue(dictionaryKey, ...)

Sets the value for entryKey to value within the dictionary with the given metadata key dictionaryKey .

Attributes:

expired

isInert

Indicates whether this spec has any significant data.

layer

The owning layer.

path

The absolute scene path.

ClearInfo(key)#

key : string nClears the value for scene spec info with the given key. After calling this, HasInfo() will return false. To make HasInfo() return true, set a value for that scene spec info.

GetAsText()#
GetFallbackForInfo(key)#

key : string

Returns the fallback value for the given key.

GetInfo(key) VtValue#

Gets the value for the given metadata key.

This is interim API which is likely to change. Only editors with an immediate specific need (like the Inspector) should use this API.

Parameters:

key (str)

GetMetaDataDisplayGroup(key) str#

Returns this metadata key’s displayGroup.

Parameters:

key (str)

GetMetaDataInfoKeys() list[str]#

Returns the list of metadata info keys for this object.

This is not the complete list of keys, it is only those that should be considered to be metadata by inspectors or other presentation UI.

This is interim API which is likely to change. Only editors with an immediate specific need (like the Inspector) should use this API.

GetTypeForInfo(key)#

key : string

Returns the type of value for the given key.

HasInfo(key) bool#

key : string

Returns whether there is a setting for the scene spec info with the given key.

When asked for a value for one of its scene spec info, a valid value will always be returned. But if this API returns false for a scene spec info, the value of that info will be the defined default value.

(XXX: This may change such that it is an error to ask for a value when there is none).

When dealing with a composedLayer, it is not necessary to worry about whether a scene spec info ‘has a value’ because the composed layer will always have a valid value, even if it is the default.

A spec may or may not have an expressed value for some of its scene spec info.

IsInert()#

Indicates whether this spec has any significant data. If ignoreChildren is true, child scenegraph objects will be ignored.

ListInfoKeys() list[str]#

Returns the full list of info keys currently set on this object.

This does not include fields that represent names of children.

SetInfo(key, value) None#

Sets the value for the given metadata key.

It is an error to pass a value that is not the correct type for that given key.

This is interim API which is likely to change. Only editors with an immediate specific need (like the Inspector) should use this API.

Parameters:
  • key (str)

  • value (VtValue)

SetInfoDictionaryValue(dictionaryKey, entryKey, value) None#

Sets the value for entryKey to value within the dictionary with the given metadata key dictionaryKey .

Parameters:
  • dictionaryKey (str)

  • entryKey (str)

  • value (VtValue)

property expired#
property isInert#

Indicates whether this spec has any significant data. This is for backwards compatibility, use IsInert instead.

Compatibility note: prior to presto 1.9, isInert (then isEmpty) was true for otherwise inert PrimSpecs with inert inherits, references, or variant sets. isInert is now false in such conditions.

property layer#

The owning layer.

property path#

The absolute scene path.

class pxr.Sdf.SpecType#

Methods:

Attributes:

static GetValueFromName()#
allValues = (Sdf.SpecTypeUnknown, Sdf.SpecTypeAttribute, Sdf.SpecTypeConnection, Sdf.SpecTypeExpression, Sdf.SpecTypeMapper, Sdf.SpecTypeMapperArg, Sdf.SpecTypePrim, Sdf.SpecTypePseudoRoot, Sdf.SpecTypeRelationship, Sdf.SpecTypeRelationshipTarget, Sdf.SpecTypeVariant, Sdf.SpecTypeVariantSet)#
class pxr.Sdf.Specifier#

Methods:

Attributes:

static GetValueFromName()#
allValues = (Sdf.SpecifierDef, Sdf.SpecifierOver, Sdf.SpecifierClass)#
class pxr.Sdf.StringListOp#

Methods:

Attributes:

ApplyOperations()#
Clear()#
ClearAndMakeExplicit()#
static Create()#
static CreateExplicit()#
GetAddedOrExplicitItems()#
HasItem()#
property addedItems#
property appendedItems#
property deletedItems#
property explicitItems#
property isExplicit#
property orderedItems#
property prependedItems#
class pxr.Sdf.TimeCode#

Value type that represents a time code. It’s equivalent to a double type value but is used to indicate that this value should be resolved by any time based value resolution.

Methods:

GetValue()

Return the time value.

GetValue() float#

Return the time value.

class pxr.Sdf.TimeCodeArray#

An array of type SdfTimeCode.

class pxr.Sdf.TokenListOp#

Methods:

Attributes:

ApplyOperations()#
Clear()#
ClearAndMakeExplicit()#
static Create()#
static CreateExplicit()#
GetAddedOrExplicitItems()#
HasItem()#
property addedItems#
property appendedItems#
property deletedItems#
property explicitItems#
property isExplicit#
property orderedItems#
property prependedItems#
class pxr.Sdf.UInt64ListOp#

Methods:

Attributes:

ApplyOperations()#
Clear()#
ClearAndMakeExplicit()#
static Create()#
static CreateExplicit()#
GetAddedOrExplicitItems()#
HasItem()#
property addedItems#
property appendedItems#
property deletedItems#
property explicitItems#
property isExplicit#
property orderedItems#
property prependedItems#
class pxr.Sdf.UIntListOp#

Methods:

Attributes:

ApplyOperations()#
Clear()#
ClearAndMakeExplicit()#
static Create()#
static CreateExplicit()#
GetAddedOrExplicitItems()#
HasItem()#
property addedItems#
property appendedItems#
property deletedItems#
property explicitItems#
property isExplicit#
property orderedItems#
property prependedItems#
class pxr.Sdf.UnregisteredValue#

Stores a representation of the value for an unregistered metadata field encountered during text layer parsing.

This provides the ability to serialize this data to a layer, as well as limited inspection and editing capabilities (e.g., moving this data to a different spec or field) even when the data type of the value isn’t known.

Attributes:

value

VtValue

property value#

VtValue

Returns the wrapped VtValue specified in the constructor.

Type:

type

class pxr.Sdf.UnregisteredValueListOp#

Methods:

Attributes:

ApplyOperations()#
Clear()#
ClearAndMakeExplicit()#
static Create()#
static CreateExplicit()#
GetAddedOrExplicitItems()#
HasItem()#
property addedItems#
property appendedItems#
property deletedItems#
property explicitItems#
property isExplicit#
property orderedItems#
property prependedItems#
class pxr.Sdf.ValueBlock#

A special value type that can be used to explicitly author an opinion for an attribute’s default value or time sample value that represents having no value. Note that this is different from not having a value authored.

One could author such a value in two ways.

attribute->SetDefaultValue(VtValue(SdfValueBlock());
\.\.\.
layer->SetTimeSample(attribute->GetPath(), 101, VtValue(SdfValueBlock()));
class pxr.Sdf.ValueRoleNames#

Attributes:

Color = 'Color'#
EdgeIndex = 'EdgeIndex'#
FaceIndex = 'FaceIndex'#
Frame = 'Frame'#
Normal = 'Normal'#
Point = 'Point'#
PointIndex = 'PointIndex'#
TextureCoordinate = 'TextureCoordinate'#
Transform = 'Transform'#
Vector = 'Vector'#
class pxr.Sdf.ValueTypeName#

Represents a value type name, i.e. an attribute’s type name. Usually, a value type name associates a string with a TfType and an optional role, along with additional metadata. A schema registers all known value type names and may register multiple names for the same TfType and role pair. All name strings for a given pair are collectively called its aliases.

A value type name may also represent just a name string, without a TfType , role or other metadata. This is currently used exclusively to unserialize and re-serialize an attribute’s type name where that name is not known to the schema.

Because value type names can have aliases and those aliases may change in the future, clients should avoid using the value type name’s string representation except to report human readable messages and when serializing. Clients can look up a value type name by string using SdfSchemaBase::FindType() and shouldn’t otherwise need the string. Aliases compare equal, even if registered by different schemas.

Attributes:

aliasesAsStrings

arrayType

ValueTypeName

cppTypeName

defaultUnit

Enum

defaultValue

VtValue

isArray

bool

isScalar

bool

role

str

scalarType

ValueTypeName

type

Type

property aliasesAsStrings#
property arrayType#

ValueTypeName

Returns the array version of this type name if it’s an scalar type name, otherwise returns this type name.

If there is no array type name then this returns the invalid type name.

Type:

type

property cppTypeName#
property defaultUnit#

Enum

Returns the default unit enum for the type.

Type:

type

property defaultValue#

VtValue

Returns the default value for the type.

Type:

type

property isArray#

bool

Returns true iff this type is an array.

The invalid type is considered neither scalar nor array.

Type:

type

property isScalar#

bool

Returns true iff this type is a scalar.

The invalid type is considered neither scalar nor array.

Type:

type

property role#

str

Returns the type’s role.

Type:

type

property scalarType#

ValueTypeName

Returns the scalar version of this type name if it’s an array type name, otherwise returns this type name.

If there is no scalar type name then this returns the invalid type name.

Type:

type

property type#

Type

Returns the TfType of the type.

Type:

type

class pxr.Sdf.ValueTypeNames#

Methods:

Attributes:

static Find()#
Asset = <pxr.Sdf.ValueTypeName object>#
AssetArray = <pxr.Sdf.ValueTypeName object>#
Bool = <pxr.Sdf.ValueTypeName object>#
BoolArray = <pxr.Sdf.ValueTypeName object>#
Color3d = <pxr.Sdf.ValueTypeName object>#
Color3dArray = <pxr.Sdf.ValueTypeName object>#
Color3f = <pxr.Sdf.ValueTypeName object>#
Color3fArray = <pxr.Sdf.ValueTypeName object>#
Color3h = <pxr.Sdf.ValueTypeName object>#
Color3hArray = <pxr.Sdf.ValueTypeName object>#
Color4d = <pxr.Sdf.ValueTypeName object>#
Color4dArray = <pxr.Sdf.ValueTypeName object>#
Color4f = <pxr.Sdf.ValueTypeName object>#
Color4fArray = <pxr.Sdf.ValueTypeName object>#
Color4h = <pxr.Sdf.ValueTypeName object>#
Color4hArray = <pxr.Sdf.ValueTypeName object>#
Double = <pxr.Sdf.ValueTypeName object>#
Double2 = <pxr.Sdf.ValueTypeName object>#
Double2Array = <pxr.Sdf.ValueTypeName object>#
Double3 = <pxr.Sdf.ValueTypeName object>#
Double3Array = <pxr.Sdf.ValueTypeName object>#
Double4 = <pxr.Sdf.ValueTypeName object>#
Double4Array = <pxr.Sdf.ValueTypeName object>#
DoubleArray = <pxr.Sdf.ValueTypeName object>#
Float = <pxr.Sdf.ValueTypeName object>#
Float2 = <pxr.Sdf.ValueTypeName object>#
Float2Array = <pxr.Sdf.ValueTypeName object>#
Float3 = <pxr.Sdf.ValueTypeName object>#
Float3Array = <pxr.Sdf.ValueTypeName object>#
Float4 = <pxr.Sdf.ValueTypeName object>#
Float4Array = <pxr.Sdf.ValueTypeName object>#
FloatArray = <pxr.Sdf.ValueTypeName object>#
Frame4d = <pxr.Sdf.ValueTypeName object>#
Frame4dArray = <pxr.Sdf.ValueTypeName object>#
Half = <pxr.Sdf.ValueTypeName object>#
Half2 = <pxr.Sdf.ValueTypeName object>#
Half2Array = <pxr.Sdf.ValueTypeName object>#
Half3 = <pxr.Sdf.ValueTypeName object>#
Half3Array = <pxr.Sdf.ValueTypeName object>#
Half4 = <pxr.Sdf.ValueTypeName object>#
Half4Array = <pxr.Sdf.ValueTypeName object>#
HalfArray = <pxr.Sdf.ValueTypeName object>#
Int = <pxr.Sdf.ValueTypeName object>#
Int2 = <pxr.Sdf.ValueTypeName object>#
Int2Array = <pxr.Sdf.ValueTypeName object>#
Int3 = <pxr.Sdf.ValueTypeName object>#
Int3Array = <pxr.Sdf.ValueTypeName object>#
Int4 = <pxr.Sdf.ValueTypeName object>#
Int4Array = <pxr.Sdf.ValueTypeName object>#
Int64 = <pxr.Sdf.ValueTypeName object>#
Int64Array = <pxr.Sdf.ValueTypeName object>#
IntArray = <pxr.Sdf.ValueTypeName object>#
Matrix2d = <pxr.Sdf.ValueTypeName object>#
Matrix2dArray = <pxr.Sdf.ValueTypeName object>#
Matrix3d = <pxr.Sdf.ValueTypeName object>#
Matrix3dArray = <pxr.Sdf.ValueTypeName object>#
Matrix4d = <pxr.Sdf.ValueTypeName object>#
Matrix4dArray = <pxr.Sdf.ValueTypeName object>#
Normal3d = <pxr.Sdf.ValueTypeName object>#
Normal3dArray = <pxr.Sdf.ValueTypeName object>#
Normal3f = <pxr.Sdf.ValueTypeName object>#
Normal3fArray = <pxr.Sdf.ValueTypeName object>#
Normal3h = <pxr.Sdf.ValueTypeName object>#
Normal3hArray = <pxr.Sdf.ValueTypeName object>#
Point3d = <pxr.Sdf.ValueTypeName object>#
Point3dArray = <pxr.Sdf.ValueTypeName object>#
Point3f = <pxr.Sdf.ValueTypeName object>#
Point3fArray = <pxr.Sdf.ValueTypeName object>#
Point3h = <pxr.Sdf.ValueTypeName object>#
Point3hArray = <pxr.Sdf.ValueTypeName object>#
Quatd = <pxr.Sdf.ValueTypeName object>#
QuatdArray = <pxr.Sdf.ValueTypeName object>#
Quatf = <pxr.Sdf.ValueTypeName object>#
QuatfArray = <pxr.Sdf.ValueTypeName object>#
Quath = <pxr.Sdf.ValueTypeName object>#
QuathArray = <pxr.Sdf.ValueTypeName object>#
String = <pxr.Sdf.ValueTypeName object>#
StringArray = <pxr.Sdf.ValueTypeName object>#
TexCoord2d = <pxr.Sdf.ValueTypeName object>#
TexCoord2dArray = <pxr.Sdf.ValueTypeName object>#
TexCoord2f = <pxr.Sdf.ValueTypeName object>#
TexCoord2fArray = <pxr.Sdf.ValueTypeName object>#
TexCoord2h = <pxr.Sdf.ValueTypeName object>#
TexCoord2hArray = <pxr.Sdf.ValueTypeName object>#
TexCoord3d = <pxr.Sdf.ValueTypeName object>#
TexCoord3dArray = <pxr.Sdf.ValueTypeName object>#
TexCoord3f = <pxr.Sdf.ValueTypeName object>#
TexCoord3fArray = <pxr.Sdf.ValueTypeName object>#
TexCoord3h = <pxr.Sdf.ValueTypeName object>#
TexCoord3hArray = <pxr.Sdf.ValueTypeName object>#
TimeCode = <pxr.Sdf.ValueTypeName object>#
TimeCodeArray = <pxr.Sdf.ValueTypeName object>#
Token = <pxr.Sdf.ValueTypeName object>#
TokenArray = <pxr.Sdf.ValueTypeName object>#
UChar = <pxr.Sdf.ValueTypeName object>#
UCharArray = <pxr.Sdf.ValueTypeName object>#
UInt = <pxr.Sdf.ValueTypeName object>#
UInt64 = <pxr.Sdf.ValueTypeName object>#
UInt64Array = <pxr.Sdf.ValueTypeName object>#
UIntArray = <pxr.Sdf.ValueTypeName object>#
Vector3d = <pxr.Sdf.ValueTypeName object>#
Vector3dArray = <pxr.Sdf.ValueTypeName object>#
Vector3f = <pxr.Sdf.ValueTypeName object>#
Vector3fArray = <pxr.Sdf.ValueTypeName object>#
Vector3h = <pxr.Sdf.ValueTypeName object>#
Vector3hArray = <pxr.Sdf.ValueTypeName object>#
class pxr.Sdf.Variability#

Methods:

Attributes:

static GetValueFromName()#
allValues = (Sdf.VariabilityVarying, Sdf.VariabilityUniform)#
class pxr.Sdf.VariantSetSpec#

Represents a coherent set of alternate representations for part of a scene.

An SdfPrimSpec object may contain one or more named SdfVariantSetSpec objects that define variations on the prim.

An SdfVariantSetSpec object contains one or more named SdfVariantSpec objects. It may also define the name of one of its variants to be used by default.

When a prim references another prim, the referencing prim may specify one of the variants from each of the variant sets of the target prim. The chosen variant from each set (or the default variant from those sets that the referencing prim does not explicitly specify) is composited over the target prim, and then the referencing prim is composited over the result.

Methods:

RemoveVariant(variant)

Removes variant from the list of variants.

Attributes:

expired

name

The variant set's name.

owner

The prim that this variant set belongs to.

variantList

The variants in this variant set as a list.

variants

The variants in this variant set as a dict.

RemoveVariant(variant) None#

Removes variant from the list of variants.

If the variant set does not currently own variant , no action is taken.

Parameters:

variant (VariantSpec)

property expired#
property name#

The variant set’s name.

property owner#

The prim that this variant set belongs to.

property variantList#

The variants in this variant set as a list.

property variants#

The variants in this variant set as a dict.

class pxr.Sdf.VariantSpec#

Represents a single variant in a variant set.

A variant contains a prim. This prim is the root prim of the variant.

SdfVariantSpecs are value objects. This means they are immutable once created and they are passed by copy-in APIs. To change a variant spec, you make a new one and replace the existing one.

Methods:

GetVariantNames(name)

Returns list of variant names for the given variant set.

Attributes:

expired

name

The variant's name.

owner

The variant set that this variant belongs to.

primSpec

The root prim of this variant.

variantSets

SdfVariantSetsProxy

GetVariantNames(name) list[str]#

Returns list of variant names for the given variant set.

Parameters:

name (str)

property expired#
property name#

The variant’s name.

property owner#

The variant set that this variant belongs to.

property primSpec#

The root prim of this variant.

property variantSets#

SdfVariantSetsProxy

Returns the nested variant sets.

The result maps variant set names to variant sets. Variant sets may be removed through the proxy.

Type:

type

pxr.Sdf.Find(layerFileName, scenePath) object#

layerFileName: string scenePath: Path

If given a single string argument, returns the menv layer with the given filename. If given two arguments (a string and a Path), finds the menv layer with the given filename and returns the scene object within it at the given path.