7#ifndef PXR_EXEC_ESF_OBJECT_H
8#define PXR_EXEC_ESF_OBJECT_H
14#include "pxr/exec/esf/api.h"
19#include "pxr/usd/sdf/path.h"
21PXR_NAMESPACE_OPEN_SCOPE
123 virtual EsfStage _GetStage()
const = 0;
134 virtual bool _IsValid()
const = 0;
135 virtual TfToken _GetName()
const = 0;
136 virtual EsfPrim _GetPrim()
const = 0;
139 virtual bool _IsValidMetadataKey(
const TfToken &key)
const = 0;
140 virtual TfType _GetMetadataValueType(
const TfToken &key)
const = 0;
155PXR_NAMESPACE_CLOSE_SCOPE
Holds an implementation of EsfAttributeInterface in a fixed-size buffer.
Enables a base class to be used with EsfFixedSizePolymorphicHolder.
Stores polymorphic objects in a fixed-size buffer.
EsfFixedSizePolymorphicHolder()=delete
The default constructor is deleted because instances must always contain a derived object.
Stores a collection of edit reasons associated with scene objects.
Holds an implementation of EsfObjectInterface in a fixed-size buffer.
Scene object abstraction for scene adapter implementations.
ESF_API bool IsValidMetadataKey(const TfToken &key) const
Returns true if the field indicated by key is a valid metadata field for this object.
virtual EsfAttribute AsAttribute() const =0
virtual bool IsRelationship() const =0
ESF_API EsfPrim GetPrim(EsfJournal *journal) const
ESF_API bool IsValid(EsfJournal *journal) const
virtual EsfPrim AsPrim() const =0
ESF_API EsfSchemaConfigKey GetSchemaConfigKey(EsfJournal *journal) const
Returns an opaque value that is guaranteed to be unique and stable.
virtual bool IsPrim() const =0
EsfObjectInterface(const SdfPath &path)
This constructor may only be called by the scene adapter implementation.
virtual bool IsAttribute() const =0
const SdfPath & _GetPath() const
Gets the path to this object used for journaling.
ESF_API VtValue GetMetadata(const TfToken &key) const
Returns the value of the metadata field indicated by key.
ESF_API TfType GetMetadataValueType(const TfToken &key) const
Returns the value type for the indicated key.
ESF_API TfToken GetName(EsfJournal *journal) const
ESF_API SdfPath GetPath(EsfJournal *journal) const
virtual EsfObject AsObject() const =0
EsfStage GetStage() const
virtual EsfRelationship AsRelationship() const =0
Holds an implementation of EsfPrimInterface in a fixed-size buffer.
Holds an implementation of EsfRelationshipInterface in a fixed-size buffer.
An opaque type that can be used to identify the configuration of typed and applied schemas for a prim...
Holds an implementation of EsfStageInterface in a fixed-size buffer.
A path value used to locate objects in layers or scenegraphs.
Token for efficient comparison, assignment, and hashing of known strings.
TfType represents a dynamic runtime type.
Provides a container which may hold any type, and provides introspection and iteration over array typ...