NVIDIA IndeX API nvidia_logo_transpbg.gif Up
iindex_scene_query.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright 2023 NVIDIA Corporation. All rights reserved.
3 *****************************************************************************/
6
7#ifndef NVIDIA_INDEX_IINDEX_SCENE_QUERY_H
8#define NVIDIA_INDEX_IINDEX_SCENE_QUERY_H
9
11
12namespace nv
13{
14namespace index
15{
16
17class IIndex_canvas;
18class IViewport_list;
19
28 public mi::base::Interface_declare<0xd71c4a09,0xd2ac,0x428e,0xbf,0x6e,0x01,0x5f,0x9f,0xe3,0xfa,0x35>
29{
30public:
44 const mi::math::Vector_struct<mi::Uint32, 2>& pixel_location,
45 const nv::index::IIndex_canvas* pick_canvas,
46 mi::neuraylib::Tag_struct session_tag,
47 mi::neuraylib::IDice_transaction* dice_transaction) const = 0;
48
64 const mi::math::Vector_struct<mi::Sint32, 2>& pixel_location,
65 const nv::index::IIndex_canvas* pick_canvas,
66 IViewport_list* viewport_list,
67 mi::neuraylib::Tag_struct session_tag) const = 0;
68
82 const mi::math::Vector_struct<mi::Uint32, 2>& pixel_location,
83 const nv::index::IIndex_canvas* pick_canvas,
84 mi::neuraylib::Tag_struct session_tag,
85 mi::neuraylib::Tag_struct query_scene_element_tag,
86 mi::neuraylib::IDice_transaction* dice_transaction) const = 0;
87
103 mi::Uint64 entry_index,
104 mi::neuraylib::Tag_struct scene_element_tag,
105 mi::neuraylib::Tag_struct session_tag,
106 mi::neuraylib::IDice_transaction* dice_transaction) const = 0;
107};
108
109} // namespace index
110} // namespace nv
111
112#endif // NVIDIA_INDEX_IINDEX_SCENE_QUERY_H
Enables rendering to a user-defined canvas.
Definition: iindex_canvas.h:32
Interface class that enables application writers to query the scene's contents.
Definition: iindex_scene_query.h:29
virtual IScene_pick_results * pick(const mi::math::Vector_struct< mi::Uint32, 2 > &pixel_location, const nv::index::IIndex_canvas *pick_canvas, mi::neuraylib::Tag_struct session_tag, mi::neuraylib::Tag_struct query_scene_element_tag, mi::neuraylib::IDice_transaction *dice_transaction) const =0
Returns all intersections of a ray cast from the center of the camera through the pixel with the give...
virtual IScene_pick_results * pick(const mi::math::Vector_struct< mi::Uint32, 2 > &pixel_location, const nv::index::IIndex_canvas *pick_canvas, mi::neuraylib::Tag_struct session_tag, mi::neuraylib::IDice_transaction *dice_transaction) const =0
Returns all picked scene elements at a certain pixel location and their intersection with the ray cas...
virtual IScene_pick_results_list * pick(const mi::math::Vector_struct< mi::Sint32, 2 > &pixel_location, const nv::index::IIndex_canvas *pick_canvas, IViewport_list *viewport_list, mi::neuraylib::Tag_struct session_tag) const =0
Returns a list of all picked scene elements at a certain pixel location and their intersection with t...
virtual IScene_lookup_result * entry_lookup(mi::Uint64 entry_index, mi::neuraylib::Tag_struct scene_element_tag, mi::neuraylib::Tag_struct session_tag, mi::neuraylib::IDice_transaction *dice_transaction) const =0
Enables querying single entries of a scene dataset.
Interface class that returns the result of a entry lookup operation.
Definition: iscene_query_results.h:259
Defines a list of pick results.
Definition: iscene_query_results.h:232
Interface class that returns all results of a pick operation in front-to-back order.
Definition: iscene_query_results.h:199
Defines a list of viewports that will be rendered onto a canvas.
Definition: iviewport.h:134
Results exposed by the NVIDIA IndeX library when querying a scene's contents.
Common namespace for all NVIDIA APIs.
Definition: iindex.h:349