7#ifndef PXR_IMAGING_HDX_SELECTION_TASK_H
8#define PXR_IMAGING_HDX_SELECTION_TASK_H
11#include "pxr/imaging/hdx/api.h"
12#include "pxr/imaging/hdx/version.h"
13#include "pxr/imaging/hd/task.h"
19PXR_NAMESPACE_OPEN_SCOPE
25struct HdxSelectionTaskParams
27 bool enableSelectionHighlight;
28 bool enableLocateHighlight;
29 float occludedSelectionOpacity;
35using HdBufferArrayRangeSharedPtr = std::shared_ptr<class HdBufferArrayRange>;
48 using TaskParams = HdxSelectionTaskParams;
60 HdDirtyBits* dirtyBits)
override;
70 void Execute(HdTaskContext* ctx)
override;
76 HdxSelectionTaskParams _params;
77 HdBufferArrayRangeSharedPtr _selOffsetBar;
78 HdBufferArrayRangeSharedPtr _selUniformBar;
79 size_t _pointColorsBufferSize;
89 const HdxSelectionTaskParams& pv);
91bool operator==(
const HdxSelectionTaskParams& lhs,
92 const HdxSelectionTaskParams& rhs);
94bool operator!=(
const HdxSelectionTaskParams& lhs,
95 const HdxSelectionTaskParams& rhs);
98PXR_NAMESPACE_CLOSE_SCOPE
Basic type for a vector of 4 float components.
The Hydra render index is a flattened representation of the client scene graph, which may be composed...
Adapter class providing data exchange with the client scene graph.
HdTask represents a unit of work to perform during a Hydra render.
The SelectionTask is responsible for setting up render pass global buffers for selection and depositi...
HDX_API void Sync(HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits) override
Sync the render pass resources.
HDX_API void Prepare(HdTaskContext *ctx, HdRenderIndex *renderIndex) override
Prepare the tasks resources.
HDX_API void Execute(HdTaskContext *ctx) override
Execute render pass task.
A path value used to locate objects in layers or scenegraphs.
GF_API std::ostream & operator<<(std::ostream &, const GfBBox3d &)
Output a GfBBox3d using the format [(range) matrix zeroArea].