MDL SDK API nvidia_logo_transpbg.gif Up
ivector.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2024 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_IVECTOR_H
8#define MI_NEURAYLIB_IVECTOR_H
9
10#include <mi/math/vector.h>
13
14namespace mi {
15
23class IBoolean_2 : public
24 base::Interface_declare<0x237695a3,0x8e73,0x4d6b,0x83,0xd5,0xd0,0xfe,0x46,0x04,0x35,0x8b,
25 ICompound>
26{
27public:
29 virtual Boolean_2_struct get_value() const = 0;
30
32 virtual void get_value( Boolean_2_struct& value) const = 0;
33
35 virtual void set_value( const Boolean_2_struct& value) = 0;
36
38
40};
41
45class IBoolean_3 : public
46 base::Interface_declare<0x255bdb3b,0xa22d,0x4079,0xb2,0xcc,0xb3,0x4d,0x4d,0xe1,0xeb,0x0c,
47 ICompound>
48{
49public:
51 virtual Boolean_3_struct get_value() const = 0;
52
54 virtual void get_value( Boolean_3_struct& value) const = 0;
55
57 virtual void set_value( const Boolean_3_struct& value) = 0;
58
60
62};
63
67class IBoolean_4 : public
68 base::Interface_declare<0x2ae980c6,0xab7c,0x4d76,0x9d,0xdf,0xa2,0xc8,0x0e,0x01,0xa5,0xf9,
69 ICompound>
70{
71public:
73 virtual Boolean_4_struct get_value() const = 0;
74
76 virtual void get_value( Boolean_4_struct& value) const = 0;
77
79 virtual void set_value( const Boolean_4_struct& value) = 0;
80
82
84};
85
86
90class ISint32_2 : public
91 base::Interface_declare<0x2c32de8d,0xa2dd,0x4236,0x80,0xef,0x95,0xea,0xee,0xc5,0xa8,0x4a,
92 ICompound>
93{
94public:
96 virtual Sint32_2_struct get_value() const = 0;
97
99 virtual void get_value( Sint32_2_struct& value) const = 0;
100
102 virtual void set_value( const Sint32_2_struct& value) = 0;
103
105
107};
108
112class ISint32_3 : public
113 base::Interface_declare<0x3c778aa4,0x0641,0x4bea,0xb2,0x82,0xe4,0xae,0x8f,0xc0,0x98,0x16,
114 ICompound>
115{
116public:
118 virtual Sint32_3_struct get_value() const = 0;
119
121 virtual void get_value( Sint32_3_struct& value) const = 0;
122
124 virtual void set_value( const Sint32_3_struct& value) = 0;
125
127
129};
130
134class ISint32_4 : public
135 base::Interface_declare<0x3e7dace9,0x0295,0x42db,0x82,0x17,0x95,0x62,0x24,0x6d,0x09,0xf9,
136 ICompound>
137{
138public:
140 virtual Sint32_4_struct get_value() const = 0;
141
143 virtual void get_value( Sint32_4_struct& value) const = 0;
144
146 virtual void set_value( const Sint32_4_struct& value) = 0;
147
149
151};
152
153
157class IUint32_2 : public
158 base::Interface_declare<0x3ee8938e,0x690f,0x4932,0x8a,0xad,0x54,0x41,0x46,0xc2,0x10,0x5c,
159 ICompound>
160{
161public:
163 virtual Uint32_2_struct get_value() const = 0;
164
166 virtual void get_value( Uint32_2_struct& value) const = 0;
167
169 virtual void set_value( const Uint32_2_struct& value) = 0;
170
172
174};
175
179class IUint32_3 : public
180 base::Interface_declare<0x3f559cde,0xd898,0x493a,0x92,0x5d,0x52,0x9e,0xfa,0x1f,0xf7,0xa9,
181 ICompound>
182{
183public:
185 virtual Uint32_3_struct get_value() const = 0;
186
188 virtual void get_value( Uint32_3_struct& value) const = 0;
189
191 virtual void set_value( const Uint32_3_struct& value) = 0;
192
194
196};
197
201class IUint32_4 : public
202 base::Interface_declare<0x44ba66a0,0x38ec,0x4512,0x90,0x85,0x6a,0x1f,0xdb,0xdc,0x81,0x2b,
203 ICompound>
204{
205public:
207 virtual Uint32_4_struct get_value() const = 0;
208
210 virtual void get_value( Uint32_4_struct& value) const = 0;
211
213 virtual void set_value( const Uint32_4_struct& value) = 0;
214
216
218};
219
220
224class IFloat32_2 : public
225 base::Interface_declare<0x452bc5ae,0x1acf,0x4e0b,0x99,0x6e,0x93,0xc6,0x4f,0xab,0xc1,0x5e,
226 ICompound>
227{
228public:
230 virtual Float32_2_struct get_value() const = 0;
231
233 virtual void get_value( Float32_2_struct& value) const = 0;
234
236 virtual void set_value( const Float32_2_struct& value) = 0;
237
239
241};
242
246class IFloat32_3 : public
247 base::Interface_declare<0x4bebd304,0x311a,0x402b,0x99,0xae,0x6d,0x51,0x42,0x2c,0x98,0xc4,
248 ICompound>
249{
250public:
252 virtual Float32_3_struct get_value() const = 0;
253
255 virtual void get_value( Float32_3_struct& value) const = 0;
256
258 virtual void set_value( const Float32_3_struct& value) = 0;
259
261
263};
264
268class IFloat32_4 : public
269 base::Interface_declare<0x525d7b84,0x384d,0x4a60,0x9a,0xf9,0x9a,0xa7,0x33,0xac,0xb1,0xdb,
270 ICompound>
271{
272public:
274 virtual Float32_4_struct get_value() const = 0;
275
277 virtual void get_value( Float32_4_struct& value) const = 0;
278
280 virtual void set_value( const Float32_4_struct& value) = 0;
281
283
285};
286
287
291class IFloat64_2 : public
292 base::Interface_declare<0x53d8e9cc,0x7156,0x4805,0x8c,0xad,0x88,0x22,0xcc,0x42,0x17,0xce,
293 ICompound>
294{
295public:
297 virtual Float64_2_struct get_value() const = 0;
298
300 virtual void get_value( Float64_2_struct& value) const = 0;
301
303 virtual void set_value( const Float64_2_struct& value) = 0;
304
306
308};
309
313class IFloat64_3 : public
314 base::Interface_declare<0x5acf22f8,0x5834,0x4608,0x92,0xc9,0x91,0x4e,0x6b,0x41,0xf0,0x06,
315 ICompound>
316{
317public:
319 virtual Float64_3_struct get_value() const = 0;
320
322 virtual void get_value( Float64_3_struct& value) const = 0;
323
325 virtual void set_value( const Float64_3_struct& value) = 0;
326
328
330};
331
335class IFloat64_4 : public
336 base::Interface_declare<0x5bd710b6,0xdd62,0x4915,0x9c,0x31,0x28,0x0c,0x93,0x46,0x0d,0x0b,
337 ICompound>
338{
339public:
341 virtual Float64_4_struct get_value() const = 0;
342
344 virtual void get_value( Float64_4_struct& value) const = 0;
345
347 virtual void set_value( const Float64_4_struct& value) = 0;
348
350
352};
353 // end group mi_neuray_compounds
355
356} // namespace mi
357
358#endif // MI_NEURAYLIB_IVECTOR_H
This interface represents a vector of two bool.
Definition: ivector.h:26
virtual void set_value(const Boolean_2_struct &value)=0
Sets the vector represented by this interface.
virtual Boolean_2_struct get_value() const =0
Returns the vector represented by this interface.
virtual void get_value(Boolean_2_struct &value) const =0
Returns the vector represented by this interface.
This interface represents a vector of three bool.
Definition: ivector.h:48
virtual void set_value(const Boolean_3_struct &value)=0
Sets the vector represented by this interface.
virtual Boolean_3_struct get_value() const =0
Returns the vector represented by this interface.
virtual void get_value(Boolean_3_struct &value) const =0
Returns the vector represented by this interface.
This interface represents a vector of four bool.
Definition: ivector.h:70
virtual Boolean_4_struct get_value() const =0
Returns the vector represented by this interface.
virtual void set_value(const Boolean_4_struct &value)=0
Sets the vector represented by this interface.
virtual void get_value(Boolean_4_struct &value) const =0
Returns the vector represented by this interface.
virtual bool get_value(Size row, Size column, bool &value) const =0
Accesses the (row, column)-th element.
virtual bool set_value(Size row, Size column, bool value)=0
Sets the (row, column)-th element to value.
This interface represents a vector of two Float32.
Definition: ivector.h:227
virtual Float32_2_struct get_value() const =0
Returns the vector represented by this interface.
virtual void get_value(Float32_2_struct &value) const =0
Returns the vector represented by this interface.
virtual void set_value(const Float32_2_struct &value)=0
Sets the vector represented by this interface.
This interface represents a vector of three Float32.
Definition: ivector.h:249
virtual void get_value(Float32_3_struct &value) const =0
Returns the vector represented by this interface.
virtual void set_value(const Float32_3_struct &value)=0
Sets the vector represented by this interface.
virtual Float32_3_struct get_value() const =0
Returns the vector represented by this interface.
This interface represents a vector of four Float32.
Definition: ivector.h:271
virtual void get_value(Float32_4_struct &value) const =0
Returns the vector represented by this interface.
virtual void set_value(const Float32_4_struct &value)=0
Sets the vector represented by this interface.
virtual Float32_4_struct get_value() const =0
Returns the vector represented by this interface.
This interface represents a vector of two Float64.
Definition: ivector.h:294
virtual void get_value(Float64_2_struct &value) const =0
Returns the vector represented by this interface.
virtual Float64_2_struct get_value() const =0
Returns the vector represented by this interface.
virtual void set_value(const Float64_2_struct &value)=0
Sets the vector represented by this interface.
This interface represents a vector of three Float64.
Definition: ivector.h:316
virtual void set_value(const Float64_3_struct &value)=0
Sets the vector represented by this interface.
virtual Float64_3_struct get_value() const =0
Returns the vector represented by this interface.
virtual void get_value(Float64_3_struct &value) const =0
Returns the vector represented by this interface.
This interface represents a vector of four Float64.
Definition: ivector.h:338
virtual Float64_4_struct get_value() const =0
Returns the vector represented by this interface.
virtual void set_value(const Float64_4_struct &value)=0
Sets the vector represented by this interface.
virtual void get_value(Float64_4_struct &value) const =0
Returns the vector represented by this interface.
This interface represents a vector of two Sint32.
Definition: ivector.h:93
virtual void get_value(Sint32_2_struct &value) const =0
Returns the vector represented by this interface.
virtual void set_value(const Sint32_2_struct &value)=0
Sets the vector represented by this interface.
virtual Sint32_2_struct get_value() const =0
Returns the vector represented by this interface.
This interface represents a vector of three Sint32.
Definition: ivector.h:115
virtual void get_value(Sint32_3_struct &value) const =0
Returns the vector represented by this interface.
virtual Sint32_3_struct get_value() const =0
Returns the vector represented by this interface.
virtual void set_value(const Sint32_3_struct &value)=0
Sets the vector represented by this interface.
This interface represents a vector of four Sint32.
Definition: ivector.h:137
virtual void set_value(const Sint32_4_struct &value)=0
Sets the vector represented by this interface.
virtual void get_value(Sint32_4_struct &value) const =0
Returns the vector represented by this interface.
virtual Sint32_4_struct get_value() const =0
Returns the vector represented by this interface.
This interface represents a vector of two Uint32.
Definition: ivector.h:160
virtual Uint32_2_struct get_value() const =0
Returns the vector represented by this interface.
virtual void set_value(const Uint32_2_struct &value)=0
Sets the vector represented by this interface.
virtual void get_value(Uint32_2_struct &value) const =0
Returns the vector represented by this interface.
This interface represents a vector of three Uint32.
Definition: ivector.h:182
virtual void get_value(Uint32_3_struct &value) const =0
Returns the vector represented by this interface.
virtual void set_value(const Uint32_3_struct &value)=0
Sets the vector represented by this interface.
virtual Uint32_3_struct get_value() const =0
Returns the vector represented by this interface.
This interface represents a vector of four Uint32.
Definition: ivector.h:204
virtual void get_value(Uint32_4_struct &value) const =0
Returns the vector represented by this interface.
virtual void set_value(const Uint32_4_struct &value)=0
Sets the vector represented by this interface.
virtual Uint32_4_struct get_value() const =0
Returns the vector represented by this interface.
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
Compounds type, i.e., vectors, matrices, colors, spectrums, and bounding boxes.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: example_derivatives.dox:5
Generic storage class template for math vector representations storing DIM elements of type T.
Definition: vector.h:135
Typedefs for types from the math API.
Math vector class template of fixed dimension with arithmetic operators and generic functions.