All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HdxPickTask Class Reference

A task for running picking queries against the current scene. More...

Inherits HdTask.

Public Member Functions

HDX_API HdxPickTask (HdSceneDelegate *delegate, SdfPath const &id)
 
HDX_API void Sync (HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits) override
 Sync the render pass resources. More...
 
HDX_API void Prepare (HdTaskContext *ctx, HdRenderIndex *renderIndex) override
 Prepare the pick task. More...
 
HDX_API void Execute (HdTaskContext *ctx) override
 Execute the pick task. More...
 
HDX_API const TfTokenVectorGetRenderTags () const override
 
- Public Member Functions inherited from HdTask
HD_API HdTask (SdfPath const &id)
 Construct a new task. More...
 
virtual void Sync (HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits)=0
 Sync Phase: Obtain task state from Scene delegate based on change processing. More...
 
virtual void Prepare (HdTaskContext *ctx, HdRenderIndex *renderIndex)=0
 Prepare Phase: Resolve bindings and manage resources. More...
 
virtual void Execute (HdTaskContext *ctx)=0
 Execute Phase: Runs the task. More...
 
virtual HD_API const
TfTokenVector
GetRenderTags () const
 Render Tag Gather. More...
 
SdfPath const & GetId () const
 
virtual HD_API HdDirtyBits GetInitialDirtyBitsMask () const
 Returns the minimal set of dirty bits to place in the change tracker for use in the first sync of this prim. More...
 

Static Public Member Functions

static int DecodeIDRenderColor (unsigned char const idColor[4])
 Utility: Given a UNorm8Vec4 pixel, unpack it into an int32 ID. More...
 

Additional Inherited Members

- Protected Member Functions inherited from HdTask
template<class T >
bool _GetTaskParams (HdSceneDelegate *delegate, T *outValue)
 Extracts a typed value out of the task context at the given id. More...
 
HD_API TfTokenVector _GetTaskRenderTags (HdSceneDelegate *delegate)
 
- Static Protected Member Functions inherited from HdTask
static HD_API bool _HasTaskContextData (HdTaskContext const *ctx, TfToken const &id)
 Check if the shared context contains a value for the given id. More...
 
template<class T >
static bool _GetTaskContextData (HdTaskContext const *ctx, TfToken const &id, T *outValue)
 Extracts a typed value out of the task context at the given id. More...
 
template<class T >
static T _GetDriver (HdTaskContext const *ctx, TfToken const &driverName)
 Extract an object from a HdDriver inside the task context. More...
 

Detailed Description

A task for running picking queries against the current scene.

This task generates an id buffer for a "pick frustum" (normally the camera frustum with the near plane narrowed to an (x,y) location and a pick radius); then it resolves that id buffer into a series of prim paths. The "Hit" output also contains subprim picking results (e.g. picked face, edge, point, instance) and the intersection point in scene worldspace.

HdxPickTask takes an HdxPickTaskParams through the scene delegate, and HdxPickTaskContextParams through the task context as "pickParams". It produces a hit vector, in the task context as "pickHits".

Definition at line 179 of file pickTask.h.

Member Function Documentation

static int DecodeIDRenderColor ( unsigned char const  idColor[4])
inlinestatic

Utility: Given a UNorm8Vec4 pixel, unpack it into an int32 ID.

Definition at line 207 of file pickTask.h.

HDX_API void Execute ( HdTaskContext *  ctx)
override

Execute the pick task.

HDX_API void Prepare ( HdTaskContext *  ctx,
HdRenderIndex renderIndex 
)
override

Prepare the pick task.

HDX_API void Sync ( HdSceneDelegate delegate,
HdTaskContext *  ctx,
HdDirtyBits *  dirtyBits 
)
override

Sync the render pass resources.


The documentation for this class was generated from the following file: