Sdf module#
Summary: The Sdf (Scene Description Foundation) provides foundations for serializing scene description and primitive abstractions for interacting.
Classes:
Contains an asset path and an optional resolved path. |
|
An array of type SdfAssetPath. |
|
A subclass of SdfPropertySpec that holds typed data. |
|
A description of an arbitrarily complex namespace edit. |
|
DANGER DANGER DANGER |
|
|
|
|
|
|
|
|
|
|
|
|
|
An RAII class which, when an instance is alive, enables scheduling of automatic cleanup of SdfLayers. |
|
Base class for file format implementations. |
|
A scene description container that can combine with other such containers to form simple component assets, and successively larger aggregates. |
|
Represents a time offset and scale between layers. |
|
A SdfLayerTree is an immutable tree structure representing a sublayer stack and its recursive structure. |
|
|
|
|
|
A single namespace edit. |
|
Detailed information about a namespace edit. |
|
Wrapper class for Sdf notices. |
|
A path value used to locate objects in layers or scenegraphs. |
|
An array of type SdfPath. |
|
Represents a payload and all its meta data. |
|
Represents a prim description in an SdfLayer object. |
|
Base class for SdfAttributeSpec and SdfRelationshipSpec. |
|
Represents a reference and all its meta data. |
|
A property that contains a reference to one or more SdfPrimSpec instances. |
|
Base class for all Sdf spec classes. |
|
Value type that represents a time code. |
|
An array of type SdfTimeCode. |
|
Stores a representation of the value for an unregistered metadata field encountered during text layer parsing. |
|
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. |
|
Represents a value type name, i.e. an attribute's type name. |
|
Represents a coherent set of alternate representations for part of a scene. |
|
Represents a single variant in a variant set. |
Functions:
|
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:
str
- 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:
Clears the colorSpace metadata value set on this attribute.
Returns true if this attribute has a colorSpace value authored.
Attributes:
The allowed value tokens for this property
The color-space in which the attribute value is authored.
A PathListEditor for the attribute's connection paths.
The display unit for this attribute.
The roleName for this attribute's typeName.
The typename of this attribute.
The value type of 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:
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,
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
returnstrue
iff there’s an object at the given path. This path will be in the original namespace not any intermediate or final namespace.canEdit
returnstrue
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 returnsfalse
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. IfcanEdit
in invalid then it’s assumed all edits are valid.If
fixBackpointers
istrue
then target/connection paths are expected to be in the intermediate namespace resulting from all previous edits. Iffalse
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 setsprocessedEdits
to a new edit sequence at least as efficient as the input sequence. If not allowed it returnsfalse
and appends reasons why not todetails
.- Parameters:
processedEdits (list[NamespaceEdit])
hasObjectAtPath (HasObjectAtPath)
canEdit (CanEdit)
details (list[NamespaceEditDetail])
fixBackpointers (bool)
- 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:
- 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.classmethod FindAllFileFormatExtensions() -> set[str]
classmethod FindByExtension(path, target) -> FileFormat
classmethod FindById(formatId) -> FileFormat
classmethod GetFileExtension(s) -> str
Returns a list of extensions that this format supports.
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:
True if this object has expired, False otherwise.
str
str
str
str
- 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 matchestarget
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 givenargs
.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:
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.
Clears the color configuration metadata authored in this layer.
Clears the'colorManagementSystem'metadata authored in this layer.
Clears out the CustomLayerData dictionary associated with this layer.
Clear the default prim metadata for this layer.
Clear the endTimeCode opinion.
Clear the framePrecision opinion.
Clear the framesPerSecond opinion.
Clear the owner opinion.
Clear the startTimeCode opinion.
Clear the timeCodesPerSecond opinion.
ComputeAbsolutePath
(assetPath)Returns the path to the asset specified by
assetPath
using this layer to anchor the path if necessary.classmethod CreateAnonymous(tag, args) -> Layer
classmethod CreateIdentifier(layerPath, arguments) -> str
classmethod CreateNew(identifier, args) -> Layer
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.
Returns the string representation of the layer.
Find
(filename)filename : string
classmethod FindOrOpen(identifier, args) -> Layer
classmethod FindOrOpenRelativeToLayer(anchor, identifier, args) -> Layer
Returns the open layer with the given filename, or None.
Returns resolve information from the last time the layer identifier was resolved.
Returns the asset name associated with this layer.
GetAttributeAtPath
(path)Returns an attribute at the given
path
.GetBracketingTimeSamples
(time, tLower, tUpper)GetBracketingTimeSamplesForPath
(path, time, ...)Return paths of all assets this layer depends on due to composition fields.
classmethod GetDetachedLayerRules() -> DetachedLayerRules
Returns the layer's display name.
classmethod GetDisplayNameFromIdentifier(identifier) -> str
Returns a set of resolved paths to all external asset dependencies the layer needs to generate its contents.
Return a list of asset paths for this layer.
Returns the file format used by this layer.
Returns the file format-specific arguments used during the construction of this layer.
Return list of loaded layers.
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
.Returns true if color configuration metadata is set in this layer.
Returns true if colorManagementSystem metadata is set in this layer.
Returns true if CustomLayerData is authored on the layer.
Return true if the default prim metadata is set in this layer.
Returns true if the layer has an endTimeCode opinion.
Returns true if the layer has a frames precision opinion.
Returns true if the layer has a frames per second opinion.
HasOwner
()Returns true if the layer has an owner opinion.
Returns true if the layer has a session owner opinion.
Returns true if the layer has a startTimeCode opinion.
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.
classmethod IsAnonymousLayerIdentifier(identifier) -> bool
Returns true if this layer is detached from its serialized data store, false otherwise.
classmethod IsIncludedByDetachedLayerRules(identifier) -> bool
classmethod IsMuted() -> bool
ListTimeSamplesForPath
(path)classmethod New(fileFormat, identifier, args) -> Layer
classmethod OpenAsAnonymous(layerPath, metadataOnly, tag) -> Layer
QueryTimeSample
(path, time, value)Reload
(force)Reloads the layer from its persistent representation.
classmethod ReloadLayers(layers, force) -> bool
classmethod RemoveFromMutedLayers(mutedPath) -> None
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.classmethod SetDetachedLayerRules(mask) -> None
SetMuted
(muted)Mutes the current layer if
muted
istrue
, and unmutes it otherwise.SetPermissionToEdit
(allow)Sets permission to edit.
SetPermissionToSave
(allow)Sets permission to save.
SetTimeSample
(path, time, value)classmethod SplitIdentifier(identifier, layerPath, arguments) -> bool
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)Update layer asset information.
Updates the asset path of a composation dependency in this layer.
UpdateExternalReference
(oldAssetPath, ...)Deprecated
Attributes:
bool
The color configuration asset-path of this layer.
The name of the color management system used to interpret the colorConfiguration asset.
The layer's comment string.
The customLayerData dictionary associated with this layer.
The layer's default reference target token.
bool
The layer's documentation string.
bool
The end timeCode of this layer.
True if this object has expired, False otherwise.
Return unique list of asset paths of external references for given layer.
The layer's file extension.
The number of digits of precision used in times in this layer.
The frames per second used in this layer.
Whether this layer's sub layers are expected to have owners.
The layer's identifier.
The owner of this layer.
Return true if permitted to be edited (modified), false otherwise.
Return true if permitted to be saved, false otherwise.
The pseudo-root of the layer.
The layer's resolved path.
The layer's associated repository path
The layer's resolved path.
Get/set the list of root prim names for this layer's 'reorder rootPrims' statement.
The root prims of this layer, as an ordered dictionary.
The session owner of this layer.
The start timeCode of this layer.
The sublayer offsets of this layer, as a list.
The sublayer paths of this layer, as a list.
The timeCodes per second used in this layer.
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 andfalse
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, andSdfNamespaceEditDetail::Error
if they will not succeed. No edits will be performed in any case.If
details
is notNone
and the method does not returnOkay
then details about the problems will be appended todetails
. A problem may cause the method to return early, sodetails
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:
arg1 (BatchNamespaceEdit)
details (list[NamespaceEditDetail])
- 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()
- ClearDefaultPrim() None #
Clear the default prim metadata for this layer.
See GetDefaultPrim() and SetDefaultPrim() .
- 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 fromidentifier
.- 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.
- 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 theargs
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
andargs
, 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 inidentifier
.- Parameters:
identifier (str)
args (FileFormatArguments)
- static FindOrOpenRelativeToLayer()#
classmethod FindOrOpenRelativeToLayer(anchor, identifier, args) -> Layer
Return an existing layer with the given
identifier
andargs
, or else load it.The given
identifier
will be resolved relative to theanchor
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 inidentifier
.- 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 atpath
. This is simply a more specifically typed version ofGetObjectAtPath()
.- Parameters:
path (Path)
- GetBracketingTimeSamples(time, tLower, tUpper) bool #
- Parameters:
time (float)
tLower (float)
tUpper (float)
- GetBracketingTimeSamplesForPath(
- path,
- time,
- tLower,
- tUpper,
- 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.
- 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 atpath
.- Parameters:
path (Path)
- GetPrimAtPath(path) PrimSpec #
Returns the prim at the given
path
.Returns
None
if there is no prim atpath
. This is simply a more specifically typed version ofGetObjectAtPath()
.- Parameters:
path (Path)
- GetPropertyAtPath(path) PropertySpec #
Returns a property at the given
path
.Returns
None
if there is no property atpath
. This is simply a more specifically typed version ofGetObjectAtPath()
.- Parameters:
path (Path)
- GetRelationshipAtPath(path) RelationshipSpec #
Returns a relationship at the given
path
.Returns
None
if there is no relationship atpath
. This is simply a more specifically typed version ofGetObjectAtPath()
.- 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 returnsfalse
.- 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] #
- 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 theforce
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 unlessforce
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
istrue
, and unmutes it otherwise.- Parameters:
muted (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)
- 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,
Updates the asset path of a composation dependency in this layer.
If
newAssetPath
is supplied, the update works as”rename”, updating any occurrence ofoldAssetPath
tonewAssetPath
in all reference, payload, and sublayer fields.If
newAssetPath
is not given, this update behaves as a”delete”, removing all occurrences ofoldAssetPath
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:
Gets the inverse offset, which performs the opposite transformation.
Returns
true
if this is an identity transformation, with an offset of 0.0 and a scale of 1.0.Attributes:
- 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:
list[LayerTree]
True if this object has expired, False otherwise.
Layer
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:
classmethod Remove(currentPath) -> This
classmethod Rename(currentPath, name) -> This
classmethod Reorder(currentPath, index) -> This
classmethod Reparent(currentPath, newParentPath, index) -> This
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
toname
.- 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 indexindex
.- 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 undernewParentPath
at indexindex
.
- static ReparentAndRename()#
classmethod ReparentAndRename(currentPath, newParentPath, name, index) -> This
Returns a namespace edit to reparent the prim or property at
currentPath
to be undernewParentPath
at indexindex
with the namename
.
- atEnd = -1#
- property currentPath#
- property index#
- property newPath#
- same = -2#
- class pxr.Sdf.NamespaceEditDetail#
Detailed information about a namespace edit.
Classes:
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 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 propertybaz
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 propertybaz
of namespace child Bar of namespace child Foo of the current prim..foo
is a relative path specifying the propertyfoo
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 attributeattrib
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.
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
andvariant
to this path.Returns whether the path or any of its parent paths identifies a variant selection for a prim.
Return true if this path contains any property elements, false otherwise.
Return true if this path is or has a prefix that's a target path or a mapper path.
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.
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
.classmethod GetConciseRelativePaths(paths) -> list[Path]
Return the path that identifies this path's namespace parent.
Returns the prefix paths of this path.
Creates a path by stripping all relational attributes, targets, and properties, leaving the nearest path for which IsPrimOrPrimVariantSelectionPath() returns true.
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.
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.
Returns whether the path is absolute.
Returns whether the path identifies a prim or the absolute root.
Return true if this path is the AbsoluteRootPath() .
Returns whether the path identifies a connection expression.
Returns whether the path identifies a connection mapper arg.
Returns whether the path identifies a connection mapper.
Returns whether the path identifies a namespaced property.
Returns whether the path identifies a prim.
Returns whether the path identifies a prim's property.
Returns whether the path identifies a variant selection for a prim.
Returns whether the path identifies a property.
Returns whether the path identifies a relational attribute.
Returns whether the path identifies a root prim.
Returns whether the path identifies a relationship or connection target.
classmethod IsValidIdentifier(name) -> bool
classmethod IsValidNamespacedIdentifier(name) -> bool
classmethod IsValidPathString(pathString, errMsg) -> bool
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.classmethod RemoveAncestorPaths(paths) -> None
RemoveCommonSuffix
(otherPath, stopAtRootPrim)Find and remove the longest common suffix from two paths.
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 pathnewPrefix
.ReplaceTargetPath
(newTargetPath)Replaces the relational attribute's target path.
Create a path by stripping all variant selections from all components of this path, leaving a path with no embedded variant selections.
classmethod StripNamespace(name) -> str
classmethod StripPrefixNamespace(name, matchNamespace) -> tuple[str, bool]
classmethod TokenizeIdentifier(name) -> list[str]
Attributes:
The string representation of the terminal component of this path.
bool
The name of the prim, property or relational attribute identified by the path.
The number of path elements in this path.
The string representation of this path.
The relational attribute target path for this path.
- 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
andvariant
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
andrhs
into a single identifier using the namespace delimiter.Returns
lhs
ifrhs
is empty and vice verse. Returns an empty string if bothlhs
andrhs
are empty.- Parameters:
lhs (str)
rhs (str)
JoinIdentifier(lhs, rhs) -> str
Join
lhs
andrhs
into a single identifier using the namespace delimiter.Returns
lhs
ifrhs
is empty and vice verse. Returns an empty string if bothlhs
andrhs
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,
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
istrue
then neither returned path will be the root path. That, in turn, means that some common suffixes will not be removed. For example, ifstopAtRootPrim
istrue
then the paths /A/B and /B will be returned as is. Were itfalse
then the result would be /A and /. Similarly paths /A/B/C and /B/C would return /A/B and /B ifstopAtRootPrim
istrue
but /A and / if it’sfalse
.- 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 pathnewPrefix
.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.
- 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
) wherename
is stripped of the prefix specified bymatchNamespace
ifname
indeed starts withmatchNamespace
.Returns (
name
,false
) otherwise, withname
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:
None
None
None
- property assetPath#
None
Sets a new asset path for the layer the payload uses.
See SdfAssetPath for what characters are valid in
assetPath
. IfassetPath
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:
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.Removes the active opinion in this prim spec if there is one.
Clears the value for the prim's instanceable flag.
Remove the kind opinion from this prim spec if there is one.
Clears the payloads for this prim.
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.
Returns true if this prim spec has an opinion about active.
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:
Whether this prim spec is active.
Returns the asset info dictionary for this prim.
The attributes of this prim, as an ordered dictionary.
The prim's comment string.
The custom data for this prim.
The prim's documentation string.
Returns true if this prim has payloads set.
Returns true if this prim has references set.
Whether this prim spec will be hidden in browsers.
A PathListEditor for the prim's inherit paths.
Whether this prim spec is flagged as instanceable.
What kind of model this prim spec represents, if any.
The prim's name.
The prim name children of this prim, as an ordered dictionary.
Get/set the list of child names for this prim's 'reorder nameChildren' statement.
The name parent of this prim.
The name pseudo-root of this prim.
A PayloadListEditor for the prim's payloads.
The prim's permission restriction.
The prim's prefix.
Dictionary of prefix substitutions.
The properties of this prim, as an ordered dictionary.
Get/set the list of property names for this prim's 'reorder properties' statement.
The name parent of this prim.
A ReferenceListEditor for the prim's references.
The relationships of this prim, as an ordered dictionary.
An editing proxy for the prim's map of relocation paths.
A PathListEditor for the prim's specializes.
The prim's specifier (SpecifierDef or SpecifierOver).
The prim's suffix.
Dictionary of prefix substitutions.
The prims's symmetric peer.
Dictionary with prim symmetry arguments.
The prim's symmetry function.
The type of this prim.
Dictionary whose keys are variant set names and whose values are the variants chosen for each set.
A StringListEditor for the names of the variant sets for this prim.
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)
- 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.
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:
Clear the attribute's default value.
Returns true if a default value is set for this attribute.
Attributes:
Returns the asset info dictionary for this property.
A comment describing the property.
Whether this property spec declares a custom attribute.
The property's custom data.
The default value of this property.
DisplayGroup for the property.
DisplayName for the property.
Documentation for the property.
Indicates whether this spec has any significant data other than just what is necessary for instantiation.
Whether this property will be hidden in browsers.
The name of the property.
The owner of this property.
The property's permission restriction.
Prefix for the property.
The property's symmetric peer.
Dictionary with property symmetry arguments.
The property's symmetry function.
Returns the variability of the property.
- 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.
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.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:
Returns
true
in the case of an internal reference.Attributes:
None
None
None
None
- 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
. IfassetPath
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 sametype
.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:
whether the target must be loaded to load the prim this relationship is attached to.
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
istrue
, 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 bynewPath
. Relational attributes are updated if necessary.
- 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.
GetFallbackForInfo
(key)key : string
GetInfo
(key)Gets the value for the given metadata key.
Returns this metadata key's displayGroup.
Returns the list of metadata info keys for this object.
GetTypeForInfo
(key)key : string
HasInfo
(key)key : string
Indicates whether this spec has any significant data.
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
tovalue
within the dictionary with the given metadata keydictionaryKey
.Attributes:
Indicates whether this spec has any significant data.
The owning layer.
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
tovalue
within the dictionary with the given metadata keydictionaryKey
.- 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:
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:
ValueTypeName
Enum
VtValue
bool
bool
str
ValueTypeName
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:
The variant set's name.
The prim that this variant set belongs to.
The variants in this variant set as a list.
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:
The variant's name.
The variant set that this variant belongs to.
The root prim of this variant.
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.