Loading...
Searching...
No Matches
UsdMediaAuthorshipAPI Class Reference

Records who or what authored a prim. More...

#include <authorshipAPI.h>

+ Inheritance diagram for UsdMediaAuthorshipAPI:

Public Member Functions

 UsdMediaAuthorshipAPI (const UsdPrim &prim=UsdPrim(), const TfToken &name=TfToken())
 Construct a UsdMediaAuthorshipAPI on UsdPrim prim with name name .
 
 UsdMediaAuthorshipAPI (const UsdSchemaBase &schemaObj, const TfToken &name)
 Construct a UsdMediaAuthorshipAPI on the prim held by schemaObj with name name.
 
virtual USDMEDIA_API ~UsdMediaAuthorshipAPI ()
 Destructor.
 
TfToken GetName () const
 Returns the name of this multiple-apply schema instance.
 
USDMEDIA_API UsdAttribute GetSoftwarePackageAttr () const
 The tool or system that most directly wrote the USD data for this prim.
 
USDMEDIA_API UsdAttribute CreateSoftwarePackageAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetSoftwarePackageAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
 
USDMEDIA_API UsdAttribute GetSoftwareVersionAttr () const
 The version of the softwarePackage that created this record, not of the asset.
 
USDMEDIA_API UsdAttribute CreateSoftwareVersionAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetSoftwareVersionAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
 
USDMEDIA_API UsdAttribute GetDigitalSourceTypeAttr () const
 A URI describing the nature of the creative process, such as whether the content is human-made or AI-generated.
 
USDMEDIA_API UsdAttribute CreateDigitalSourceTypeAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetDigitalSourceTypeAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
 
USDMEDIA_API UsdAttribute GetCreatorAttr () const
 Human-readable names of the artists, studios, or services that contributed to this authoring step.
 
USDMEDIA_API UsdAttribute CreateCreatorAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetCreatorAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
 
USDMEDIA_API UsdAttribute GetDescriptionAttr () const
 Free-form description of how the prim was created.
 
USDMEDIA_API UsdAttribute CreateDescriptionAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetDescriptionAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
 
USDMEDIA_API UsdAttribute GetInputsAttr () const
 The inputs that shaped this authoring step, as flattened (name, value) pairs.
 
USDMEDIA_API UsdAttribute CreateInputsAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetInputsAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
 
USDMEDIA_API UsdAttribute GetCreatedAttr () const
 An ISO 8601 timestamp indicating when this authoring step occurred (e.g., 2025-02-16T12:03:17+01:00), which may differ from the original creation time of the asset.
 
USDMEDIA_API UsdAttribute CreateCreatedAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetCreatedAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
 
USDMEDIA_API UsdAttribute GetInstanceIDAttr () const
 A unique identifier for this run's output, such as a single generative AI result.
 
USDMEDIA_API UsdAttribute CreateInstanceIDAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetInstanceIDAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
 
USDMEDIA_API UsdAttribute GetUsageTermsAttr () const
 The license or usage terms for this asset.
 
USDMEDIA_API UsdAttribute CreateUsageTermsAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetUsageTermsAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
 
