Loading...
Searching...
No Matches
stitch.h
Go to the documentation of this file.
1//
2// Copyright 2016 Pixar
3//
4// Licensed under the Apache License, Version 2.0 (the "Apache License")
5// with the following modification; you may not use this file except in
6// compliance with the Apache License and the following modification to it:
7// Section 6. Trademarks. is deleted and replaced with:
8//
9// 6. Trademarks. This License does not grant permission to use the trade
10// names, trademarks, service marks, or product names of the Licensor
11// and its affiliates, except as required to comply with Section 4(c) of
12// the License and to reproduce the content of the NOTICE file.
13//
14// You may obtain a copy of the Apache License at
15//
16// http://www.apache.org/licenses/LICENSE-2.0
17//
18// Unless required by applicable law or agreed to in writing, software
19// distributed under the Apache License with the above modification is
20// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21// KIND, either express or implied. See the Apache License for the specific
22// language governing permissions and limitations under the Apache License.
23//
24#ifndef PXR_USD_USD_UTILS_STITCH_H
25#define PXR_USD_USD_UTILS_STITCH_H
26
33
34#include "pxr/pxr.h"
35#include "pxr/usd/usdUtils/api.h"
37#include "pxr/usd/sdf/spec.h"
38
39#include <functional>
40
41PXR_NAMESPACE_OPEN_SCOPE
42
43SDF_DECLARE_HANDLES(SdfLayer);
44
69USDUTILS_API
71 const SdfLayerHandle& strongLayer,
72 const SdfLayerHandle& weakLayer);
73
78USDUTILS_API
80 const SdfSpecHandle& strongObj,
81 const SdfSpecHandle& weakObj);
82
85
89{
93};
94
106using UsdUtilsStitchValueFn = std::function<
108 const TfToken& field, const SdfPath& path,
109 const SdfLayerHandle& strongLayer, bool fieldInStrongLayer,
110 const SdfLayerHandle& weakLayer, bool fieldInWeakLayer,
111 VtValue* stitchedValue)>;
112
117USDUTILS_API
119 const SdfLayerHandle& strongLayer,
120 const SdfLayerHandle& weakLayer,
121 const UsdUtilsStitchValueFn& stitchValueFn);
122
127USDUTILS_API
129 const SdfSpecHandle& strongObj,
130 const SdfSpecHandle& weakObj,
131 const UsdUtilsStitchValueFn& stitchValueFn);
132
134
135PXR_NAMESPACE_CLOSE_SCOPE
136
137#endif /* PXR_USD_USD_UTILS_STITCH_H */
A scene description container that can combine with other such containers to form simple component as...
Definition: layer.h:100
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:290
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:88
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Definition: value.h:164
USDUTILS_API void UsdUtilsStitchInfo(const SdfSpecHandle &strongObj, const SdfSpecHandle &weakObj)
Merge the scene description for weakObj into strongObj.
USDUTILS_API void UsdUtilsStitchLayers(const SdfLayerHandle &strongLayer, const SdfLayerHandle &weakLayer)
Merge all scene description in weakLayer into strongLayer.
UsdUtilsStitchValueStatus
Status enum returned by UsdUtilsStitchValueFn describing the desired value stitching behavior.
Definition: stitch.h:89
@ UseDefaultValue
Use the default stitching behavior for this field.
@ NoStitchedValue
Don't stitch values for this field.
@ UseSuppliedValue
Use the value supplied in stitchedValue.
std::function< UsdUtilsStitchValueStatus(const TfToken &field, const SdfPath &path, const SdfLayerHandle &strongLayer, bool fieldInStrongLayer, const SdfLayerHandle &weakLayer, bool fieldInWeakLayer, VtValue *stitchedValue)> UsdUtilsStitchValueFn
Callback for customizing how values are stitched together.
Definition: stitch.h:111