Loading...
Searching...
No Matches
materialConnectionSchema.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_CONNECTION_SCHEMA_H
19#define PXR_IMAGING_HD_MATERIAL_CONNECTION_SCHEMA_H
20
22
23#include "pxr/imaging/hd/api.h"
24
25#include "pxr/imaging/hd/schema.h"
26
27// --(BEGIN CUSTOM CODE: Includes)--
28// --(END CUSTOM CODE: Includes)--
29
30PXR_NAMESPACE_OPEN_SCOPE
31
32// --(BEGIN CUSTOM CODE: Declares)--
33// --(END CUSTOM CODE: Declares)--
34
35#define HD_MATERIAL_CONNECTION_SCHEMA_TOKENS \
36 (upstreamNodePath) \
37 (upstreamNodeOutputName) \
38
39TF_DECLARE_PUBLIC_TOKENS(HdMaterialConnectionSchemaTokens, HD_API,
40 HD_MATERIAL_CONNECTION_SCHEMA_TOKENS);
41
42//-----------------------------------------------------------------------------
43
44// The MaterialConnection schema defines an upstream connected node and
45// output.
46//
47// See MaterialNode schema's documentation on its 'inputConnections' member
48// for an example.
49//
50
51class HdMaterialConnectionSchema : public HdSchema
52{
53public:
56
57 HdMaterialConnectionSchema(HdContainerDataSourceHandle container)
58 : HdSchema(container) {}
59
61
62// --(BEGIN CUSTOM CODE: Schema Methods)--
63// --(END CUSTOM CODE: Schema Methods)--
64
67
68 HD_API
69 HdTokenDataSourceHandle GetUpstreamNodePath() const;
70
71 HD_API
72 HdTokenDataSourceHandle GetUpstreamNodeOutputName() const;
73
75
78
86 HD_API
87 static HdContainerDataSourceHandle
88 BuildRetained(
89 const HdTokenDataSourceHandle &upstreamNodePath,
90 const HdTokenDataSourceHandle &upstreamNodeOutputName
91 );
92
99 class Builder
100 {
101 public:
102 HD_API
103 Builder &SetUpstreamNodePath(
104 const HdTokenDataSourceHandle &upstreamNodePath);
105 HD_API
106 Builder &SetUpstreamNodeOutputName(
107 const HdTokenDataSourceHandle &upstreamNodeOutputName);
108
110 HD_API
111 HdContainerDataSourceHandle Build();
112
113 private:
114 HdTokenDataSourceHandle _upstreamNodePath;
115 HdTokenDataSourceHandle _upstreamNodeOutputName;
116
117 };
118
120};
121
122PXR_NAMESPACE_CLOSE_SCOPE
123
124#endif
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.
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:81