USDMEDIA_API UsdAttribute GetCopyrightOwnerAttr () const
 Entities holding copyright in this content, which may differ from creator (e.g., a studio owning an artist's work).
 
USDMEDIA_API UsdAttribute CreateCopyrightOwnerAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetCopyrightOwnerAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
 
USDMEDIA_API UsdAttribute GetContactAttr () const
 Contact information for inquiries about this asset, such as an email address, support URL, or licensing page.
 
USDMEDIA_API UsdAttribute CreateContactAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 See GetContactAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
 
- Public Member Functions inherited from UsdAPISchemaBase
 UsdAPISchemaBase (const UsdPrim &prim=UsdPrim())
 Construct a UsdAPISchemaBase on UsdPrim prim .
 
 UsdAPISchemaBase (const UsdSchemaBase &schemaObj)
 Construct a UsdAPISchemaBase on the prim held by schemaObj .
 
virtual USD_API ~UsdAPISchemaBase ()=0
 Destructor.
 
- Public Member Functions inherited from UsdSchemaBase
bool IsConcrete () const
 Returns whether or not this class corresponds to a concrete instantiable prim type in scene description.
 
bool IsTyped () const
 Returns whether or not this class inherits from UsdTyped.
 
bool IsAPISchema () const
 Returns whether this is an API schema or not.
 
bool IsAppliedAPISchema () const
 Returns whether this is an applied API schema or not.
 
bool IsMultipleApplyAPISchema () const
 Returns whether this is an applied API schema or not.
 
UsdSchemaKind GetSchemaKind () const
 Returns the kind of schema this class is.
 
USD_API UsdSchemaBase (const UsdPrim &prim=UsdPrim())
 Construct and store prim as the held prim.
 
USD_API UsdSchemaBase (const UsdSchemaBase &otherSchema)
 Construct and store for the same prim held by otherSchema.
 
virtual USD_API ~UsdSchemaBase ()
 Destructor.
 
UsdPrim GetPrim () const
 Return this schema object's held prim.
 
SdfPath GetPath () const
 Shorthand for GetPrim()->GetPath().
 
USD_API const UsdPrimDefinition * GetSchemaClassPrimDefinition () const
 Return the prim definition associated with this schema instance if one exists, otherwise return null.
 
USD_API operator bool () const
 Return true if this schema object is compatible with its held prim, false otherwise.
 

Static Public Member Functions

static USDMEDIA_API const TfTokenVector & GetSchemaAttributeNames (bool includeInherited=true)
 Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.
 
static USDMEDIA_API TfTokenVector GetSchemaAttributeNames (bool includeInherited, const TfToken &instanceName)
 Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes for a given instance name.
 
static USDMEDIA_API UsdMediaAuthorshipAPI Get (const UsdStagePtr &stage, const SdfPath &path)
 Return a UsdMediaAuthorshipAPI holding the prim adhering to this schema at path on stage.
 
static USDMEDIA_API UsdMediaAuthorshipAPI Get (const UsdPrim &prim, const TfToken &name)
 Return a UsdMediaAuthorshipAPI with name name holding the prim prim.
 
static USDMEDIA_API std::vector< UsdMediaAuthorshipAPI > GetAll (const UsdPrim &prim)
 Return a vector of all named instances of UsdMediaAuthorshipAPI on the given prim.
 
static USDMEDIA_API bool IsSchemaPropertyBaseName (const TfToken &baseName)
 Checks if the given name baseName is the base name of a property of AuthorshipAPI.
 
static USDMEDIA_API bool IsAuthorshipAPIPath (const SdfPath &path, TfToken *name)
 Checks if the given path path is of an API schema of type AuthorshipAPI.
 
static USDMEDIA_API bool CanApply (const UsdPrim &prim, const TfToken &name, std::string *whyNot=nullptr)
 Returns true if this multiple-apply API schema can be applied, with the given instance name, name, to the given prim.
 
static USDMEDIA_API UsdMediaAuthorshipAPI Apply (const UsdPrim &prim, const TfToken &name)
 Applies this multiple-apply API schema to the given prim along with the given instance name, name.
 
static USDMEDIA_API std::vector< UsdMediaAuthorshipAPI > GetAllOnStage (const UsdStagePtr &stage)
 Returns every authorship record on stage, sorted by prim path then instance name.
 
static USDMEDIA_API std::vector< UsdMediaAuthorshipAPI > ComputeAccumulatedRecords (const UsdPrim &prim)
 Returns the records that apply to prim: its own plus those accumulated from its ancestors, sorted so ancestors come first.
 
static USDMEDIA_API std::vector< UsdMediaAuthorshipAPI > GetAllUnder (const UsdPrim &prim)
 Returns the records on prim and everything beneath it, sorted by prim path then instance name.
 
static USDMEDIA_API SdfPathVector GetAllInLayer (const SdfLayerHandle &layer)
 Returns the path of every authorship record authored in layer, sorted, in the <specPath>.authorship:instanceName form that IsAuthorshipAPIPath() parses.
 
Diagnostics

These examine every SdfPrimSpec in a prim's prim stack (UsdPrim::GetPrimStack()) rather than the composed prim, and report only records that composition hides or collapses.

On a stage with neither, they return nothing. Intended for debugging and validation, not general use, and considerably slower than GetAllOnStage().

Only apiSchemas metadata is examined, not authored properties, so a record whose schema was never applied anywhere is not found. Instance names and base names can both be namespaced, so a property name alone can't be split back into the two.

static USDMEDIA_API std::vector< UsdMediaAuthorshipAPI > GetShadowed (const UsdPrim &prim)
 Returns the records applied in some spec of prim's prim stack that the composed prim does not report, sorted by instance name.
 
static USDMEDIA_API std::vector< UsdMediaAuthorshipAPI > GetDuplicates (const UsdPrim &prim)
 Returns the records whose application is authored in more than one spec of prim's prim stack, once each, sorted by instance name.
 
static USDMEDIA_API std::vector< UsdMediaAuthorshipAPI > GetAllShadowed (const UsdStagePtr &stage)
 Returns GetShadowed() for every prim on stage, sorted by prim path then instance name.
 
static USDMEDIA_API std::vector< UsdMediaAuthorshipAPI > GetAllDuplicates (const UsdStagePtr &stage)
 Returns GetDuplicates() for every prim on stage, sorted by prim path then instance name.
 
- Static Public Member Functions inherited from UsdAPISchemaBase
static USD_API const TfTokenVector & GetSchemaAttributeNames (bool includeInherited=true)
 Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.
 
- Static Public Member Functions inherited from UsdSchemaBase
static const TfTokenVector & GetSchemaAttributeNames (bool includeInherited=true)
 

Static Public Attributes

static const UsdSchemaKind schemaKind = UsdSchemaKind::MultipleApplyAPI
 Compile time constant representing what kind of schema this class is.
 
- Static Public Attributes inherited from UsdAPISchemaBase
static const UsdSchemaKind schemaKind = UsdSchemaKind::AbstractBase
 Compile time constant representing what kind of schema this class is.
 
- Static Public Attributes inherited from UsdSchemaBase
static const UsdSchemaKind schemaKind = UsdSchemaKind::AbstractBase
 Compile time constant representing what kind of schema this class is.
 

Protected Member Functions

USDMEDIA_API UsdSchemaKind _GetSchemaKind () const override
 Returns the kind of schema this class belongs to.
 
- Protected Member Functions inherited from UsdAPISchemaBase
 UsdAPISchemaBase (const UsdPrim &prim, const TfToken &instanceName)
 Construct a multiple-apply UsdAPISchemaBase on UsdPrim prim with the specified instanceName.
 
 UsdAPISchemaBase (const UsdSchemaBase &schemaObj, const TfToken &instanceName)
 Construct a multiple-apply UsdAPISchemaBase on the prim held by schemaObj with the given instanceName.
 
const TfToken & _GetInstanceName () const
 Returns the instance name of the API schema object belonging to a multiple-apply API schema.
 
USD_API bool _IsCompatible () const override
 Check whether this APISchema object is valid for the currently held
prim.
 
- Protected Member Functions inherited from UsdSchemaBase
virtual UsdSchemaKind _GetSchemaType () const
 
const TfType & _GetType () const
 
USD_API UsdAttribute _CreateAttr (TfToken const &attrName, SdfValueTypeName const &typeName, bool custom, SdfVariability variability, VtValue const &defaultValue, bool writeSparsely) const
 

Friends

class UsdSchemaRegistry
 

Additional Inherited Members

- Static Protected Member Functions inherited from UsdAPISchemaBase
static USD_API TfTokenVector _GetMultipleApplyInstanceNames (const UsdPrim &prim, const TfType &schemaType)
 Returns a vector of names of API schema objects belonging to a multiple-apply API schema applied to a given prim.
 

Detailed Description

Records who or what authored a prim.

Each record describes one authoring step, such as a generative AI run, an export from a DCC, or a manual cleanup session. A prim can carry its full history of contributors, provided that each step is recorded with a unique-to-the-prim schema instance name.

The schema may also be applied to any of a prim's ancestors. Authorship aggregates down the namespace hierarchy. A prim's own records add to, rather than override, its ancestors' records.

Provides a standardized, unverified record of authorship. This is not a cryptographic signature, and copyrightOwner represents a claim rather than a legal guarantee.

See also
UsdMediaAuthorshipAPI::GetAllOnStage()
UsdMediaAuthorshipAPI::ComputeAccumulatedRecords()
UsdMediaAuthorshipAPI::GetAllShadowed()
UsdMediaAuthorshipAPI::GetAllDuplicates()

Definition at line 59 of file authorshipAPI.h.

Constructor & Destructor Documentation

◆ UsdMediaAuthorshipAPI() [1/2]

UsdMediaAuthorshipAPI ( const UsdPrim & prim = UsdPrim(),
const TfToken & name = TfToken() )
inlineexplicit

Construct a UsdMediaAuthorshipAPI on UsdPrim prim with name name .

Equivalent to UsdMediaAuthorshipAPI::Get( prim.GetStage(), prim.GetPath().AppendProperty( "authorship:name"));

for a valid prim, but will not immediately throw an error for an invalid prim

Definition at line 76 of file authorshipAPI.h.

◆ UsdMediaAuthorshipAPI() [2/2]

UsdMediaAuthorshipAPI ( const UsdSchemaBase & schemaObj,
const TfToken & name )
inlineexplicit

Construct a UsdMediaAuthorshipAPI on the prim held by schemaObj with name name.

Should be preferred over UsdMediaAuthorshipAPI(schemaObj.GetPrim(), name), as it preserves SchemaBase state.

Definition at line 85 of file authorshipAPI.h.

◆ ~UsdMediaAuthorshipAPI()

virtual USDMEDIA_API ~UsdMediaAuthorshipAPI ( )
virtual

Destructor.

Member Function Documentation

◆ _GetSchemaKind()

USDMEDIA_API UsdSchemaKind _GetSchemaKind ( ) const
overrideprotectedvirtual

Returns the kind of schema this class belongs to.

See also
UsdSchemaKind

Reimplemented from UsdAPISchemaBase.

◆ Apply()

static USDMEDIA_API UsdMediaAuthorshipAPI Apply ( const UsdPrim & prim,
const TfToken & name )
static

Applies this multiple-apply API schema to the given prim along with the given instance name, name.

This information is stored by adding "AuthorshipAPI:<i>name</i>" to the token-valued, listOp metadata apiSchemas on the prim. For example, if name is 'instance1', the token 'AuthorshipAPI:instance1' is added to 'apiSchemas'.

Returns
A valid UsdMediaAuthorshipAPI object is returned upon success. An invalid (or empty) UsdMediaAuthorshipAPI object is returned upon failure. See UsdPrim::ApplyAPI() for conditions resulting in failure.
See also
UsdPrim::GetAppliedSchemas()
UsdPrim::HasAPI()
UsdPrim::CanApplyAPI()
UsdPrim::ApplyAPI()
UsdPrim::RemoveAPI()

◆ CanApply()

static USDMEDIA_API bool CanApply ( const UsdPrim & prim,
const TfToken & name,
std::string * whyNot = nullptr )
static

Returns true if this multiple-apply API schema can be applied, with the given instance name, name, to the given prim.

If this schema can not be a applied the prim, this returns false and, if provided, populates whyNot with the reason it can not be applied.

Note that if CanApply returns false, that does not necessarily imply that calling Apply will fail. Callers are expected to call CanApply before calling Apply if they want to ensure that it is valid to apply a schema.

See also
UsdPrim::GetAppliedSchemas()
UsdPrim::HasAPI()
UsdPrim::CanApplyAPI()
UsdPrim::ApplyAPI()
UsdPrim::RemoveAPI()

◆ ComputeAccumulatedRecords()

static USDMEDIA_API std::vector< UsdMediaAuthorshipAPI > ComputeAccumulatedRecords ( const UsdPrim & prim)
static

Returns the records that apply to prim: its own plus those accumulated from its ancestors, sorted so ancestors come first.

Compare a record's prim against prim to distinguish an inherited record from one the prim declared itself.

A prim's children accumulate their ancestors' authorship without erasing it, so a hand-modelled prim under an AI-authored group carries both records. Records are never merged, even when they share an instance name across prims.

Only consults the composed stage; does not accumulate records shadowed by explicit apiSchemas list-ops.

See also
GetShadowed().

◆ CreateContactAttr()

USDMEDIA_API UsdAttribute CreateContactAttr ( VtValue const & defaultValue = VtValue(),
bool writeSparsely = false ) const

See GetContactAttr(), and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

◆ CreateCopyrightOwnerAttr()

USDMEDIA_API UsdAttribute CreateCopyrightOwnerAttr ( VtValue const & defaultValue = VtValue(),
bool writeSparsely = false ) const

See GetCopyrightOwnerAttr(), and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

◆ CreateCreatedAttr()

USDMEDIA_API UsdAttribute CreateCreatedAttr ( VtValue const & defaultValue = VtValue(),
bool writeSparsely = false ) const

See GetCreatedAttr(), and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

◆ CreateCreatorAttr()

USDMEDIA_API UsdAttribute CreateCreatorAttr ( VtValue const & defaultValue = VtValue(),
bool writeSparsely = false ) const

See GetCreatorAttr(), and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

◆ CreateDescriptionAttr()

USDMEDIA_API UsdAttribute CreateDescriptionAttr ( VtValue const & defaultValue = VtValue(),
bool writeSparsely = false ) const

See GetDescriptionAttr(), and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

◆ CreateDigitalSourceTypeAttr()

USDMEDIA_API UsdAttribute CreateDigitalSourceTypeAttr ( VtValue const & defaultValue = VtValue(),
bool writeSparsely = false ) const

See GetDigitalSourceTypeAttr(), and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

◆ CreateInputsAttr()

USDMEDIA_API UsdAttribute CreateInputsAttr ( VtValue const & defaultValue = VtValue(),
bool writeSparsely = false ) const

See GetInputsAttr(), and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

◆ CreateInstanceIDAttr()

USDMEDIA_API UsdAttribute CreateInstanceIDAttr ( VtValue const & defaultValue = VtValue(),
bool writeSparsely = false ) const

See GetInstanceIDAttr(), and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

◆ CreateSoftwarePackageAttr()

USDMEDIA_API UsdAttribute CreateSoftwarePackageAttr ( VtValue const & defaultValue = VtValue(),
bool writeSparsely = false ) const

See GetSoftwarePackageAttr(), and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

◆ CreateSoftwareVersionAttr()

USDMEDIA_API UsdAttribute CreateSoftwareVersionAttr ( VtValue const & defaultValue = VtValue(),
bool writeSparsely = false ) const

See GetSoftwareVersionAttr(), and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

◆ CreateUsageTermsAttr()

USDMEDIA_API UsdAttribute CreateUsageTermsAttr ( VtValue const & defaultValue = VtValue(),
bool writeSparsely = false ) const

See GetUsageTermsAttr(), and also Create vs Get Property Methods for when to use Get vs Create.

If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

◆ Get() [1/2]

static USDMEDIA_API UsdMediaAuthorshipAPI Get ( const UsdPrim & prim,
const TfToken & name )
static

Return a UsdMediaAuthorshipAPI with name name holding the prim prim.

Shorthand for UsdMediaAuthorshipAPI(prim, name);

◆ Get() [2/2]

static USDMEDIA_API UsdMediaAuthorshipAPI Get ( const UsdStagePtr & stage,
const SdfPath & path )
static

Return a UsdMediaAuthorshipAPI holding the prim adhering to this schema at path on stage.

If no prim exists at path on stage, or if the prim at that path does not adhere to this schema, return an invalid schema object. path must be of the format <path>.authorship:name .

This is shorthand for the following:

TfToken name = SdfPath::StripNamespace(path.GetToken());
stage->GetPrimAtPath(path.GetPrimPath()), name);
static SDF_API std::string StripNamespace(const std::string &name)
Returns name stripped of any namespaces.
Token for efficient comparison, assignment, and hashing of known strings.
Definition token.h:81
UsdMediaAuthorshipAPI(const UsdPrim &prim=UsdPrim(), const TfToken &name=TfToken())
Construct a UsdMediaAuthorshipAPI on UsdPrim prim with name name .

