18#ifndef PXR_IMAGING_HD_SPLIT_DIOPTER_SCHEMA_H
19#define PXR_IMAGING_HD_SPLIT_DIOPTER_SCHEMA_H
23#include "pxr/imaging/hd/api.h"
25#include "pxr/imaging/hd/schema.h"
30PXR_NAMESPACE_OPEN_SCOPE
35#define HD_SPLIT_DIOPTER_SCHEMA_TOKENS \
47 HD_SPLIT_DIOPTER_SCHEMA_TOKENS);
52class HdSplitDiopterSchema :
public HdSchema
58 HdSplitDiopterSchema(HdContainerDataSourceHandle container)
67 static HdSplitDiopterSchema GetFromParent(
68 const HdContainerDataSourceHandle &fromParentContainer);
79 HdIntDataSourceHandle GetCount()
const;
82 HdFloatDataSourceHandle GetAngle()
const;
85 HdFloatDataSourceHandle GetOffset1()
const;
88 HdFloatDataSourceHandle GetWidth1()
const;
91 HdFloatDataSourceHandle GetFocusDistance1()
const;
94 HdFloatDataSourceHandle GetOffset2()
const;
97 HdFloatDataSourceHandle GetWidth2()
const;
100 HdFloatDataSourceHandle GetFocusDistance2()
const;
110 static const TfToken &GetSchemaToken();
130 static HdContainerDataSourceHandle
132 const HdIntDataSourceHandle &count,
133 const HdFloatDataSourceHandle &angle,
134 const HdFloatDataSourceHandle &offset1,
135 const HdFloatDataSourceHandle &width1,
136 const HdFloatDataSourceHandle &focusDistance1,
137 const HdFloatDataSourceHandle &offset2,
138 const HdFloatDataSourceHandle &width2,
139 const HdFloatDataSourceHandle &focusDistance2
153 const HdIntDataSourceHandle &count);
156 const HdFloatDataSourceHandle &angle);
159 const HdFloatDataSourceHandle &offset1);
162 const HdFloatDataSourceHandle &width1);
165 const HdFloatDataSourceHandle &focusDistance1);
168 const HdFloatDataSourceHandle &offset2);
171 const HdFloatDataSourceHandle &width2);
174 const HdFloatDataSourceHandle &focusDistance2);
178 HdContainerDataSourceHandle
Build();
181 HdIntDataSourceHandle _count;
182 HdFloatDataSourceHandle _angle;
183 HdFloatDataSourceHandle _offset1;
184 HdFloatDataSourceHandle _width1;
185 HdFloatDataSourceHandle _focusDistance1;
186 HdFloatDataSourceHandle _offset2;
187 HdFloatDataSourceHandle _width2;
188 HdFloatDataSourceHandle _focusDistance2;
195PXR_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...
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.
Token for efficient comparison, assignment, and hashing of known strings.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.