24#ifndef PXR_IMAGING_HD_SCENE_INDEX_PRIM_VIEW_H
25#define PXR_IMAGING_HD_SCENE_INDEX_PRIM_VIEW_H
29#include "pxr/imaging/hd/api.h"
31#include "pxr/usd/sdf/path.h"
34PXR_NAMESPACE_OPEN_SCOPE
70 inline const SdfPath &operator*()
const;
73 const_iterator& operator++();
75 inline void SkipDescendants();
76 inline bool operator==(
const const_iterator &other)
const;
77 inline bool operator!=(
const const_iterator &other)
const;
83 const_iterator(HdSceneIndexBaseRefPtr
const &inputSceneIndex,
85 const_iterator(HdSceneIndexBaseRefPtr
const &inputSceneIndex);
87 HdSceneIndexBaseRefPtr
const _inputSceneIndex;
88 std::vector<_StackFrame> _stack;
89 bool _skipDescendants;
100 const const_iterator &begin()
const;
103 const const_iterator &end()
const;
106 const const_iterator _begin;
107 const const_iterator _end;
111HdSceneIndexPrimView::const_iterator::_StackFrame
113 std::vector<SdfPath> paths;
116 bool operator==(
const _StackFrame &other)
const {
117 return paths == other.paths && index == other.index;
122HdSceneIndexPrimView::const_iterator::operator*()
const
124 const _StackFrame &frame = _stack.back();
125 return frame.paths[frame.index];
129HdSceneIndexPrimView::const_iterator::SkipDescendants()
131 _skipDescendants =
true;
135HdSceneIndexPrimView::const_iterator::operator==(
136 const const_iterator &other)
const
138 return _stack == other._stack;
142HdSceneIndexPrimView::const_iterator::operator!=(
143 const const_iterator &other)
const
145 return !(*
this == other);
148PXR_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.