Loading...
Searching...
No Matches
relationship.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_RELATIONSHIP_H
8#define PXR_EXEC_ESF_RELATIONSHIP_H
9
11
12#include "pxr/pxr.h"
13
14#include "pxr/exec/esf/api.h"
17
18#include "pxr/usd/sdf/path.h"
19
20PXR_NAMESPACE_OPEN_SCOPE
21
22class EsfJournal;
23
34{
35public:
36 ESF_API ~EsfRelationshipInterface() override;
37
39 ESF_API SdfPathVector GetTargets(EsfJournal *journal) const;
40
42 ESF_API SdfPathVector GetForwardedTargets(EsfJournal *journal) const;
43
44protected:
47
48private:
49 // These methods must be implemented by the scene adapter implementation.
50 virtual SdfPathVector _GetTargets() const = 0;
51};
52
60 : public EsfFixedSizePolymorphicHolder<EsfRelationshipInterface, 48>
61{
62public:
64};
65
66PXR_NAMESPACE_CLOSE_SCOPE
67
68#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
Property abstraction for scene adapter implementations.
Definition: property.h:34
Holds an implementation of EsfRelationshipInterface in a fixed-size buffer.
Definition: relationship.h:61
Relationship abstraction for scene adapter implementations.
Definition: relationship.h:34
ESF_API SdfPathVector GetForwardedTargets(EsfJournal *journal) const
EsfRelationshipInterface(const SdfPath &path)
This constructor may only be called by the scene adapter implementation.
Definition: relationship.h:46
ESF_API SdfPathVector GetTargets(EsfJournal *journal) const
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:274