usdPrimInfoSchema.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_USD_IMAGING_USD_IMAGING_USD_PRIM_INFO_SCHEMA_H
19 #define PXR_USD_IMAGING_USD_IMAGING_USD_PRIM_INFO_SCHEMA_H
20 
22 
23 #include "pxr/usdImaging/usdImaging/api.h"
24 #include "pxr/imaging/hd/schemaTypeDefs.h"
25 
26 #include "pxr/imaging/hd/schema.h"
27 
28 // --(BEGIN CUSTOM CODE: Includes)--
29 // --(END CUSTOM CODE: Includes)--
30 
31 PXR_NAMESPACE_OPEN_SCOPE
32 
33 // --(BEGIN CUSTOM CODE: Declares)--
36 // --(END CUSTOM CODE: Declares)--
37 
38 #define USD_IMAGING_USD_PRIM_INFO_SCHEMA_TOKENS \
39  (__usdPrimInfo) \
40  (specifier) \
41  (typeName) \
42  (isLoaded) \
43  (apiSchemas) \
44  (kind) \
45  (variantSelections) \
46  (niPrototypePath) \
47  (isNiPrototype) \
48  (piPropagatedPrototypes) \
49  (def) \
50  (over) \
51  ((class_, "class")) \
52 
53 TF_DECLARE_PUBLIC_TOKENS(UsdImagingUsdPrimInfoSchemaTokens, USDIMAGING_API,
54  USD_IMAGING_USD_PRIM_INFO_SCHEMA_TOKENS);
55 
56 //-----------------------------------------------------------------------------
57 
58 
61 class UsdImagingUsdPrimInfoSchema : public HdSchema
62 {
63 public:
66 
67  UsdImagingUsdPrimInfoSchema(HdContainerDataSourceHandle container)
68  : HdSchema(container) {}
69 
75  USDIMAGING_API
76  static UsdImagingUsdPrimInfoSchema GetFromParent(
77  const HdContainerDataSourceHandle &fromParentContainer);
78 
80 
81 // --(BEGIN CUSTOM CODE: Schema Methods)--
82 // --(END CUSTOM CODE: Schema Methods)--
83 
86 
87  USDIMAGING_API
88  HdTokenDataSourceHandle GetSpecifier() const;
89 
90  USDIMAGING_API
91  HdTokenDataSourceHandle GetTypeName() const;
92 
93  USDIMAGING_API
94  HdBoolDataSourceHandle GetIsLoaded() const;
95 
96  USDIMAGING_API
97  HdTokenArrayDataSourceHandle GetApiSchemas() const;
98 
99  USDIMAGING_API
100  HdTokenDataSourceHandle GetKind() const;
101 
102  USDIMAGING_API
103  HdTokenDataSourceContainerSchema GetVariantSelections() const;
104 
105  USDIMAGING_API
106  HdPathDataSourceHandle GetNiPrototypePath() const;
107 
108  USDIMAGING_API
109  HdBoolDataSourceHandle GetIsNiPrototype() const;
110 
111  USDIMAGING_API
112  HdContainerDataSourceHandle GetPiPropagatedPrototypes() const;
113 
115 
118 
121  USDIMAGING_API
122  static const TfToken &GetSchemaToken();
123 
126  USDIMAGING_API
127  static const HdDataSourceLocator &GetDefaultLocator();
128 
130 
139 
141  USDIMAGING_API
142  static const HdDataSourceLocator &GetNiPrototypePathLocator();
144 
147 
155  USDIMAGING_API
156  static HdContainerDataSourceHandle
157  BuildRetained(
158  const HdTokenDataSourceHandle &specifier,
159  const HdTokenDataSourceHandle &typeName,
160  const HdBoolDataSourceHandle &isLoaded,
161  const HdTokenArrayDataSourceHandle &apiSchemas,
162  const HdTokenDataSourceHandle &kind,
163  const HdContainerDataSourceHandle &variantSelections,
164  const HdPathDataSourceHandle &niPrototypePath,
165  const HdBoolDataSourceHandle &isNiPrototype,
166  const HdContainerDataSourceHandle &piPropagatedPrototypes
167  );
168 
175  class Builder
176  {
177  public:
178  USDIMAGING_API
179  Builder &SetSpecifier(
180  const HdTokenDataSourceHandle &specifier);
181  USDIMAGING_API
182  Builder &SetTypeName(
183  const HdTokenDataSourceHandle &typeName);
184  USDIMAGING_API
185  Builder &SetIsLoaded(
186  const HdBoolDataSourceHandle &isLoaded);
187  USDIMAGING_API
188  Builder &SetApiSchemas(
189  const HdTokenArrayDataSourceHandle &apiSchemas);
190  USDIMAGING_API
191  Builder &SetKind(
192  const HdTokenDataSourceHandle &kind);
193  USDIMAGING_API
194  Builder &SetVariantSelections(
195  const HdContainerDataSourceHandle &variantSelections);
196  USDIMAGING_API
197  Builder &SetNiPrototypePath(
198  const HdPathDataSourceHandle &niPrototypePath);
199  USDIMAGING_API
200  Builder &SetIsNiPrototype(
201  const HdBoolDataSourceHandle &isNiPrototype);
202  USDIMAGING_API
203  Builder &SetPiPropagatedPrototypes(
204  const HdContainerDataSourceHandle &piPropagatedPrototypes);
205 
207  USDIMAGING_API
208  HdContainerDataSourceHandle Build();
209 
210  private:
211  HdTokenDataSourceHandle _specifier;
212  HdTokenDataSourceHandle _typeName;
213  HdBoolDataSourceHandle _isLoaded;
214  HdTokenArrayDataSourceHandle _apiSchemas;
215  HdTokenDataSourceHandle _kind;
216  HdContainerDataSourceHandle _variantSelections;
217  HdPathDataSourceHandle _niPrototypePath;
218  HdBoolDataSourceHandle _isNiPrototype;
219  HdContainerDataSourceHandle _piPropagatedPrototypes;
220 
221  };
222 
230  USDIMAGING_API
231  static HdTokenDataSourceHandle BuildSpecifierDataSource(
232  const TfToken &specifier);
233 
235 };
236 
237 PXR_NAMESPACE_CLOSE_SCOPE
238 
239 #endif
Utility class for setting sparse sets of child data source fields to be filled as arguments into Buil...
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:80
Represents an object that can identify the location of a data source.
USDIMAGING_API HdContainerDataSourceHandle Build()
Returns a container data source containing the members set thus far.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
Definition: staticTokens.h:92
Template class for a schema backed by a container whose children have arbitrary names but an expected...
Schema classes represent a structured view of the inherently unstructured container data source passe...
Definition: schema.h:25