HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
computeSceneIndexDiff.h
Go to the documentation of this file.
1 //
2 // Copyright 2024 Pixar
3 //
4 // Licensed under the terms set forth in the LICENSE.txt file available at
5 // https://openusd.org/license.
6 //
7 #ifndef PXR_IMAGING_HDSI_COMPUTE_SCENE_INDEX_DIFF_H
8 #define PXR_IMAGING_HDSI_COMPUTE_SCENE_INDEX_DIFF_H
9 
10 #include "pxr/pxr.h"
11 
12 #include "pxr/imaging/hdsi/api.h"
13 
15 
17 
19 
20 /// This is used to compute the difference between `siA` and `siB`
21 /// expressed as `removedEntries`, `addedEntries`, `renamedEntries`, and
22 /// `dirtiedEntries`, being sent in that order.
23 using HdsiComputeSceneIndexDiff = std::function<void(
24  const HdSceneIndexBaseRefPtr& siA,
25  const HdSceneIndexBaseRefPtr& siB,
30 
31 /// This compute diff function resets the entire scene.
32 ///
33 /// If \p siA is not null, this will remove `/`.
34 /// If \p siB is not null, it will add all prims (recursively)
35 /// starting with `/`.
36 ///
37 /// All of the pointers should be non-null.
40  const HdSceneIndexBaseRefPtr& siA,
41  const HdSceneIndexBaseRefPtr& siB,
46 
47 /// This will walk both scene indices and try to compute a sparse
48 /// delta at the prim level.
49 ///
50 /// All of the pointers should be non-null.
53  const HdSceneIndexBaseRefPtr& siA,
54  const HdSceneIndexBaseRefPtr& siB,
59 
61 
62 #endif
HDSI_API void HdsiComputeSceneIndexDiffDelta(const HdSceneIndexBaseRefPtr &siA, const HdSceneIndexBaseRefPtr &siB, HdSceneIndexObserver::RemovedPrimEntries *removedEntries, HdSceneIndexObserver::AddedPrimEntries *addedEntries, HdSceneIndexObserver::RenamedPrimEntries *renamedEntries, HdSceneIndexObserver::DirtiedPrimEntries *dirtiedEntries)
std::function< void(const HdSceneIndexBaseRefPtr &siA, const HdSceneIndexBaseRefPtr &siB, HdSceneIndexObserver::RemovedPrimEntries *removedEntries, HdSceneIndexObserver::AddedPrimEntries *addedEntries, HdSceneIndexObserver::RenamedPrimEntries *renamedEntries, HdSceneIndexObserver::DirtiedPrimEntries *dirtiedEntries)> HdsiComputeSceneIndexDiff
void
Definition: png.h:1083
HDSI_API void HdsiComputeSceneIndexDiffRoot(const HdSceneIndexBaseRefPtr &siA, const HdSceneIndexBaseRefPtr &siB, HdSceneIndexObserver::RemovedPrimEntries *removedEntries, HdSceneIndexObserver::AddedPrimEntries *addedEntries, HdSceneIndexObserver::RenamedPrimEntries *renamedEntries, HdSceneIndexObserver::DirtiedPrimEntries *dirtiedEntries)
#define HDSI_API
Definition: api.h:23
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1425
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74