24 #ifndef PXR_USD_USD_SHADE_CONNECTABLE_BEHAVIOR_H
25 #define PXR_USD_USD_SHADE_CONNECTABLE_BEHAVIOR_H
30 #include "pxr/usd/usdShade/api.h"
35 #include "pxr/base/tf/type.h"
37 PXR_NAMESPACE_OPEN_SCOPE
57 DerivedContainerNodes,
80 std::string *reason)
const;
98 std::string *reason)
const;
131 ConnectableNodeTypes::BasicNodes)
const;
137 ConnectableNodeTypes::BasicNodes)
const;
173 template <
class PrimType,
class BehaviorType = UsdShadeConnectableAPIBehavior>
178 TfType::Find<PrimType>(),
179 std::shared_ptr<UsdShadeConnectableAPIBehavior>(
new BehaviorType));
187 const TfType& connectablePrimType,
188 const std::shared_ptr<UsdShadeConnectableAPIBehavior>& behavior);
190 PXR_NAMESPACE_CLOSE_SCOPE
192 #endif // PXR_USD_USD_SHADE_CONNECTABLE_BEHAVIOR_H
void UsdShadeRegisterConnectableAPIBehavior()
Registers behavior to define connectability of attributes for PrimType.
virtual USDSHADE_API bool CanConnectInputToSource(const UsdShadeInput &, const UsdAttribute &, std::string *reason) const
The prim owning the input is guaranteed to be of the type this behavior was registered with...
USDSHADE_API bool _CanConnectInputToSource(const UsdShadeInput &, const UsdAttribute &, std::string *reason, ConnectableNodeTypes nodeType=ConnectableNodeTypes::BasicNodes) const
Helper function to separate and share special connectivity logic for specialized, NodeGraph-derived n...
Scenegraph object for authoring and retrieving numeric, string, and array valued data, sampled over time.
ConnectableNodeTypes
An enum describing the types of connectable nodes which will govern what connectibility rule is invok...
virtual USDSHADE_API bool IsContainer() const
The function must be thread-safe.
virtual USDSHADE_API bool CanConnectOutputToSource(const UsdShadeOutput &, const UsdAttribute &, std::string *reason) const
The prim owning the output is guaranteed to be of the type this behavior was registered with...
TfType represents a dynamic runtime type.
virtual USDSHADE_API bool RequiresEncapsulation() const
The function must be thread-safe.
This class encapsulates a shader or node-graph output, which is a connectable attribute representing ...
UsdShadeConnectableAPIBehavior defines the compatibilty and behavior UsdShadeConnectableAPIof when ap...