18#ifndef PXR_IMAGING_HD_RENDER_SETTINGS_SCHEMA_H
19#define PXR_IMAGING_HD_RENDER_SETTINGS_SCHEMA_H
23#include "pxr/imaging/hd/api.h"
24#include "pxr/imaging/hd/schemaTypeDefs.h"
26#include "pxr/imaging/hd/schema.h"
34PXR_NAMESPACE_OPEN_SCOPE
39#define HD_RENDER_SETTINGS_SCHEMA_TOKENS \
41 (namespacedSettings) \
45 (materialBindingPurposes) \
46 (renderingColorSpace) \
50 HD_RENDER_SETTINGS_SCHEMA_TOKENS);
57class HdRenderSettingsSchema :
public HdSchema
63 HdRenderSettingsSchema(HdContainerDataSourceHandle container)
72 static HdRenderSettingsSchema GetFromParent(
73 const HdContainerDataSourceHandle &fromParentContainer);
93 HdBoolDataSourceHandle GetActive()
const;
99 HdTokenArrayDataSourceHandle GetIncludedPurposes()
const;
102 HdTokenArrayDataSourceHandle GetMaterialBindingPurposes()
const;
105 HdTokenDataSourceHandle GetRenderingColorSpace()
const;
115 HdVec2dDataSourceHandle GetShutterInterval()
const;
125 static const TfToken &GetSchemaToken();
183 static HdContainerDataSourceHandle
185 const HdContainerDataSourceHandle &namespacedSettings,
186 const HdBoolDataSourceHandle &active,
187 const HdVectorDataSourceHandle &renderProducts,
188 const HdTokenArrayDataSourceHandle &includedPurposes,
189 const HdTokenArrayDataSourceHandle &materialBindingPurposes,
190 const HdTokenDataSourceHandle &renderingColorSpace,
191 const HdVec2dDataSourceHandle &shutterInterval
204 Builder &SetNamespacedSettings(
205 const HdContainerDataSourceHandle &namespacedSettings);
208 const HdBoolDataSourceHandle &active);
211 const HdVectorDataSourceHandle &renderProducts);
214 const HdTokenArrayDataSourceHandle &includedPurposes);
216 Builder &SetMaterialBindingPurposes(
217 const HdTokenArrayDataSourceHandle &materialBindingPurposes);
219 Builder &SetRenderingColorSpace(
220 const HdTokenDataSourceHandle &renderingColorSpace);
223 const HdVec2dDataSourceHandle &shutterInterval);
227 HdContainerDataSourceHandle
Build();
230 HdContainerDataSourceHandle _namespacedSettings;
231 HdBoolDataSourceHandle _active;
232 HdVectorDataSourceHandle _renderProducts;
233 HdTokenArrayDataSourceHandle _includedPurposes;
234 HdTokenArrayDataSourceHandle _materialBindingPurposes;
235 HdTokenDataSourceHandle _renderingColorSpace;
236 HdVec2dDataSourceHandle _shutterInterval;
243PXR_NAMESPACE_CLOSE_SCOPE
Template class for a schema backed by a container whose children have arbitrary names but an expected...
Represents an object that can identify the location of a data source.
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...
Template class wrapping a vector data source whose children are container data source conforming to a...
Token for efficient comparison, assignment, and hashing of known strings.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.