24#ifndef PXR_IMAGING_HDX_SELECTION_TRACKER_H
25#define PXR_IMAGING_HDX_SELECTION_TRACKER_H
28#include "pxr/imaging/hdx/api.h"
29#include "pxr/imaging/hdx/version.h"
30#include "pxr/imaging/hd/selection.h"
35PXR_NAMESPACE_OPEN_SCOPE
40using HdxSelectionTrackerSharedPtr =
41 std::shared_ptr<class HdxSelectionTracker>;
132 bool enableSelectionHighlight,
133 bool enableLocateHighlight,
134 VtIntArray *offsets)
const;
137 virtual VtVec4fArray GetSelectedPointColors(
const HdRenderIndex *index);
166 bool _GetSelectionOffsets(HdSelectionSharedPtr
const &selection,
170 std::vector<int>* offsets)
const;
175 class _MergedSelection;
176 std::unique_ptr<_MergedSelection> _mergedSelection;
180PXR_NAMESPACE_CLOSE_SCOPE
The Hydra render index is a flattened representation of the client scene graph, which may be composed...
HighlightMode
Selection modes allow differentiation in selection highlight behavior.
HdxSelectionTracker takes HdSelection and generates a GPU buffer to be used.
virtual HDX_API void UpdateSelection(HdRenderIndex *index)
Optional override to update the selection (either compute HdSelection and call SetSelection or update...
HDX_API void _IncrementVersion()
Increments the internal selection state version, used for invalidation via GetVersion().
HDX_API int GetVersion() const
Returns a monotonically increasing version number, which increments whenever the result of GetBuffers...
virtual HDX_API bool GetSelectionOffsetBuffer(const HdRenderIndex *index, bool enableSelectionHighlight, bool enableLocateHighlight, VtIntArray *offsets) const
Encodes the selection state (HdxSelection) as an integer array.
HDX_API HdSelectionSharedPtr const & GetSelectionMap() const
Returns selection set with SetSelection.
HDX_API void SetSelection(HdSelectionSharedPtr const &selection)
Set the collection of selected objects.