Loading...
Searching...
No Matches
shaderNodeDiscoveryResult.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
8#ifndef PXR_USD_SDR_NODE_DISCOVERY_RESULT_H
9#define PXR_USD_SDR_NODE_DISCOVERY_RESULT_H
10
12
13#include "pxr/usd/sdr/declare.h"
14
15PXR_NAMESPACE_OPEN_SCOPE
16
23 const SdrVersion& version,
24 const std::string& name,
25 const TfToken& function,
28 const std::string& uri,
29 const std::string& resolvedUri,
30 const std::string &sourceCode=std::string(),
31 const SdrTokenMap &metadata=SdrTokenMap(),
32 const std::string& blindData=std::string(),
36 name(name),
38 family(this->function),
42 uri(uri),
48 { }
49
56 : identifier(std::move(other.identifier)),
57 version(std::move(other.version)),
58 name(std::move(other.name)),
59 function(std::move(other.function)),
60 family(this->function),
61 discoveryType(std::move(other.discoveryType)),
62 shadingSystem(std::move(other.shadingSystem)),
64 uri(std::move(other.uri)),
65 resolvedUri(std::move(other.resolvedUri)),
66 sourceCode(std::move(other.sourceCode)),
67 metadata(std::move(other.metadata)),
68 blindData(std::move(other.blindData)),
69 subIdentifier(std::move(other.subIdentifier))
70 { }
71
73 : identifier(other.identifier),
74 version(other.version),
75 name(other.name),
76 function(other.function),
77 family(this->function),
81 uri(other.uri),
84 metadata(other.metadata),
85 blindData(other.blindData),
87 { }
88
91 {
92 this->identifier = std::move(other.identifier);
93 this->version = std::move(other.version);
94 this->name = std::move(other.name);
95 this->function = std::move(other.function);
96 this->family = this->function;
97 this->discoveryType = std::move(other.discoveryType);
98 this->shadingSystem = std::move(other.shadingSystem);
99 this->sourceType = this->shadingSystem;
100 this->uri = std::move(other.uri);
101 this->resolvedUri = std::move(other.resolvedUri);
102 this->sourceCode = std::move(other.sourceCode);
103 this->metadata = std::move(other.metadata);
104 this->blindData = std::move(other.blindData);
105 this->subIdentifier = std::move(other.subIdentifier);
106 return *this;
107 }
108
110 const SdrShaderNodeDiscoveryResult& other)
111 {
113 *this = std::move(copy);
114 return *this;
115 }
117
125
130
137 std::string name;
138
144
150
158
166
172
177 std::string uri;
178
185 std::string resolvedUri;
186
191 std::string sourceCode;
192
199 SdrTokenMap metadata;
200
204 std::string blindData;
205
214};
215
216typedef std::vector<SdrShaderNodeDiscoveryResult> SdrShaderNodeDiscoveryResultVec;
217
218PXR_NAMESPACE_CLOSE_SCOPE
219
220#endif // PXR_USD_SDR_NODE_DISCOVERY_RESULT_H
SdrVersion.
Definition: declare.h:67
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:71
STL namespace.
Represents the raw data of a node, and some other bits of metadata, that were determined via a SdrDis...
SdrShaderNodeDiscoveryResult(SdrShaderNodeDiscoveryResult &&other)
The following methods will removed in favor of implicitly defined methods once sourceType is fully re...
std::string uri
The node's origin.
TfToken subIdentifier
The subIdentifier is associated with a particular asset and refers to a specific definition within th...
SdrShaderNodeDiscoveryResult(const SdrIdentifier &identifier, const SdrVersion &version, const std::string &name, const TfToken &function, const TfToken &discoveryType, const TfToken &shadingSystem, const std::string &uri, const std::string &resolvedUri, const std::string &sourceCode=std::string(), const SdrTokenMap &metadata=SdrTokenMap(), const std::string &blindData=std::string(), const TfToken &subIdentifier=TfToken())
Constructor.
std::string sourceCode
The node's entire source code.
TfToken discoveryType
The node's discovery type.
TfToken shadingSystem
The node's shading system.
SdrTokenMap metadata
The node's metadata collected during the discovery process.
TfToken & sourceType
The node's source type.
TfToken & family
The node's family.
std::string name
The node's name.
TfToken function
The node's function.
std::string resolvedUri
The node's fully-resolved URI.
std::string blindData
An optional detail for the parser plugin.
SdrIdentifier identifier
The node's identifier.
SdrVersion version
The node's version.