Loading...
Searching...
No Matches
property.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_PROPERTY_H
8#define PXR_EXEC_ESF_PROPERTY_H
9
11
12#include "pxr/pxr.h"
13
14#include "pxr/exec/esf/api.h"
16#include "pxr/exec/esf/object.h"
17
18#include "pxr/usd/sdf/path.h"
19
20PXR_NAMESPACE_OPEN_SCOPE
21
22class EsfJournal;
23
33class ESF_API_TYPE EsfPropertyInterface : public EsfObjectInterface
34{
35public:
36 ESF_API ~EsfPropertyInterface() override;
37
39 ESF_API TfToken GetBaseName(EsfJournal *journal) const;
40
42 ESF_API TfToken GetNamespace(EsfJournal *journal) const;
43
44protected:
47
48private:
49 // These methods must be implemented by the scene adapter implementation.
50 virtual TfToken _GetBaseName() const = 0;
51 virtual TfToken _GetNamespace() const = 0;
52};
53
61 : public EsfFixedSizePolymorphicHolder<EsfPropertyInterface, 48>
62{
63public:
65};
66
67PXR_NAMESPACE_CLOSE_SCOPE
68
69#endif
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
Scene object abstraction for scene adapter implementations.
Definition: object.h:45
Holds an implementation of EsfPropertyInterface in a fixed-size buffer.
Definition: property.h:62
Property abstraction for scene adapter implementations.
Definition: property.h:34
ESF_API TfToken GetNamespace(EsfJournal *journal) const
EsfPropertyInterface(const SdfPath &path)
This constructor may only be called by the scene adapter implementation.
Definition: property.h:46
ESF_API TfToken GetBaseName(EsfJournal *journal) const
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:274
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:71