24 #ifndef PXR_USD_SDF_SCHEMA_TYPE_REGISTRATION_H
25 #define PXR_USD_SDF_SCHEMA_TYPE_REGISTRATION_H
52 ((SdfFieldKeys->Active, bool)) \
53 ((SdfFieldKeys->AllowedTokens, VtTokenArray)) \
54 ((SdfFieldKeys->AssetInfo, VtDictionary)) \
55 ((SdfFieldKeys->ColorConfiguration, SdfAssetPath)) \
56 ((SdfFieldKeys->ColorManagementSystem, TfToken)) \
57 ((SdfFieldKeys->ColorSpace, TfToken)) \
58 ((SdfFieldKeys->Comment, std::string)) \
59 ((SdfFieldKeys->ConnectionPaths, SdfPathListOp)) \
60 ((SdfFieldKeys->Custom, bool)) \
61 ((SdfFieldKeys->CustomData, VtDictionary)) \
62 ((SdfFieldKeys->CustomLayerData, VtDictionary)) \
63 ((SdfFieldKeys->Default, VtValue)) \
64 ((SdfFieldKeys->DefaultPrim, TfToken)) \
65 ((SdfFieldKeys->DisplayGroup, std::string)) \
66 ((SdfFieldKeys->DisplayGroupOrder, VtStringArray)) \
67 ((SdfFieldKeys->DisplayName, std::string)) \
68 ((SdfFieldKeys->DisplayUnit, TfEnum)) \
69 ((SdfFieldKeys->Documentation, std::string)) \
70 ((SdfFieldKeys->EndFrame, double)) \
71 ((SdfFieldKeys->EndTimeCode, double)) \
72 ((SdfFieldKeys->ExpressionVariables, VtDictionary)) \
73 ((SdfFieldKeys->FramePrecision, int)) \
74 ((SdfFieldKeys->FramesPerSecond, double)) \
75 ((SdfFieldKeys->Hidden, bool)) \
76 ((SdfFieldKeys->HasOwnedSubLayers, bool)) \
77 ((SdfFieldKeys->InheritPaths, SdfPathListOp)) \
78 ((SdfFieldKeys->Instanceable, bool)) \
79 ((SdfFieldKeys->Kind, TfToken)) \
80 ((SdfFieldKeys->Owner, std::string)) \
81 ((SdfFieldKeys->PrimOrder, std::vector<TfToken>)) \
82 ((SdfFieldKeys->NoLoadHint, bool)) \
83 ((SdfFieldKeys->Payload, SdfPayloadListOp)) \
84 ((SdfFieldKeys->Permission, SdfPermission)) \
85 ((SdfFieldKeys->Prefix, std::string)) \
86 ((SdfFieldKeys->PrefixSubstitutions, VtDictionary)) \
87 ((SdfFieldKeys->PropertyOrder, std::vector<TfToken>)) \
88 ((SdfFieldKeys->References, SdfReferenceListOp)) \
89 ((SdfFieldKeys->SessionOwner, std::string)) \
90 ((SdfFieldKeys->TargetPaths, SdfPathListOp)) \
91 ((SdfFieldKeys->TimeSamples, SdfTimeSampleMap)) \
92 ((SdfFieldKeys->Relocates, SdfRelocatesMap)) \
93 ((SdfFieldKeys->Specializes, SdfPathListOp)) \
94 ((SdfFieldKeys->Specifier, SdfSpecifier)) \
95 ((SdfFieldKeys->StartFrame, double)) \
96 ((SdfFieldKeys->StartTimeCode, double)) \
97 ((SdfFieldKeys->SubLayers, std::vector<std::string>)) \
98 ((SdfFieldKeys->SubLayerOffsets, std::vector<SdfLayerOffset>)) \
99 ((SdfFieldKeys->Suffix, std::string)) \
100 ((SdfFieldKeys->SuffixSubstitutions, VtDictionary)) \
101 ((SdfFieldKeys->SymmetricPeer, std::string)) \
102 ((SdfFieldKeys->SymmetryArgs, VtDictionary)) \
103 ((SdfFieldKeys->SymmetryArguments, VtDictionary)) \
104 ((SdfFieldKeys->SymmetryFunction, TfToken)) \
105 ((SdfFieldKeys->TimeCodesPerSecond, double)) \
106 ((SdfFieldKeys->TypeName, TfToken)) \
107 ((SdfFieldKeys->VariantSetNames, SdfStringListOp)) \
108 ((SdfFieldKeys->VariantSelection, SdfVariantSelectionMap)) \
109 ((SdfFieldKeys->Variability, SdfVariability)) \
110 ((SdfChildrenKeys->ConnectionChildren, std::vector<SdfPath>)) \
111 ((SdfChildrenKeys->ExpressionChildren, std::vector<TfToken>)) \
112 ((SdfChildrenKeys->MapperArgChildren, std::vector<TfToken>)) \
113 ((SdfChildrenKeys->MapperChildren, std::vector<SdfPath>)) \
114 ((SdfChildrenKeys->PrimChildren, std::vector<TfToken>)) \
115 ((SdfChildrenKeys->PropertyChildren, std::vector<TfToken>)) \
116 ((SdfChildrenKeys->RelationshipTargetChildren, std::vector<SdfPath>)) \
117 ((SdfChildrenKeys->VariantChildren, std::vector<TfToken>)) \
118 ((SdfChildrenKeys->VariantSetChildren, std::vector<TfToken>))
120 #define _SDF_FIELDS_NAME(tup) TF_PP_TUPLE_ELEM(0, tup)
121 #define _SDF_FIELDS_TYPE(tup) TF_PP_TUPLE_ELEM(1, tup)
129 template <
class Registrar>
133 #define _SDF_REGISTER_FIELDS(unused, elem) \
134 reg->template RegisterField< _SDF_FIELDS_TYPE(elem) >(_SDF_FIELDS_NAME(elem));
137 #undef _SDF_REGISTER_FIELDS
149 template <
class Registrar>
154 #define _SDF_REGISTER_TYPES(unused, elem) \
155 reg->template RegisterType< _SDF_FIELDS_TYPE(elem) >();
158 #undef _SDF_REGISTER_TYPES
161 #define _SDF_REGISTER_VALUE_TYPES(unused, elem) \
163 reg->template RegisterType<SDF_VALUE_CPP_TYPE(elem)>(); \
164 reg->template RegisterType<SDF_VALUE_CPP_ARRAY_TYPE(elem)>(); \
167 #undef _SDF_REGISTER_VALUE_TYPES
171 reg->template RegisterType<SdfIntListOp>();
172 reg->template RegisterType<SdfInt64ListOp>();
173 reg->template RegisterType<SdfUIntListOp>();
174 reg->template RegisterType<SdfUInt64ListOp>();
175 reg->template RegisterType<SdfStringListOp>();
176 reg->template RegisterType<SdfTokenListOp>();
177 reg->template RegisterType<SdfValueBlock>();
182 #endif // PXR_USD_SDF_SCHEMA_TYPE_REGISTRATION_H
#define _SDF_REGISTER_VALUE_TYPES(unused, elem)
void SdfRegisterFields(Registrar *reg)
#define _SDF_REGISTER_FIELDS(unused, elem)
#define _SDF_REGISTER_TYPES(unused, elem)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define TF_PP_SEQ_FOR_EACH(_macro, data, seq)
#define PXR_NAMESPACE_CLOSE_SCOPE
void SdfRegisterTypes(Registrar *reg)