Loading...
Searching...
No Matches
attribute.h
Go to the documentation of this file.
1//
2// Copyright 2025 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef PXR_EXEC_ESF_ATTRIBUTE_H
8#define PXR_EXEC_ESF_ATTRIBUTE_H
9
11
12#include "pxr/pxr.h"
13
14#include "pxr/exec/esf/api.h"
18
19#include "pxr/usd/sdf/path.h"
20#include "pxr/usd/sdf/valueTypeName.h"
21
22PXR_NAMESPACE_OPEN_SCOPE
23
24class EsfJournal;
25
36{
37public:
38 ESF_API ~EsfAttributeInterface() override;
39
42
46 ESF_API EsfAttributeQuery GetQuery() const;
47
49 ESF_API SdfPathVector GetConnections(EsfJournal *journal) const;
50
51protected:
54
55private:
56 // These methods must be implemented by the scene adapter implementation.
57 virtual SdfValueTypeName _GetValueTypeName() const = 0;
58 virtual EsfAttributeQuery _GetQuery() const = 0;
59 virtual SdfPathVector _GetConnections() const = 0;
60};
61
69 : public EsfFixedSizePolymorphicHolder<EsfAttributeInterface, 48>
70{
71public:
73};
74
75PXR_NAMESPACE_CLOSE_SCOPE
76
77#endif
Holds an implementation of EsfAttributeInterface in a fixed-size buffer.
Definition: attribute.h:70
Attribute abstraction for scene adapter implementations.
Definition: attribute.h:36
EsfAttributeInterface(const SdfPath &path)
This constructor may only be called by the scene adapter implementation.
Definition: attribute.h:53
ESF_API SdfValueTypeName GetValueTypeName(EsfJournal *journal) const
ESF_API SdfPathVector GetConnections(EsfJournal *journal) const
ESF_API EsfAttributeQuery GetQuery() const
Returns an object for caching and querying value resolution information.
Holds an implementation of EsfAttributeQueryInterface in a fixed-size buffer.
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.
Definition: journal.h:38
Property abstraction for scene adapter implementations.
Definition: property.h:34
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:274
Represents a value type name, i.e.
Definition: valueTypeName.h:72