Loading...
Searching...
No Matches
nurbsPatchTrimCurveSchema.h
Go to the documentation of this file.
1//
2// Copyright 2023 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
8
9/* ************************************************************************** */
10/* ** ** */
11/* ** This file is generated by a script. ** */
12/* ** ** */
13/* ** Do not edit it directly (unless it is within a CUSTOM CODE section)! ** */
14/* ** Edit hdSchemaDefs.py instead to make changes. ** */
15/* ** ** */
16/* ************************************************************************** */
17
18#ifndef PXR_IMAGING_HD_NURBS_PATCH_TRIM_CURVE_SCHEMA_H
19#define PXR_IMAGING_HD_NURBS_PATCH_TRIM_CURVE_SCHEMA_H
20
22
23#include "pxr/imaging/hd/api.h"
24
25#include "pxr/imaging/hd/schema.h"
26
27// --(BEGIN CUSTOM CODE: Includes)--
28// --(END CUSTOM CODE: Includes)--
29
30PXR_NAMESPACE_OPEN_SCOPE
31
32// --(BEGIN CUSTOM CODE: Declares)--
33// --(END CUSTOM CODE: Declares)--
34
35#define HD_NURBS_PATCH_TRIM_CURVE_SCHEMA_TOKENS \
36 (trimCurve) \
37 (counts) \
38 (orders) \
39 (vertexCounts) \
40 (knots) \
41 (ranges) \
42 (points) \
43
44TF_DECLARE_PUBLIC_TOKENS(HdNurbsPatchTrimCurveSchemaTokens, HD_API,
45 HD_NURBS_PATCH_TRIM_CURVE_SCHEMA_TOKENS);
46
47//-----------------------------------------------------------------------------
48
49
52class HdNurbsPatchTrimCurveSchema : public HdSchema
53{
54public:
57
58 HdNurbsPatchTrimCurveSchema(HdContainerDataSourceHandle container)
59 : HdSchema(container) {}
60
66 HD_API
67 static HdNurbsPatchTrimCurveSchema GetFromParent(
68 const HdContainerDataSourceHandle &fromParentContainer);
69
71
72// --(BEGIN CUSTOM CODE: Schema Methods)--
73// --(END CUSTOM CODE: Schema Methods)--
74
77
78 HD_API
79 HdIntArrayDataSourceHandle GetCounts() const;
80
81 HD_API
82 HdIntArrayDataSourceHandle GetOrders() const;
83
84 HD_API
85 HdIntArrayDataSourceHandle GetVertexCounts() const;
86
87 HD_API
88 HdDoubleArrayDataSourceHandle GetKnots() const;
89
90 HD_API
91 HdVec2dArrayDataSourceHandle GetRanges() const;
92
93 HD_API
94 HdVec3dArrayDataSourceHandle GetPoints() const;
95
97
100
103 HD_API
104 static const TfToken &GetSchemaToken();
105
108 HD_API
109 static const HdDataSourceLocator &GetDefaultLocator();
110
112
115
123 HD_API
124 static HdContainerDataSourceHandle
125 BuildRetained(
126 const HdIntArrayDataSourceHandle &counts,
127 const HdIntArrayDataSourceHandle &orders,
128 const HdIntArrayDataSourceHandle &vertexCounts,
129 const HdDoubleArrayDataSourceHandle &knots,
130 const HdVec2dArrayDataSourceHandle &ranges,
131 const HdVec3dArrayDataSourceHandle &points
132 );
133
141 {
142 public:
143 HD_API
144 Builder &SetCounts(
145 const HdIntArrayDataSourceHandle &counts);
146 HD_API
147 Builder &SetOrders(
148 const HdIntArrayDataSourceHandle &orders);
149 HD_API
150 Builder &SetVertexCounts(
151 const HdIntArrayDataSourceHandle &vertexCounts);
152 HD_API
153 Builder &SetKnots(
154 const HdDoubleArrayDataSourceHandle &knots);
155 HD_API
156 Builder &SetRanges(
157 const HdVec2dArrayDataSourceHandle &ranges);
158 HD_API
159 Builder &SetPoints(
160 const HdVec3dArrayDataSourceHandle &points);
161
163 HD_API
164 HdContainerDataSourceHandle Build();
165
166 private:
167 HdIntArrayDataSourceHandle _counts;
168 HdIntArrayDataSourceHandle _orders;
169 HdIntArrayDataSourceHandle _vertexCounts;
170 HdDoubleArrayDataSourceHandle _knots;
171 HdVec2dArrayDataSourceHandle _ranges;
172 HdVec3dArrayDataSourceHandle _points;
173
174 };
175
177};
178
179PXR_NAMESPACE_CLOSE_SCOPE
180
181#endif
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...
Definition: schema.h:26
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:71
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
Definition: staticTokens.h:92