28 #ifndef PXR_IMAGING_HD_CAMERA_SCHEMA_H 29 #define PXR_IMAGING_HD_CAMERA_SCHEMA_H 31 #include "pxr/imaging/hd/api.h" 33 #include "pxr/imaging/hd/schema.h" 35 PXR_NAMESPACE_OPEN_SCOPE
39 #define HDCAMERA_SCHEMA_TOKENS \ 42 (horizontalAperture) \ 44 (horizontalApertureOffset) \ 45 (verticalApertureOffset) \ 53 HDCAMERA_SCHEMA_TOKENS);
57 class HdCameraSchema :
public HdSchema 60 HdCameraSchema(HdContainerDataSourceHandle container)
66 HdTokenDataSourceHandle GetProjection();
68 HdFloatDataSourceHandle GetHorizontalAperture();
70 HdFloatDataSourceHandle GetVerticalAperture();
72 HdFloatDataSourceHandle GetHorizontalApertureOffset();
74 HdFloatDataSourceHandle GetVerticalApertureOffset();
76 HdFloatDataSourceHandle GetFocalLength();
78 HdVec2fDataSourceHandle GetClippingRange();
80 HdVec4dArrayDataSourceHandle GetClippingPlanes();
90 static HdContainerDataSourceHandle
92 const HdTokenDataSourceHandle &projection,
93 const HdFloatDataSourceHandle &horizontalAperture,
94 const HdFloatDataSourceHandle &verticalAperture,
95 const HdFloatDataSourceHandle &horizontalApertureOffset,
96 const HdFloatDataSourceHandle &verticalApertureOffset,
97 const HdFloatDataSourceHandle &focalLength,
98 const HdVec2fDataSourceHandle &clippingRange,
99 const HdVec4dArrayDataSourceHandle &clippingPlanes
113 const HdTokenDataSourceHandle &projection);
115 Builder &SetHorizontalAperture(
116 const HdFloatDataSourceHandle &horizontalAperture);
119 const HdFloatDataSourceHandle &verticalAperture);
121 Builder &SetHorizontalApertureOffset(
122 const HdFloatDataSourceHandle &horizontalApertureOffset);
124 Builder &SetVerticalApertureOffset(
125 const HdFloatDataSourceHandle &verticalApertureOffset);
128 const HdFloatDataSourceHandle &focalLength);
131 const HdVec2fDataSourceHandle &clippingRange);
134 const HdVec4dArrayDataSourceHandle &clippingPlanes);
138 HdContainerDataSourceHandle
Build();
141 HdTokenDataSourceHandle _projection;
142 HdFloatDataSourceHandle _horizontalAperture;
143 HdFloatDataSourceHandle _verticalAperture;
144 HdFloatDataSourceHandle _horizontalApertureOffset;
145 HdFloatDataSourceHandle _verticalApertureOffset;
146 HdFloatDataSourceHandle _focalLength;
147 HdVec2fDataSourceHandle _clippingRange;
148 HdVec4dArrayDataSourceHandle _clippingPlanes;
157 static HdCameraSchema GetFromParent(
158 const HdContainerDataSourceHandle &fromParentContainer);
171 static HdTokenDataSourceHandle BuildProjectionDataSource(
176 PXR_NAMESPACE_CLOSE_SCOPE
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.
Represents an object that can identify the location of a data source.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
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...