NVIDIA IndeX API nvidia_logo_transpbg.gif Up
iellipse.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright 2023 NVIDIA Corporation. All rights reserved.
3 *****************************************************************************/
6
7#ifndef NVIDIA_INDEX_IELLIPSE_SHAPES_H
8#define NVIDIA_INDEX_IELLIPSE_SHAPES_H
9
10#include <mi/base/interface_declare.h>
11#include <mi/dice.h>
12
13#include <nv/index/iattribute.h>
14#include <nv/index/ifont.h>
15#include <nv/index/ishape.h>
16
17namespace nv
18{
19namespace index
20{
21
33class IEllipse :
34 public mi::base::Interface_declare<0x570a1c6e,0xfab3,0x41f6,0x9d,0x0d,0xfe,0x47,0x68,0x60,0x8f,0xb0,
35 nv::index::IImage_space_shape>
36{
37public:
55 virtual void set_geometry(
56 const mi::math::Vector_struct<mi::Float32, 3>& center,
57 mi::Float32 radius_x,
58 mi::Float32 radius_y,
59 mi::Float32 rotation = 0.f) = 0;
60
78 virtual void get_geometry(
79 mi::math::Vector_struct<mi::Float32, 3>& center,
80 mi::Float32& radius_x,
81 mi::Float32& radius_y,
82 mi::Float32& rotation) const = 0;
83
91 virtual void set_outline_style(
92 const mi::math::Color_struct& line_color,
93 mi::Float32 line_width = 1.5f) = 0;
94
102 virtual void get_outline_style(
103 mi::math::Color_struct& line_color,
104 mi::Float32& line_width) const = 0;
105
108 //
110 {
113 };
114
115
123 virtual void set_fill_style(
124 const mi::math::Color_struct& fill_color,
125 Fill_style fill_style) = 0;
126
134 virtual void get_fill_style(
135 mi::math::Color_struct& fill_color,
136 Fill_style& fill_style) const = 0;
137};
138
139}} // namespace index / nv
140
141#endif // NVIDIA_INDEX_IELLIPSE_SHAPES_H
NVIDIA IndeX provides scene elements that enable annotating 3D scenes or implementing 3D user-interfa...
Definition: iellipse.h:36
virtual void set_geometry(const mi::math::Vector_struct< mi::Float32, 3 > &center, mi::Float32 radius_x, mi::Float32 radius_y, mi::Float32 rotation=0.f)=0
An ellipse is defined by its center and two radii plus a rotation in screen space.
virtual void set_outline_style(const mi::math::Color_struct &line_color, mi::Float32 line_width=1.5f)=0
An ellipse's outline can have a style defined by the line color and a line width.
virtual void get_fill_style(mi::math::Color_struct &fill_color, Fill_style &fill_style) const =0
The inner part of a ellipse can be filled using a fill color or may be empty.
virtual void get_geometry(mi::math::Vector_struct< mi::Float32, 3 > &center, mi::Float32 &radius_x, mi::Float32 &radius_y, mi::Float32 &rotation) const =0
An ellipse is defined by its center and two radii plus a rotation in screen space.
virtual void get_outline_style(mi::math::Color_struct &line_color, mi::Float32 &line_width) const =0
An ellipse's outline can have a style defined by the line color and a line width.
Fill_style
The inner part of an ellipse is defined to be empty or can be filled.
Definition: iellipse.h:110
@ FILL_SOLID
The ellipse will be filled using a solid color.
Definition: iellipse.h:112
@ FILL_EMPTY
No fill applied to the ellipse.
Definition: iellipse.h:111
virtual void set_fill_style(const mi::math::Color_struct &fill_color, Fill_style fill_style)=0
The inner part of a ellipse can be filled using a fill color or may be empty.
Base class representing attributes that can be defined in a scene description.
Base class representing the fonts in the scene description.
Base class declaring the functionality of higher-level shapes.
Common namespace for all NVIDIA APIs.
Definition: iindex.h:349