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
67 inline const SdfPath &operator*()
const;
68 inline const SdfPath *operator->()
const;
71 const_iterator& operator++();
73 inline void SkipDescendants();
74 inline bool operator==(
const const_iterator &other)
const;
75 inline bool operator!=(
const const_iterator &other)
const;
81 const_iterator(HdSceneIndexBaseRefPtr
const &inputSceneIndex,
84 const_iterator(HdSceneIndexBaseRefPtr
const &inputSceneIndex,
87 HdSceneIndexBaseRefPtr
const _inputSceneIndex;
88 std::vector<_StackFrame> _stack;
89 bool _skipDescendants;
95 Order order = ChildPrimPaths);
100 Order order = ChildPrimPaths);
103 const const_iterator &begin()
const;
106 const const_iterator &end()
const;
109 const const_iterator _begin;
110 const const_iterator _end;
114HdSceneIndexPrimView::const_iterator::_StackFrame
116 std::vector<SdfPath> paths;
119 bool operator==(
const _StackFrame &other)
const {
120 return paths == other.paths && index == other.index;
125HdSceneIndexPrimView::const_iterator::operator*()
const
127 const _StackFrame &frame = _stack.back();
128 return frame.paths[frame.index];
132HdSceneIndexPrimView::const_iterator::operator->()
const
138HdSceneIndexPrimView::const_iterator::SkipDescendants()
140 _skipDescendants =
true;
144HdSceneIndexPrimView::const_iterator::operator==(
145 const const_iterator &other)
const
147 return _stack == other._stack;
151HdSceneIndexPrimView::const_iterator::operator!=(
152 const const_iterator &other)
const
154 return !(*
this == other);
157PXR_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.