◆ GetAll()

static USDMEDIA_API std::vector< UsdMediaAuthorshipAPI > GetAll ( const UsdPrim & prim)
static

Return a vector of all named instances of UsdMediaAuthorshipAPI on the given prim.

◆ GetAllDuplicates()

static USDMEDIA_API std::vector< UsdMediaAuthorshipAPI > GetAllDuplicates ( const UsdStagePtr & stage)
static

Returns GetDuplicates() for every prim on stage, sorted by prim path then instance name.

Visits prims the same way as GetAllOnStage().

See also
GetAllInLayer() for a per-layer view that includes unselected variants and inactive prim specs.

◆ GetAllInLayer()

static USDMEDIA_API SdfPathVector GetAllInLayer ( const SdfLayerHandle & layer)
static

Returns the path of every authorship record authored in layer, sorted, in the <specPath>.authorship:instanceName form that IsAuthorshipAPIPath() parses.

For records authored inside a variant, the spec path includes the variant selections, e.g. /Prim{v=on}.authorship:instanceName.

Inspects a single layer's scene description without composition. Records in sublayers and reference targets are not included. Use this to identify what a specific layer contributes on its own. Reaches specs unreachable via composed stages, such as those inside unselected variants.

Paths are returned rather than schema objects because a record found this way may have no corresponding prim on any stage: it may sit beneath a deactivated prim, behind a variant selection nothing resolves to, or the layer itself may only be a fragment of a larger scene assembled through references or sublayers that carry records of their own. There is no guarantee of correspondence between what this method reports for a layer and what GetAllOnStage() finds on a stage built from it.

