24#ifndef PXR_USD_SDF_COPY_UTILS_H
25#define PXR_USD_SDF_COPY_UTILS_H
30#include "pxr/usd/sdf/api.h"
38PXR_NAMESPACE_OPEN_SCOPE
76 const SdfLayerHandle& srcLayer,
const SdfPath& srcPath,
77 const SdfLayerHandle& dstLayer,
const SdfPath& dstPath);
101 const SdfLayerHandle& srcLayer,
const SdfPath& srcPath,
bool fieldInSrc,
102 const SdfLayerHandle& dstLayer,
const SdfPath& dstPath,
bool fieldInDst,
103 std::optional<VtValue>* valueToCopy)>;
122 std::function<void(
const SdfLayerHandle&,
const SdfPath&)>;
125 const EditFunction& GetEditFunction()
const {
return _edit; }
152 bool(
const TfToken& childrenField,
153 const SdfLayerHandle& srcLayer,
const SdfPath& srcPath,
bool fieldInSrc,
154 const SdfLayerHandle& dstLayer,
const SdfPath& dstPath,
bool fieldInDst,
155 std::optional<VtValue>* srcChildren,
156 std::optional<VtValue>* dstChildren)>;
171 const SdfLayerHandle& srcLayer,
const SdfPath& srcPath,
bool fieldInSrc,
172 const SdfLayerHandle& dstLayer,
const SdfPath& dstPath,
bool fieldInDst,
173 std::optional<VtValue>* valueToCopy);
188 const SdfLayerHandle& srcLayer,
const SdfPath& srcPath,
bool fieldInSrc,
189 const SdfLayerHandle& dstLayer,
const SdfPath& dstPath,
bool fieldInDst,
190 std::optional<VtValue>* srcChildren,
191 std::optional<VtValue>* dstChildren);
219 const SdfLayerHandle& srcLayer,
const SdfPath& srcPath,
220 const SdfLayerHandle& dstLayer,
const SdfPath& dstPath,
226PXR_NAMESPACE_CLOSE_SCOPE
Value containing an editing operation for SdfCopySpecs.
bool operator==(const SdfCopySpecsValueEdit &rhs) const
SdfCopySpecsValueEdit objects are not comparable, but must provide operator== to be stored in a VtVal...
std::function< void(const SdfLayerHandle &, const SdfPath &)> EditFunction
Callback to apply a scene description edit to the specified layer and spec path.
A scene description container that can combine with other such containers to form simple component as...
A path value used to locate objects in layers or scenegraphs.
Token for efficient comparison, assignment, and hashing of known strings.
Provides a container which may hold any type, and provides introspection and iteration over array typ...
SDF_API bool SdfShouldCopyValue(const SdfPath &srcRootPath, const SdfPath &dstRootPath, SdfSpecType specType, const TfToken &field, const SdfLayerHandle &srcLayer, const SdfPath &srcPath, bool fieldInSrc, const SdfLayerHandle &dstLayer, const SdfPath &dstPath, bool fieldInDst, std::optional< VtValue > *valueToCopy)
SdfShouldCopyValueFn used by the simple version of SdfCopySpec.
SDF_API bool SdfShouldCopyChildren(const SdfPath &srcRootPath, const SdfPath &dstRootPath, const TfToken &childrenField, const SdfLayerHandle &srcLayer, const SdfPath &srcPath, bool fieldInSrc, const SdfLayerHandle &dstLayer, const SdfPath &dstPath, bool fieldInDst, std::optional< VtValue > *srcChildren, std::optional< VtValue > *dstChildren)
SdfShouldCopyChildrenFn used by the simple version of SdfCopySpec.
std::function< bool(SdfSpecType specType, const TfToken &field, const SdfLayerHandle &srcLayer, const SdfPath &srcPath, bool fieldInSrc, const SdfLayerHandle &dstLayer, const SdfPath &dstPath, bool fieldInDst, std::optional< VtValue > *valueToCopy)> SdfShouldCopyValueFn
Return true if field should be copied from the spec at srcPath in srcLayer to the spec at dstPath in ...
SDF_API bool SdfCopySpec(const SdfLayerHandle &srcLayer, const SdfPath &srcPath, const SdfLayerHandle &dstLayer, const SdfPath &dstPath)
Utility function for copying spec data at srcPath in srcLayer to destPath in destLayer.
std::function< bool(const TfToken &childrenField, const SdfLayerHandle &srcLayer, const SdfPath &srcPath, bool fieldInSrc, const SdfLayerHandle &dstLayer, const SdfPath &dstPath, bool fieldInDst, std::optional< VtValue > *srcChildren, std::optional< VtValue > *dstChildren)> SdfShouldCopyChildrenFn
Return true if childrenField and the child objects the field represents should be copied from the spe...
SdfSpecType
An enum that specifies the type of an object.