7#ifndef PXR_IMAGING_HD_SCENE_INDEX_PRIM_VIEW_H
8#define PXR_IMAGING_HD_SCENE_INDEX_PRIM_VIEW_H
12#include "pxr/imaging/hd/api.h"
14#include "pxr/usd/sdf/path.h"
17PXR_NAMESPACE_OPEN_SCOPE
53 inline const SdfPath &operator*()
const;
56 const_iterator& operator++();
58 inline void SkipDescendants();
59 inline bool operator==(
const const_iterator &other)
const;
60 inline bool operator!=(
const const_iterator &other)
const;
66 const_iterator(HdSceneIndexBaseRefPtr
const &inputSceneIndex,
68 const_iterator(HdSceneIndexBaseRefPtr
const &inputSceneIndex);
70 HdSceneIndexBaseRefPtr
const _inputSceneIndex;
71 std::vector<_StackFrame> _stack;
72 bool _skipDescendants;
83 const const_iterator &begin()
const;
86 const const_iterator &end()
const;
89 const const_iterator _begin;
90 const const_iterator _end;
94HdSceneIndexPrimView::const_iterator::_StackFrame
96 std::vector<SdfPath> paths;
99 bool operator==(
const _StackFrame &other)
const {
100 return paths == other.paths && index == other.index;
105HdSceneIndexPrimView::const_iterator::operator*()
const
107 const _StackFrame &frame = _stack.back();
108 return frame.paths[frame.index];
112HdSceneIndexPrimView::const_iterator::SkipDescendants()
114 _skipDescendants =
true;
118HdSceneIndexPrimView::const_iterator::operator==(
119 const const_iterator &other)
const
121 return _stack == other._stack;
125HdSceneIndexPrimView::const_iterator::operator!=(
126 const const_iterator &other)
const
128 return !(*
this == other);
131PXR_NAMESPACE_CLOSE_SCOPE
Abstract interface to scene data.
A range to iterate over all descendants of a given prim (including the prim itself) in a scene index ...
A path value used to locate objects in layers or scenegraphs.
Standard pointer typedefs.
#define TF_DECLARE_REF_PTRS(type)
Define standard ref pointer types.