NVIDIA IndeX API nvidia_logo_transpbg.gif Up
ipoint_set.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright 2023 NVIDIA Corporation. All rights reserved.
3 *****************************************************************************/
6
7#ifndef NVIDIA_INDEX_IPOINT_SET_H
8#define NVIDIA_INDEX_IPOINT_SET_H
9
10#include <mi/base/interface_declare.h>
11#include <mi/dice.h>
12
13#include <nv/index/ishape.h>
14
15namespace nv
16{
17namespace index
18{
30 public mi::base::Interface_declare<0x7dfbeee1,0x4fda,0x4b8f,0xb8,0xce,0x4e,0xa1,0x92,0xa1,0xb6,0xb1,
31 nv::index::IImage_space_shape>
32{
33public:
38 {
40 SHADED_CIRCLE = 1,
46 };
47
52 virtual mi::Size get_nb_vertices() const = 0;
53
58 virtual const mi::math::Vector_struct<mi::Float32, 3>* get_vertices() const = 0;
59
65 virtual void set_vertices(
66 mi::math::Vector_struct<mi::Float32, 3>* vertices,
67 mi::Size nb_vertices) = 0;
68
73 virtual mi::Size get_nb_colors() const = 0;
74
79 virtual const mi::math::Color_struct* get_colors() const = 0;
80
88 virtual void set_colors(
89 mi::math::Color_struct* colors,
90 mi::Size nb_colors) = 0;
91
96 virtual mi::Size get_nb_radii() const = 0;
97
102 virtual const mi::Float32* get_radii() const = 0;
103
109 virtual void set_radii(
110 mi::Float32* radii,
111 mi::Size nb_radii) = 0;
112
117 virtual Point_style get_point_style() const = 0;
118
123 virtual void set_point_style(Point_style point_style) = 0;
124};
125
126}} // namespace index / nv
127
128#endif // NVIDIA_INDEX_IPOINT_SET_H
Interface class for a point set, which is a scene element and can be added the scene description.
Definition: ipoint_set.h:32
virtual const mi::math::Color_struct * get_colors() const =0
Get the pointer to the array of per-vertex color values.
virtual void set_point_style(Point_style point_style)=0
Set the point style.
virtual mi::Size get_nb_vertices() const =0
Get number of 3D points or vertices.
virtual void set_colors(mi::math::Color_struct *colors, mi::Size nb_colors)=0
Set the pointer to the array of per-vertex color values.
virtual mi::Size get_nb_colors() const =0
Get number of color values.
Point_style
The point style defines the appearance of a point when rendered using the rasterizer.
Definition: ipoint_set.h:38
@ SHADED_FLAT_CIRCLE
A 3D sphere like appearance centered at the origin including shading in accordance to light sources.
Definition: ipoint_set.h:44
@ FLAT_SQUARE
A flat monochrome square centered at the origin and facing the camera.
Definition: ipoint_set.h:42
@ FLAT_TRIANGLE
A flat monochrome triangle centered at the origin and facing the camera.
Definition: ipoint_set.h:43
@ SHADED_CIRCLE
A 3D sphere like appearance centered at the origin including depth in accordance to the radius and th...
Definition: ipoint_set.h:40
@ FLAT_CIRCLE
A flat monochrome disc centered at the point's origin and facing the camera.
Definition: ipoint_set.h:39
virtual const mi::Float32 * get_radii() const =0
Get the pointer to the array of per-vertex radii.
virtual mi::Size get_nb_radii() const =0
Get number of radii.
virtual const mi::math::Vector_struct< mi::Float32, 3 > * get_vertices() const =0
Get the pointer to the array of vertices (points).
virtual void set_radii(mi::Float32 *radii, mi::Size nb_radii)=0
Set the pointer to the array of per-vertex radii.
virtual void set_vertices(mi::math::Vector_struct< mi::Float32, 3 > *vertices, mi::Size nb_vertices)=0
Set the pointer to the array of vertices (points).
virtual Point_style get_point_style() const =0
Get the point style.
Base class declaring the functionality of higher-level shapes.
Common namespace for all NVIDIA APIs.
Definition: iindex.h:349