All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 USDUTILS_STITCH_H
25 #define USDUTILS_STITCH_H
26 
33 
34 #include "pxr/pxr.h"
35 #include "pxr/usd/usdUtils/api.h"
36 #include "pxr/usd/sdf/declareHandles.h"
37 #include "pxr/usd/sdf/spec.h"
38 
39 #include <functional>
40 
41 PXR_NAMESPACE_OPEN_SCOPE
42 
43 SDF_DECLARE_HANDLES(SdfLayer);
44 
69 USDUTILS_API
71  const SdfLayerHandle& strongLayer,
72  const SdfLayerHandle& weakLayer);
73 
78 USDUTILS_API
80  const SdfSpecHandle& strongObj,
81  const SdfSpecHandle& weakObj);
82 
85 
89 {
93 };
94 
106 using 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 
117 USDUTILS_API
119  const SdfLayerHandle& strongLayer,
120  const SdfLayerHandle& weakLayer,
121  const UsdUtilsStitchValueFn& stitchValueFn);
122 
127 USDUTILS_API
128 void UsdUtilsStitchInfo(
129  const SdfSpecHandle& strongObj,
130  const SdfSpecHandle& weakObj,
131  const UsdUtilsStitchValueFn& stitchValueFn);
132 
134 
135 PXR_NAMESPACE_CLOSE_SCOPE
136 
137 #endif /* USDUTILS_STITCH_H */
A unit of scene description that you combine with other units of scene description to form a shot...
Definition: layer.h:93
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:89
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:287
Use the default stitching behavior for this field.
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
Use the value supplied in stitchedValue.
USDUTILS_API void UsdUtilsStitchLayers(const SdfLayerHandle &strongLayer, const SdfLayerHandle &weakLayer)
Merge all scene description in weakLayer into strongLayer.
Don&#39;t stitch values for this field.
USDUTILS_API void UsdUtilsStitchInfo(const SdfSpecHandle &strongObj, const SdfSpecHandle &weakObj)
Merge the scene description for weakObj into strongObj.
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Definition: value.h:182
UsdUtilsStitchValueStatus
Status enum returned by UsdUtilsStitchValueFn describing the desired value stitching behavior...
Definition: stitch.h:88