24 #ifndef EXT_RMANPKG_24_0_PLUGIN_RENDERMAN_PLUGIN_HD_PRMAN_MATFILT_RESOLVE_VSTRUCTS_H
25 #define EXT_RMANPKG_24_0_PLUGIN_RENDERMAN_PLUGIN_HD_PRMAN_MATFILT_RESOLVE_VSTRUCTS_H
28 #include "hdPrman/matfiltFilterChain.h"
31 PXR_NAMESPACE_OPEN_SCOPE
39 void MatfiltResolveVstructs(
42 const std::map<TfToken, VtValue> & contextValues,
43 const NdrTokenVec & shaderTypePriority,
44 std::vector<std::string> * outputErrorMessages);
46 class MatfiltVstructConditionalEvaluatorImpl;
56 typedef std::shared_ptr<MatfiltVstructConditionalEvaluator> Ptr;
60 static Ptr Parse(
const std::string & inputExpr);
73 const TfToken & upstreamNodeOutput,
74 const NdrTokenVec & shaderTypePriority,
79 MatfiltVstructConditionalEvaluatorImpl * _impl =
nullptr;
82 PXR_NAMESPACE_CLOSE_SCOPE
Parses and evaluates a single expression of "virtual struct conditional grammar". ...
Token for efficient comparison, assignment, and hashing of known strings.
A path value used to locate objects in layers or scenegraphs.
void Evaluate(const SdfPath &nodeId, const TfToken &nodeInputId, const SdfPath &upstreamNodeId, const TfToken &upstreamNodeOutput, const NdrTokenVec &shaderTypePriority, HdMaterialNetwork2 &network) const
Runs the conditional actions specified by the parsed inputExpr.
Container of nodes and top-level terminal connections.