Loading...
Searching...
No Matches
meshSchema.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_MESH_SCHEMA_H
19#define PXR_IMAGING_HD_MESH_SCHEMA_H
20
22
23#include "pxr/imaging/hd/api.h"
26
27#include "pxr/imaging/hd/schema.h"
28
29// --(BEGIN CUSTOM CODE: Includes)--
30// --(END CUSTOM CODE: Includes)--
31
32PXR_NAMESPACE_OPEN_SCOPE
33
34// --(BEGIN CUSTOM CODE: Declares)--
35// --(END CUSTOM CODE: Declares)--
36
37#define HD_MESH_SCHEMA_TOKENS \
38 (mesh) \
39 (topology) \
40 (subdivisionScheme) \
41 (subdivisionTags) \
42 (doubleSided) \
43
44TF_DECLARE_PUBLIC_TOKENS(HdMeshSchemaTokens, HD_API,
45 HD_MESH_SCHEMA_TOKENS);
46
47//-----------------------------------------------------------------------------
48
49
52class HdMeshSchema : public HdSchema
53{
54public:
57
58 HdMeshSchema(HdContainerDataSourceHandle container)
59 : HdSchema(container) {}
60
66 HD_API
67 static HdMeshSchema 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 HdMeshTopologySchema GetTopology() const;
80
81 HD_API
82 HdTokenDataSourceHandle GetSubdivisionScheme() const;
83
84 HD_API
85 HdSubdivisionTagsSchema GetSubdivisionTags() const;
86
88 HD_API
89 HdBoolDataSourceHandle GetDoubleSided() const;
90
92
95
98 HD_API
99 static const TfToken &GetSchemaToken();
100
103 HD_API
104 static const HdDataSourceLocator &GetDefaultLocator();
105
107
116
118 HD_API
119 static const HdDataSourceLocator &GetTopologyLocator();
120
122 HD_API
123 static const HdDataSourceLocator &GetSubdivisionSchemeLocator();
124
126 HD_API
127 static const HdDataSourceLocator &GetSubdivisionTagsLocator();
128
130 HD_API
131 static const HdDataSourceLocator &GetDoubleSidedLocator();
133
136
144 HD_API
145 static HdContainerDataSourceHandle
146 BuildRetained(
147 const HdContainerDataSourceHandle &topology,
148 const HdTokenDataSourceHandle &subdivisionScheme,
149 const HdContainerDataSourceHandle &subdivisionTags,
150 const HdBoolDataSourceHandle &doubleSided
151 );
152
159 class Builder
160 {
161 public:
162 HD_API
163 Builder &SetTopology(
164 const HdContainerDataSourceHandle &topology);
165 HD_API
166 Builder &SetSubdivisionScheme(
167 const HdTokenDataSourceHandle &subdivisionScheme);
168 HD_API
169 Builder &SetSubdivisionTags(
170 const HdContainerDataSourceHandle &subdivisionTags);
171 HD_API
172 Builder &SetDoubleSided(
173 const HdBoolDataSourceHandle &doubleSided);
174
176 HD_API
177 HdContainerDataSourceHandle Build();
178
179 private:
180 HdContainerDataSourceHandle _topology;
181 HdTokenDataSourceHandle _subdivisionScheme;
182 HdContainerDataSourceHandle _subdivisionTags;
183 HdBoolDataSourceHandle _doubleSided;
184
185 };
186
188};
189
190PXR_NAMESPACE_CLOSE_SCOPE
191
192#endif
Represents an object that can identify the location of a data source.
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:81
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.