18#ifndef PXR_IMAGING_HD_LENS_DISTORTION_SCHEMA_H
19#define PXR_IMAGING_HD_LENS_DISTORTION_SCHEMA_H
23#include "pxr/imaging/hd/api.h"
25#include "pxr/imaging/hd/schema.h"
30PXR_NAMESPACE_OPEN_SCOPE
35#define HD_LENS_DISTORTION_SCHEMA_TOKENS \
49 HD_LENS_DISTORTION_SCHEMA_TOKENS);
56class HdLensDistortionSchema :
public HdSchema
62 HdLensDistortionSchema(HdContainerDataSourceHandle container)
71 static HdLensDistortionSchema GetFromParent(
72 const HdContainerDataSourceHandle &fromParentContainer);
83 HdTokenDataSourceHandle GetType()
const;
86 HdFloatDataSourceHandle GetK1()
const;
89 HdFloatDataSourceHandle GetK2()
const;
92 HdVec2fDataSourceHandle GetCenter()
const;
95 HdFloatDataSourceHandle GetAnaSq()
const;
98 HdVec2fDataSourceHandle GetAsym()
const;
101 HdFloatDataSourceHandle GetScale()
const;
104 HdFloatDataSourceHandle GetIor()
const;
114 static const TfToken &GetSchemaToken();
134 static HdContainerDataSourceHandle
136 const HdTokenDataSourceHandle &type,
137 const HdFloatDataSourceHandle &k1,
138 const HdFloatDataSourceHandle &k2,
139 const HdVec2fDataSourceHandle ¢er,
140 const HdFloatDataSourceHandle &anaSq,
141 const HdVec2fDataSourceHandle &asym,
142 const HdFloatDataSourceHandle &scale,
143 const HdFloatDataSourceHandle &ior
157 const HdTokenDataSourceHandle &type);
160 const HdFloatDataSourceHandle &k1);
163 const HdFloatDataSourceHandle &k2);
166 const HdVec2fDataSourceHandle ¢er);
169 const HdFloatDataSourceHandle &anaSq);
172 const HdVec2fDataSourceHandle &asym);
175 const HdFloatDataSourceHandle &scale);
178 const HdFloatDataSourceHandle &ior);
182 HdContainerDataSourceHandle
Build();
185 HdTokenDataSourceHandle _type;
186 HdFloatDataSourceHandle _k1;
187 HdFloatDataSourceHandle _k2;
188 HdVec2fDataSourceHandle _center;
189 HdFloatDataSourceHandle _anaSq;
190 HdVec2fDataSourceHandle _asym;
191 HdFloatDataSourceHandle _scale;
192 HdFloatDataSourceHandle _ior;
203 static HdTokenDataSourceHandle BuildTypeDataSource(
209PXR_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...
Token for efficient comparison, assignment, and hashing of known strings.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.