◆ GetAllOnStage()

static USDMEDIA_API std::vector< UsdMediaAuthorshipAPI > GetAllOnStage ( const UsdStagePtr & stage)
static

Returns every authorship record on stage, sorted by prim path then instance name.

Records on descendant prims of a native instance's prototype are reported once, against the prototype, not once per instance. Inactive and abstract prims are included, but an inactive prim's descendants are not (they aren't composed at all). Reflects the stage's current load state and variant selections.

Reports applied schemas as seen by UsdPrim::GetAppliedSchemas() on composed prims.

See also
GetAllShadowed() and GetAllDuplicates() for diagnostics on records that composition hides or collapses.
GetAllInLayer() for a per-layer view that includes unselected variants and inactive prim specs.

◆ GetAllShadowed()

static USDMEDIA_API std::vector< UsdMediaAuthorshipAPI > GetAllShadowed ( const UsdStagePtr & stage)
static

Returns GetShadowed() for every prim on stage, sorted by prim path then instance name.

Visits prims the same way as GetAllOnStage().

See also
GetAllInLayer() for a per-layer view that includes unselected variants and inactive prim specs.

◆ GetAllUnder()

static USDMEDIA_API std::vector< UsdMediaAuthorshipAPI > GetAllUnder ( const UsdPrim & prim)
static

Returns the records on prim and everything beneath it, sorted by prim path then instance name.

Includes prim itself. Prims beneath a native instance are skipped; their records live on the prototype (see GetAllOnStage()).

Only consults the composed stage.

See also
GetShadowed().

◆ GetContactAttr()

USDMEDIA_API UsdAttribute GetContactAttr ( ) const

Contact information for inquiries about this asset, such as an email address, support URL, or licensing page.

Declaration uniform string[] contact
C++ Type VtArray<std::string>
Usd Type SdfValueTypeNames->StringArray
Variability SdfVariabilityUniform

◆ GetCopyrightOwnerAttr()

USDMEDIA_API UsdAttribute GetCopyrightOwnerAttr ( ) const

Entities holding copyright in this content, which may differ from creator (e.g., a studio owning an artist's work).

Corresponds to xmpRights:Owner.

Declaration uniform string[] copyrightOwner
C++ Type VtArray<std::string>
Usd Type SdfValueTypeNames->StringArray
Variability SdfVariabilityUniform

◆ GetCreatedAttr()

USDMEDIA_API UsdAttribute GetCreatedAttr ( ) const

An ISO 8601 timestamp indicating when this authoring step occurred (e.g., 2025-02-16T12:03:17+01:00), which may differ from the original creation time of the asset.

Declaration uniform string created
C++ Type std::string
Usd Type SdfValueTypeNames->String
Variability SdfVariabilityUniform

◆ GetCreatorAttr()

USDMEDIA_API UsdAttribute GetCreatorAttr ( ) const

Human-readable names of the artists, studios, or services that contributed to this authoring step.

Intended for display. Corresponds to dc:creator.

Declaration uniform string[] creator
C++ Type VtArray<std::string>
Usd Type SdfValueTypeNames->StringArray
Variability SdfVariabilityUniform

◆ GetDescriptionAttr()

USDMEDIA_API UsdAttribute GetDescriptionAttr ( ) const

Free-form description of how the prim was created.

Better suited to technique notes, reference material, or history. For specific, itemized inputs, prefer inputs instead.

Declaration uniform string description
C++ Type std::string
Usd Type SdfValueTypeNames->String
Variability SdfVariabilityUniform

◆ GetDigitalSourceTypeAttr()

USDMEDIA_API UsdAttribute GetDigitalSourceTypeAttr ( ) const

A URI describing the nature of the creative process, such as whether the content is human-made or AI-generated.

The IPTC Digital Source Type vocabulary is recommended (e.g., trainedAlgorithmicMedia). Tools evaluating AI content should check this field across the prim's accumulated ancestry and default to assuming non-AI generation if an AI source type is absent.

Declaration uniform string digitalSourceType
C++ Type std::string
Usd Type SdfValueTypeNames->String
Variability SdfVariabilityUniform

◆ GetDuplicates()

static USDMEDIA_API std::vector< UsdMediaAuthorshipAPI > GetDuplicates ( const UsdPrim & prim)
static

Returns the records whose application is authored in more than one spec of prim's prim stack, once each, sorted by instance name.

Composition keeps only the strongest opinion for each of their fields, so weaker values are dropped.

◆ GetInputsAttr()

USDMEDIA_API UsdAttribute GetInputsAttr ( ) const

The inputs that shaped this authoring step, as flattened (name, value) pairs.

For example, ["prompt", "A fluffy bunny", / "seed", "1234567"]. Not specific to generative AI; a human authoring step can record its reference art, schematics, or design specs the same way.

The array length must be a multiple of 2; an odd length makes the record malformed. Values are plain strings rather than asset paths so that reference images or local files aren't resolved or packaged with the asset.

Declaration uniform string[] inputs
C++ Type VtArray<std::string>
Usd Type SdfValueTypeNames->StringArray
Variability SdfVariabilityUniform

◆ GetInstanceIDAttr()

USDMEDIA_API UsdAttribute GetInstanceIDAttr ( ) const

A unique identifier for this run's output, such as a single generative AI result.

A UUID4 is recommended. Do not encode personal author information.

Unrelated to USD native instancing and unrelated to this schema's applied instance name.

Identifies an output, not a reproducible recipe; identical inputs do not guarantee identical results. Uniqueness is not guaranteed across external pipelines. Named after xmpMM:InstanceID but identifies an authoring step's output (which may span several prims) rather than a single resource rendition. Not directly equivalent when round-tripping.

Declaration uniform string instanceID
C++ Type std::string
Usd Type SdfValueTypeNames->String
Variability SdfVariabilityUniform

◆ GetName()

TfToken GetName ( ) const
inline

Returns the name of this multiple-apply schema instance.

Definition at line 111 of file authorshipAPI.h.

◆ GetSchemaAttributeNames() [1/2]

static USDMEDIA_API TfTokenVector GetSchemaAttributeNames ( bool includeInherited,
const TfToken & instanceName )
static

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes for a given instance name.

Does not include attributes that may be authored by custom/extended methods of the schemas involved. The names returned will have the proper namespace prefix.

◆ GetSchemaAttributeNames() [2/2]

static USDMEDIA_API const TfTokenVector & GetSchemaAttributeNames ( bool includeInherited = true)
static

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes.

Does not include attributes that may be authored by custom/extended methods of the schemas involved.

◆ GetShadowed()

static USDMEDIA_API std::vector< UsdMediaAuthorshipAPI > GetShadowed ( const UsdPrim & prim)
static

Returns the records applied in some spec of prim's prim stack that the composed prim does not report, sorted by instance name.

This happens when a stronger layer authors an explicit apiSchemas list that omits them. Their properties still compose and remain readable, but UsdPrim::HasAPI() reports false for them.

◆ GetSoftwarePackageAttr()

USDMEDIA_API UsdAttribute GetSoftwarePackageAttr ( ) const

The tool or system that most directly wrote the USD data for this prim.

Must be a tool (e.g., org.blender), not a person; human contributors belong in creator. If an AI model runs inside a host application, name the model itself. If someone authored the data directly with the OpenUSD API in an unnamed script, the softwarePackage would be OpenUSD.

Reverse domain notation is recommended (e.g., com.example.mymodel) to minimize name conflicts. Values are unvalidated and compared case-insensitively.

Declaration uniform string softwarePackage
C++ Type std::string
Usd Type SdfValueTypeNames->String
Variability SdfVariabilityUniform

◆ GetSoftwareVersionAttr()

USDMEDIA_API UsdAttribute GetSoftwareVersionAttr ( ) const

The version of the softwarePackage that created this record, not of the asset.

If a hosted service provides no stable version, use the provided build label or hash, and rely on created to pin down the iteration's ordering.

Declaration uniform string softwareVersion
C++ Type std::string
Usd Type SdfValueTypeNames->String
Variability SdfVariabilityUniform

◆ GetUsageTermsAttr()

USDMEDIA_API UsdAttribute GetUsageTermsAttr ( ) const

The license or usage terms for this asset.

SPDX identifiers are preferred (e.g., CC-BY-4.0 or MIT) to allow programmatic evaluation. Otherwise, provide a URL to the license text, or the full text as a fallback. If unauthored, no specific license or rights should be assumed. Corresponds to xmpRights:UsageTerms.

Declaration uniform string usageTerms
C++ Type std::string
Usd Type SdfValueTypeNames->String
Variability SdfVariabilityUniform

◆ IsAuthorshipAPIPath()

static USDMEDIA_API bool IsAuthorshipAPIPath ( const SdfPath & path,
TfToken * name )
static

Checks if the given path path is of an API schema of type AuthorshipAPI.

If so, it stores the instance name of the schema in name and returns true. Otherwise, it returns false.

◆ IsSchemaPropertyBaseName()

static USDMEDIA_API bool IsSchemaPropertyBaseName ( const TfToken & baseName)
static

Checks if the given name baseName is the base name of a property of AuthorshipAPI.

Friends And Related Symbol Documentation

◆ UsdSchemaRegistry

friend class UsdSchemaRegistry
friend

Definition at line 211 of file authorshipAPI.h.

Member Data Documentation

◆ schemaKind

Compile time constant representing what kind of schema this class is.

See also
UsdSchemaKind

Definition at line 65 of file authorshipAPI.h.


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