40 HighlightModeSelect = 0,
52 SdfPath const &renderIndexPath);
57 VtIntArray
const &instanceIndex=VtIntArray());
62 VtIntArray
const &elementIndices);
67 VtIntArray
const &edgeIndices);
72 VtIntArray
const &pointIndices);
80 VtIntArray
const &pointIndices,
87 struct PrimSelectionState {
88 PrimSelectionState() : fullySelected(false) {}
94 std::vector<VtIntArray> instanceIndices;
95 std::vector<VtIntArray> elementIndices;
96 std::vector<VtIntArray> edgeIndices;
97 std::vector<VtIntArray> pointIndices;
98 std::vector<int> pointColorIndices;
106 PrimSelectionState
const *
108 SdfPath const &renderIndexPath)
const;
114 GetAllSelectedPrimPaths()
const;
122 std::vector<GfVec4f>
const& GetSelectedPointColors()
const;
126 bool IsEmpty()
const;
130 HdSelectionSharedPtr Merge(
131 HdSelectionSharedPtr
const &,
132 HdSelectionSharedPtr
const &);
136 SdfPath const &renderIndexPath,
137 VtIntArray
const &pointIndices,
138 int pointColorIndex);
140 void _GetSelectionPrimPathsForMode(
HighlightMode const &mode,
141 SdfPathVector *paths)
const;
144 using _PrimSelectionStateMap =
145 std::unordered_map<SdfPath, PrimSelectionState, SdfPath::Hash>;
147 _PrimSelectionStateMap _selMap[HighlightModeCount];
150 std::vector<GfVec4f> _selectedPointColors;
HD_API void AddRprim(HighlightMode const &mode, SdfPath const &renderIndexPath)
---------------------— Population API -----------------------------—
HD_API PrimSelectionState const * GetPrimSelectionState(HighlightMode const &mode, SdfPath const &renderIndexPath) const
-------------------------— Query API ------------------------------—