This document is for a version of USD that is under development. See this page for the current release.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
SdfRelationshipSpec Class Reference

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

#include <relationshipSpec.h>

+ Inheritance diagram for SdfRelationshipSpec:

Public Types

typedef SdfRelationshipSpec This
 
typedef SdfPropertySpec Parent
 

Public Member Functions

SDF_API bool GetNoLoadHint (void) const
 Get whether loading the target of this relationship is necessary to load the prim we're attached to.
 
SDF_API void SetNoLoadHint (bool noload)
 Set whether loading the target of this relationship is necessary to load the prim we're attached to.
 
Relationship targets
SDF_API SdfTargetsProxy GetTargetPathList () const
 Returns the relationship's target path list editor.
 
SDF_API bool HasTargetPathList () const
 Returns true if the relationship has any target paths.
 
SDF_API void ClearTargetPathList () const
 Clears the list of target paths on this relationship.
 
SDF_API void ReplaceTargetPath (const SdfPath &oldPath, const SdfPath &newPath)
 Updates the specified target path.
 
SDF_API void RemoveTargetPath (const SdfPath &path, bool preserveTargetOrder=false)
 Removes the specified target path.
 
- Public Member Functions inherited from SdfPropertySpec
SDF_API SdfSpecHandle GetOwner () const
 Returns the owner prim or relationship of this property.
 
SDF_API SdfDictionaryProxy GetCustomData () const
 Returns the property's custom data.
 
SDF_API SdfDictionaryProxy GetAssetInfo () const
 Returns the asset info dictionary for this property.
 
SDF_API void SetCustomData (const std::string &name, const VtValue &value)
 Sets a property custom data entry.
 
SDF_API void SetAssetInfo (const std::string &name, const VtValue &value)
 Sets a asset info entry for this property.
 
SDF_API std::string GetDisplayGroup () const
 Returns the displayGroup string for this property spec.
 
SDF_API void SetDisplayGroup (const std::string &value)
 Sets the displayGroup string for this property spec.
 
SDF_API std::string GetDisplayName () const
 Returns the displayName string for this property spec.
 
SDF_API void SetDisplayName (const std::string &value)
 Sets the displayName string for this property spec.
 
SDF_API std::string GetDocumentation () const
 Returns the documentation string for this property spec.
 
SDF_API void SetDocumentation (const std::string &value)
 Sets the documentation string for this property spec.
 
SDF_API bool GetHidden () const
 Returns whether this property spec will be hidden in browsers.
 
SDF_API void SetHidden (bool value)
 Sets whether this property spec will be hidden in browsers.
 
SDF_API SdfPermission GetPermission () const
 Returns the property's permission restriction.
 
SDF_API void SetPermission (SdfPermission value)
 Sets the property's permission restriction.
 
SDF_API std::string GetPrefix () const
 Returns the prefix string for this property spec.
 
SDF_API void SetPrefix (const std::string &value)
 Sets the prefix string for this property spec.
 
SDF_API std::string GetSuffix () const
 Returns the suffix string for this property spec.
 
SDF_API void SetSuffix (const std::string &value)
 Sets the suffix string for this property spec.
 
SDF_API std::string GetSymmetricPeer () const
 Returns the property's symmetric peer.
 
SDF_API void SetSymmetricPeer (const std::string &peerName)
 Sets the property's symmetric peer.
 
SDF_API SdfDictionaryProxy GetSymmetryArguments () const
 Returns the property's symmetry arguments.
 
SDF_API void SetSymmetryArgument (const std::string &name, const VtValue &value)
 Sets a property symmetry argument.
 
SDF_API TfToken GetSymmetryFunction () const
 Returns the property's symmetry function.
 
SDF_API void SetSymmetryFunction (const TfToken &functionName)
 Sets the property's symmetry function.
 
SDF_API TfType GetValueType () const
 Returns the TfType representing the value type this property holds.
 
SDF_API SdfValueTypeName GetTypeName () const
 Returns the name of the value type that this property holds.
 
SDF_API VtValue GetDefaultValue () const
 Returns the attribute's default value.
 
SDF_API bool SetDefaultValue (const VtValue &defaultValue)
 Sets the attribute's default value.
 
SDF_API bool HasDefaultValue () const
 Returns true if a default value is set for this attribute.
 
SDF_API void ClearDefaultValue ()
 Clear the attribute's default value.
 
SDF_API std::string GetComment () const
 Returns the comment string for this property spec.
 
SDF_API void SetComment (const std::string &value)
 Sets the comment string for this property spec.
 
SDF_API bool IsCustom () const
 Returns true if this spec declares a custom property.
 
SDF_API void SetCustom (bool custom)
 Sets whether this spec declares a custom property.
 
SDF_API SdfVariability GetVariability () const
 Returns the variability of the property.
 
SDF_API bool HasOnlyRequiredFields () const
 Returns true if this PropertySpec has no significant data other than just what is necessary for instantiation.
 
SDF_API const std::string & GetName () const
 Returns the property's name.
 
SDF_API TfToken GetNameToken () const
 Returns the property's name, as a token.
 
SDF_API bool CanSetName (const std::string &newName, std::string *whyNot) const
 Returns true if setting the property spec's name to newName will succeed.
 
SDF_API bool SetName (const std::string &newName, bool validate=true)
 Sets the property's name.
 
- Public Member Functions inherited from SdfSpec
SDF_API SdfSpecoperator= (const SdfSpec &other)
 
SDF_API const SdfSchemaBaseGetSchema () const
 Returns the SdfSchemaBase for the layer that owns this spec.
 
