Loading...
Searching...
No Matches
materialNetworkSchema.h
Go to the documentation of this file.
1//
2// Copyright 2023 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
8
9/* ************************************************************************** */
10/* ** ** */
11/* ** This file is generated by a script. ** */
12/* ** ** */
13/* ** Do not edit it directly (unless it is within a CUSTOM CODE section)! ** */
14/* ** Edit hdSchemaDefs.py instead to make changes. ** */
15/* ** ** */
16/* ************************************************************************** */
17
18#ifndef PXR_IMAGING_HD_MATERIAL_NETWORK_SCHEMA_H
19#define PXR_IMAGING_HD_MATERIAL_NETWORK_SCHEMA_H
20
22
23#include "pxr/imaging/hd/api.h"
24#include "pxr/imaging/hd/schemaTypeDefs.h"
26
27#include "pxr/imaging/hd/schema.h"
28
29// --(BEGIN CUSTOM CODE: Includes)--
30// --(END CUSTOM CODE: Includes)--
31
32PXR_NAMESPACE_OPEN_SCOPE
33
34// --(BEGIN CUSTOM CODE: Declares)--
35// --(END CUSTOM CODE: Declares)--
36
37#define HD_MATERIAL_NETWORK_SCHEMA_TOKENS \
38 (nodes) \
39 (terminals) \
40 (interface) \
41 (config) \
42
43TF_DECLARE_PUBLIC_TOKENS(HdMaterialNetworkSchemaTokens, HD_API,
44 HD_MATERIAL_NETWORK_SCHEMA_TOKENS);
45
46//-----------------------------------------------------------------------------
47
48
58{
59public:
62
63 HdMaterialNetworkSchema(HdContainerDataSourceHandle container)
64 : HdSchema(container) {}
65
67
68// --(BEGIN CUSTOM CODE: Schema Methods)--
69// --(END CUSTOM CODE: Schema Methods)--
70
73
77 HD_API
79
82 HD_API
84
87 HD_API
89
90 HD_API
91 HdSampledDataSourceContainerSchema GetConfig() const;
92
94
97
105 HD_API
106 static HdContainerDataSourceHandle
108 const HdContainerDataSourceHandle &nodes,
109 const HdContainerDataSourceHandle &terminals,
110 const HdContainerDataSourceHandle &interface,
111 const HdContainerDataSourceHandle &config
112 );
113
121 {
122 public:
123 HD_API
124 Builder &SetNodes(
125 const HdContainerDataSourceHandle &nodes);
126 HD_API
127 Builder &SetTerminals(
128 const HdContainerDataSourceHandle &terminals);
129 HD_API
130 Builder &SetInterface(
131 const HdContainerDataSourceHandle &interface);
132 HD_API
133 Builder &SetConfig(
134 const HdContainerDataSourceHandle &config);
135
137 HD_API
138 HdContainerDataSourceHandle Build();
139
140 private:
141 HdContainerDataSourceHandle _nodes;
142 HdContainerDataSourceHandle _terminals;
143 HdContainerDataSourceHandle _interface;
144 HdContainerDataSourceHandle _config;
145
146 };
147
149};
150
151PXR_NAMESPACE_CLOSE_SCOPE
152
153#endif
Template class for a schema backed by a container whose children have arbitrary names but an expected...
The MaterialInterface schema describes a material's interface parameters, also known as public UI par...
Utility class for setting sparse sets of child data source fields to be filled as arguments into Buil...
HD_API HdContainerDataSourceHandle Build()
Returns a container data source containing the members set thus far.
The MaterialNetwork schema is a container schema that defines a material for a specific render contex...
static HD_API HdContainerDataSourceHandle BuildRetained(const HdContainerDataSourceHandle &nodes, const HdContainerDataSourceHandle &terminals, const HdContainerDataSourceHandle &interface, const HdContainerDataSourceHandle &config)
HD_API HdMaterialNodeContainerSchema GetNodes() const
Maps node names to material nodes.
HD_API HdMaterialInterfaceSchema GetInterface() const
Describes the material's interface (public UI).
HD_API HdMaterialConnectionContainerSchema GetTerminals() const
Maps terminal names to material connections.
Schema classes represent a structured view of the inherently unstructured container data source passe...
Definition: schema.h:26
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
Definition: staticTokens.h:92