35#ifndef PXR_USD_IMAGING_USD_IMAGING_USD_RENDER_VAR_SCHEMA_H
36#define PXR_USD_IMAGING_USD_IMAGING_USD_RENDER_VAR_SCHEMA_H
40#include "pxr/usdImaging/usdImaging/api.h"
42#include "pxr/imaging/hd/schema.h"
47PXR_NAMESPACE_OPEN_SCOPE
52#define USD_IMAGING_USD_RENDER_VAR_SCHEMA_TOKENS \
57 (namespacedSettings) \
60 USD_IMAGING_USD_RENDER_VAR_SCHEMA_TOKENS);
65class UsdImagingUsdRenderVarSchema :
public HdSchema
71 UsdImagingUsdRenderVarSchema(HdContainerDataSourceHandle container)
80 static UsdImagingUsdRenderVarSchema GetFromParent(
81 const HdContainerDataSourceHandle &fromParentContainer);
92 HdTokenDataSourceHandle GetDataType()
const;
95 HdStringDataSourceHandle GetSourceName()
const;
98 HdTokenDataSourceHandle GetSourceType()
const;
101 HdContainerDataSourceHandle GetNamespacedSettings()
const;
111 static const TfToken &GetSchemaToken();
145 static HdContainerDataSourceHandle
147 const HdTokenDataSourceHandle &dataType,
148 const HdStringDataSourceHandle &sourceName,
149 const HdTokenDataSourceHandle &sourceType,
150 const HdContainerDataSourceHandle &namespacedSettings
164 const HdTokenDataSourceHandle &dataType);
167 const HdStringDataSourceHandle &sourceName);
170 const HdTokenDataSourceHandle &sourceType);
172 Builder &SetNamespacedSettings(
173 const HdContainerDataSourceHandle &namespacedSettings);
177 HdContainerDataSourceHandle
Build();
180 HdTokenDataSourceHandle _dataType;
181 HdStringDataSourceHandle _sourceName;
182 HdTokenDataSourceHandle _sourceType;
183 HdContainerDataSourceHandle _namespacedSettings;
190PXR_NAMESPACE_CLOSE_SCOPE
Represents an object that can identify the location of a data source.
Schema classes represent a structured view of the inherently unstructured container data source passe...
Token for efficient comparison, assignment, and hashing of known strings.
Utility class for setting sparse sets of child data source fields to be filled as arguments into Buil...
USDIMAGING_API HdContainerDataSourceHandle Build()
Returns a container data source containing the members set thus far.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.