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;
88std::ostream& operator<<(std::ostream& out,
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 render index is part of the Hydra 1.0 API and is only used for emulation purposes so that HdScene...
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.