7 #ifndef PXR_EXEC_EXEC_IR_CONTROLLER_BUILDER_H
8 #define PXR_EXEC_EXEC_IR_CONTROLLER_BUILDER_H
134 template <
typename ValueType>
145 template <
typename ValueType>
158 template <
typename ValueType>
171 template <
typename ValueType>
181 template <
typename ValueType>
189 static const TfToken &_GetConstantInputName();
197 template <
typename ValueType>
202 using namespace exec_registration;
206 _forwardComputeReg.Inputs(AttributeValue<ValueType>(attributeName));
209 template <
typename ValueType>
214 using namespace exec_registration;
218 _forwardComputeReg.Inputs(AttributeValue<ValueType>(attributeName));
221 _inverseComputeReg.Inputs(AttributeValue<ValueType>(attributeName));
224 template <
typename ValueType>
229 using namespace exec_registration;
238 _inverseComputeReg.Inputs(
245 _self.AttributeExpression(attributeName)
251 const auto it = resultMap.
find(attributeName);
252 if (it != resultMap.
end()) {
257 "Failed to find a result value for output attribute '%s' "
266 Constant(attributeName).InputName(_GetConstantInputName()));
269 template <
typename ValueType>
274 using namespace exec_registration;
277 _forwardComputeReg.Inputs(AttributeValue<ValueType>(attributeName));
278 _inverseComputeReg.Inputs(AttributeValue<ValueType>(attributeName));
281 template <
typename ValueType>
286 using namespace exec_registration;
290 _forwardComputeReg.Inputs(AttributeValue<ValueType>(attributeName));
291 _inverseComputeReg.Inputs(AttributeValue<ValueType>(attributeName));
Class used to build prim computation definitions.
void InvertibleInputAttribute(const TfToken &attributeName)
#define PXR_NAMESPACE_OPEN_SCOPE
void NonInvertibleInputAttribute(const TfToken &attributeName)
TfDenseHashMap< TfToken, VtValue, TfToken::HashFunctor > ExecIrResult
VdfByValueOrConstRef< T > GetInputValue(const TfToken &name) const
ExecIrResult(*)(const VdfContext &) Callback
The type for forward and inverse controller computation calbacks.
void SwitchAttribute(const TfToken &attributeName)
iterator find(const key_type &k)
EXEC_API TfStaticData< Exec_BuiltinComputationTokens > ExecBuiltinComputations
EXECIR_API ExecIrControllerBuilder(ExecComputationBuilder &self, Callback forwardCallback, Callback inverseCallback)
const T & GetFallback() const
char const * GetText() const
static VDF_API VdfExecutionTypeRegistry & GetInstance()
Computation value specifier, valid for providing input to any computation.
#define PXR_NAMESPACE_CLOSE_SCOPE
VDF_API std::string GetNodeDebugName() const
void InvertibleOutputAttribute(const TfToken &attributeName)
void PassthroughAttribute(const TfToken &attributeName)