SDF_API SdfSpecType GetSpecType () const
 Returns the SdfSpecType specifying the spec type this object represents.
 
SDF_API bool IsDormant () const
 Returns true if this object is invalid or expired.
 
SDF_API SdfLayerHandle GetLayer () const
 Returns the layer that this object belongs to.
 
SDF_API SdfPath GetPath () const
 Returns the scene path of this object.
 
SDF_API bool PermissionToEdit () const
 Returns whether this object's layer can be edited.
 
SDF_API std::vector< TfTokenListInfoKeys () const
 Returns the full list of info keys currently set on this object.
 
SDF_API std::vector< TfTokenGetMetaDataInfoKeys () const
 Returns the list of metadata info keys for this object.
 
SDF_API TfToken GetMetaDataDisplayGroup (TfToken const &key) const
 Returns this metadata key's displayGroup.
 
SDF_API VtValue GetInfo (const TfToken &key) const
 Gets the value for the given metadata key.
 
SDF_API void SetInfo (const TfToken &key, const VtValue &value)
 Sets the value for the given metadata key.
 
SDF_API void SetInfoDictionaryValue (const TfToken &dictionaryKey, const TfToken &entryKey, const VtValue &value)
 Sets the value for entryKey to value within the dictionary with the given metadata key dictionaryKey.
 
SDF_API bool HasInfo (const TfToken &key) const
 Returns whether there is a setting for the scene spec info with the given key.
 
SDF_API void ClearInfo (const TfToken &key)
 Clears the value for scene spec info with the given key.
 
SDF_API TfType GetTypeForInfo (const TfToken &key) const
 Returns the data type for the info with the given key.
 
SDF_API const VtValueGetFallbackForInfo (const TfToken &key) const
 Returns the fallback for the info with the given key.
 
SDF_API bool WriteToStream (std::ostream &, size_t indent=0) const
 Writes this spec to the given stream.
 
SDF_API bool IsInert (bool ignoreChildren=false) const
 Returns whether this object has no significant data.
 
SDF_API std::vector< TfTokenListFields () const
 Returns all fields with values.
 
SDF_API bool HasField (const TfToken &name) const
 Returns true if the spec has a non-empty value with field name name.
 
template<class T >
bool HasField (const TfToken &name, T *value) const
 Returns true if the object has a non-empty value with name name and type T.
 
SDF_API VtValue GetField (const TfToken &name) const
 Returns a field value by name.
 
template<typename T >
GetFieldAs (const TfToken &name, const T &defaultValue=T()) const
 Returns a field value by name.
 
SDF_API bool SetField (const TfToken &name, const VtValue &value)
 Sets a field value as a boxed VtValue.
 
template<typename T >
bool SetField (const TfToken &name, const T &value)
 Sets a field value of type T.
 
SDF_API bool ClearField (const TfToken &name)
 Clears a field.
 
SDF_API bool operator== (const SdfSpec &rhs) const
 
SDF_API bool operator< (const SdfSpec &rhs) const
 

Static Public Member Functions

Spec creation
static SDF_API SdfRelationshipSpecHandle New (const SdfPrimSpecHandle &owner, const std::string &name, bool custom=true, SdfVariability variability=SdfVariabilityUniform)
 Creates a new prim relationship instance.
 
- Static Public Member Functions inherited from SdfPropertySpec
static SDF_API bool IsValidName (const std::string &name)
 Returns true if the given name is considered a valid name for a property.
 

Friends

class SdfAttributeSpec
 

Additional Inherited Members

- Protected Member Functions inherited from SdfSpec
bool _MoveSpec (const SdfPath &oldPath, const SdfPath &newPath) const
 
bool _DeleteSpec (const SdfPath &path)
 

Detailed Description

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

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

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

Definition at line 34 of file relationshipSpec.h.

Member Typedef Documentation

◆ Parent

Definition at line 40 of file relationshipSpec.h.

◆ This

Definition at line 39 of file relationshipSpec.h.

Member Function Documentation

◆ ClearTargetPathList()

SDF_API void ClearTargetPathList ( ) const

Clears the list of target paths on this relationship.

◆ GetNoLoadHint()

SDF_API bool GetNoLoadHint ( void  ) const

Get whether loading the target of this relationship is necessary to load the prim we're attached to.

◆ GetTargetPathList()

SDF_API SdfTargetsProxy GetTargetPathList ( ) const

Returns the relationship's target path list editor.

The list of the target paths for this relationship may be modified through the proxy.

◆ HasTargetPathList()

SDF_API bool HasTargetPathList ( ) const

Returns true if the relationship has any target paths.

◆ New()

static SDF_API SdfRelationshipSpecHandle New ( const SdfPrimSpecHandle &  owner,
const std::string &  name,
bool  custom = true,
SdfVariability  variability = SdfVariabilityUniform 
)
static

Creates a new prim relationship instance.

Creates and returns a new relationship for the given prim. The owner will own the newly created relationship.

◆ RemoveTargetPath()

SDF_API void RemoveTargetPath ( const SdfPath path,
bool  preserveTargetOrder = false 
)

Removes the specified target path.

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

◆ ReplaceTargetPath()

SDF_API void ReplaceTargetPath ( const SdfPath oldPath,
const SdfPath newPath 
)

Updates the specified target path.

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

◆ SetNoLoadHint()

SDF_API void SetNoLoadHint ( bool  noload)

Set whether loading the target of this relationship is necessary to load the prim we're attached to.

Friends And Related Function Documentation

◆ SdfAttributeSpec

friend class SdfAttributeSpec
friend

Definition at line 113 of file relationshipSpec.h.


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