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 (disableDepthOfField) \
48 (materialBindingPurposes) \
49 (renderingColorSpace) \
50 (unionedSamplingInterval) \
53 HD_RENDER_SETTINGS_SCHEMA_TOKENS);
60class HdRenderSettingsSchema :
public HdSchema
66 HdRenderSettingsSchema(HdContainerDataSourceHandle container)
75 static HdRenderSettingsSchema GetFromParent(
76 const HdContainerDataSourceHandle &fromParentContainer);
96 HdBoolDataSourceHandle GetActive()
const;
99 HdPathDataSourceHandle GetCamera()
const;
102 HdBoolDataSourceHandle GetDisableMotionBlur()
const;
105 HdBoolDataSourceHandle GetDisableDepthOfField()
const;
111 HdTokenArrayDataSourceHandle GetIncludedPurposes()
const;
114 HdTokenArrayDataSourceHandle GetMaterialBindingPurposes()
const;
117 HdTokenDataSourceHandle GetRenderingColorSpace()
const;
127 HdVec2dDataSourceHandle GetUnionedSamplingInterval()
const;
137 static const TfToken &GetSchemaToken();
207 static HdContainerDataSourceHandle
209 const HdContainerDataSourceHandle &namespacedSettings,
210 const HdBoolDataSourceHandle &active,
211 const HdPathDataSourceHandle &camera,
212 const HdBoolDataSourceHandle &disableMotionBlur,
213 const HdBoolDataSourceHandle &disableDepthOfField,
214 const HdVectorDataSourceHandle &renderProducts,
215 const HdTokenArrayDataSourceHandle &includedPurposes,
216 const HdTokenArrayDataSourceHandle &materialBindingPurposes,
217 const HdTokenDataSourceHandle &renderingColorSpace,
218 const HdVec2dDataSourceHandle &unionedSamplingInterval
231 Builder &SetNamespacedSettings(
232 const HdContainerDataSourceHandle &namespacedSettings);
235 const HdBoolDataSourceHandle &active);
238 const HdPathDataSourceHandle &camera);
241 const HdBoolDataSourceHandle &disableMotionBlur);
243 Builder &SetDisableDepthOfField(
244 const HdBoolDataSourceHandle &disableDepthOfField);
247 const HdVectorDataSourceHandle &renderProducts);
250 const HdTokenArrayDataSourceHandle &includedPurposes);
252 Builder &SetMaterialBindingPurposes(
253 const HdTokenArrayDataSourceHandle &materialBindingPurposes);
255 Builder &SetRenderingColorSpace(
256 const HdTokenDataSourceHandle &renderingColorSpace);
258 Builder &SetUnionedSamplingInterval(
259 const HdVec2dDataSourceHandle &unionedSamplingInterval);
263 HdContainerDataSourceHandle
Build();
266 HdContainerDataSourceHandle _namespacedSettings;
267 HdBoolDataSourceHandle _active;
268 HdPathDataSourceHandle _camera;
269 HdBoolDataSourceHandle _disableMotionBlur;
270 HdBoolDataSourceHandle _disableDepthOfField;
271 HdVectorDataSourceHandle _renderProducts;
272 HdTokenArrayDataSourceHandle _includedPurposes;
273 HdTokenArrayDataSourceHandle _materialBindingPurposes;
274 HdTokenDataSourceHandle _renderingColorSpace;
275 HdVec2dDataSourceHandle _unionedSamplingInterval;
282PXR_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.