24#ifndef PXR_IMAGING_HD_NOTICE_BATCHING_SCENE_INDEX_H
25#define PXR_IMAGING_HD_NOTICE_BATCHING_SCENE_INDEX_H
27#include "pxr/imaging/hd/filteringSceneIndex.h"
29PXR_NAMESPACE_OPEN_SCOPE
31class HdNoticeBatchingSceneIndex;
39 static HdNoticeBatchingSceneIndexRefPtr New(
40 const HdSceneIndexBaseRefPtr &inputScene) {
41 return TfCreateRefPtr(
new HdNoticeBatchingSceneIndex(inputScene));
45 ~HdNoticeBatchingSceneIndex()
override;
54 bool IsBatchingEnabled()
const;
60 void SetBatchingEnabled(
bool enabled);
69 HdNoticeBatchingSceneIndex(
const HdSceneIndexBaseRefPtr &inputScene);
86 virtual ~_BatchEntry();
89 struct _PrimsAddedBatchEntry :
public _BatchEntry
94 struct _PrimsRemovedBatchEntry :
public _BatchEntry
99 struct _PrimsDirtiedBatchEntry :
public _BatchEntry
104 bool _batchingEnabled;
105 std::vector<std::unique_ptr<_BatchEntry>> _batches;
110PXR_NAMESPACE_CLOSE_SCOPE
Abstract interface to scene data.
virtual SdfPathVector GetChildPrimPaths(const SdfPath &primPath) const =0
Returns the paths of all scene index prims located immediately below primPath.
virtual HdSceneIndexPrim GetPrim(const SdfPath &primPath) const =0
Returns a pair of (prim type, datasource) for the object at primPath.
A path value used to locate objects in layers or scenegraphs.
#define TF_DECLARE_REF_PTRS(type)
Define standard ref pointer types.
Small struct representing a 'prim' in the Hydra scene index.