18#ifndef PXR_IMAGING_HD_RENDER_PRODUCT_SCHEMA_H
19#define PXR_IMAGING_HD_RENDER_PRODUCT_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_PRODUCT_SCHEMA_TOKENS \
48 (aspectRatioConformPolicy) \
52 (disableDepthOfField) \
53 (namespacedSettings) \
56 HD_RENDER_PRODUCT_SCHEMA_TOKENS);
63class HdRenderProductSchema :
public HdSchema
69 HdRenderProductSchema(HdContainerDataSourceHandle container)
78 static HdRenderProductSchema GetFromParent(
79 const HdContainerDataSourceHandle &fromParentContainer);
90 HdPathDataSourceHandle GetPath()
const;
93 HdTokenDataSourceHandle GetType()
const;
96 HdTokenDataSourceHandle GetName()
const;
99 HdVec2iDataSourceHandle GetResolution()
const;
105 HdPathDataSourceHandle GetCameraPrim()
const;
108 HdFloatDataSourceHandle GetPixelAspectRatio()
const;
111 HdTokenDataSourceHandle GetAspectRatioConformPolicy()
const;
114 HdVec2fDataSourceHandle GetApertureSize()
const;
117 HdVec4fDataSourceHandle GetDataWindowNDC()
const;
120 HdBoolDataSourceHandle GetDisableMotionBlur()
const;
123 HdBoolDataSourceHandle GetDisableDepthOfField()
const;
126 HdContainerDataSourceHandle GetNamespacedSettings()
const;
136 static const TfToken &GetSchemaToken();
178 static HdContainerDataSourceHandle
180 const HdPathDataSourceHandle &path,
181 const HdTokenDataSourceHandle &type,
182 const HdTokenDataSourceHandle &name,
183 const HdVec2iDataSourceHandle &resolution,
184 const HdVectorDataSourceHandle &renderVars,
185 const HdPathDataSourceHandle &cameraPrim,
186 const HdFloatDataSourceHandle &pixelAspectRatio,
187 const HdTokenDataSourceHandle &aspectRatioConformPolicy,
188 const HdVec2fDataSourceHandle &apertureSize,
189 const HdVec4fDataSourceHandle &dataWindowNDC,
190 const HdBoolDataSourceHandle &disableMotionBlur,
191 const HdBoolDataSourceHandle &disableDepthOfField,
192 const HdContainerDataSourceHandle &namespacedSettings
206 const HdPathDataSourceHandle &path);
209 const HdTokenDataSourceHandle &type);
212 const HdTokenDataSourceHandle &name);
215 const HdVec2iDataSourceHandle &resolution);
218 const HdVectorDataSourceHandle &renderVars);
221 const HdPathDataSourceHandle &cameraPrim);
224 const HdFloatDataSourceHandle &pixelAspectRatio);
226 Builder &SetAspectRatioConformPolicy(
227 const HdTokenDataSourceHandle &aspectRatioConformPolicy);
230 const HdVec2fDataSourceHandle &apertureSize);
233 const HdVec4fDataSourceHandle &dataWindowNDC);
236 const HdBoolDataSourceHandle &disableMotionBlur);
238 Builder &SetDisableDepthOfField(
239 const HdBoolDataSourceHandle &disableDepthOfField);
241 Builder &SetNamespacedSettings(
242 const HdContainerDataSourceHandle &namespacedSettings);
246 HdContainerDataSourceHandle
Build();
249 HdPathDataSourceHandle _path;
250 HdTokenDataSourceHandle _type;
251 HdTokenDataSourceHandle _name;
252 HdVec2iDataSourceHandle _resolution;
253 HdVectorDataSourceHandle _renderVars;
254 HdPathDataSourceHandle _cameraPrim;
255 HdFloatDataSourceHandle _pixelAspectRatio;
256 HdTokenDataSourceHandle _aspectRatioConformPolicy;
257 HdVec2fDataSourceHandle _apertureSize;
258 HdVec4fDataSourceHandle _dataWindowNDC;
259 HdBoolDataSourceHandle _disableMotionBlur;
260 HdBoolDataSourceHandle _disableDepthOfField;
261 HdContainerDataSourceHandle _namespacedSettings;
268PXR_NAMESPACE_CLOSE_SCOPE
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.