NVIDIA Iray API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ivalue.h
Go to the documentation of this file.
1 //*****************************************************************************
2 // Copyright 1986, 2014 NVIDIA Corporation. All rights reserved.
3 //*****************************************************************************
6 //*****************************************************************************
7 
8 #ifndef MI_NEURAYLIB_IVALUE_H
9 #define MI_NEURAYLIB_IVALUE_H
10 
11 #include <mi/neuraylib/idata.h>
12 
13 namespace mi {
14 
19 class IValue :
24  public base::Interface_declare<0x07366a82,0x3d0c,0x46e9,0x88,0x0e,0xed,0x65,0xba,0xde,0xef,0x2b,
25  IData_simple>
26 {
27 public:
29  virtual void get_value( bool& val) const = 0;
30 
32  virtual void set_value( bool val) = 0;
33 
35  virtual void get_value( Uint8& val) const = 0;
36 
38  virtual void set_value( Uint8 val) = 0;
39 
41  virtual void get_value( Uint16& val) const = 0;
42 
44  virtual void set_value( Uint16 val) = 0;
45 
47  virtual void get_value( Uint32& val) const = 0;
48 
50  virtual void set_value( Uint32 val) = 0;
51 
53  virtual void get_value( Uint64& val) const = 0;
54 
56  virtual void set_value( Uint64 val) = 0;
57 
59  virtual void get_value( Sint8& val) const = 0;
60 
62  virtual void set_value( Sint8 val) = 0;
63 
65  virtual void get_value( Sint16& val) const = 0;
66 
68  virtual void set_value( Sint16 val) = 0;
69 
71  virtual void get_value( Sint32& val) const = 0;
72 
74  virtual void set_value( Sint32 val) = 0;
75 
77  virtual void get_value( Sint64& val) const = 0;
78 
80  virtual void set_value( Sint64 val) = 0;
81 
83  virtual void get_value( Float32& val) const = 0;
84 
86  virtual void set_value( Float32 val) = 0;
87 
89  virtual void get_value( Float64& val) const = 0;
90 
92  virtual void set_value( Float64 val) = 0;
93 
108  template<class T>
109  T get_value() const
110  {
111  T value;
112  get_value( value);
113  return value;
114  }
115 };
116 
120 class IBoolean :
121  public base::Interface_declare<0x121441c4,0xdf23,0x44f7,0xbb,0x34,0xd6,0xa8,0x24,0x66,0x6f,0x84,
122  IValue>
123 {
124 };
125 
131 class IUint8 :
132  public base::Interface_declare<0x1ac0f46d,0x0b99,0x4228,0x82,0x9c,0x7c,0xc7,0x3c,0xe2,0x99,0x4a,
133  IValue>
134 {
135 };
136 
142 class IUint16 :
143  public base::Interface_declare<0x30139db0,0x6539,0x48b3,0x8f,0xe0,0xf8,0x8b,0x74,0x10,0x9d,0x97,
144  IValue>
145 {
146 };
147 
153 class IUint32 :
154  public base::Interface_declare<0x4504ecf0,0x7cb3,0x4396,0xa6,0x78,0xea,0xbe,0xf5,0x48,0x84,0x58,
155  IValue>
156 {
157 };
158 
164 class IUint64 :
165  public base::Interface_declare<0x736a2345,0xd6d7,0x4681,0x80,0xd4,0xaf,0x74,0xf7,0x54,0x39,0x13,
166  IValue>
167 {
168 };
169 
175 class ISint8 :
176  public base::Interface_declare<0x800b88cc,0xe9ac,0x4c47,0x8c,0x5c,0x11,0x8c,0x89,0x79,0x07,0x56,
177  IValue>
178 {
179 };
180 
186 class ISint16 :
187  public base::Interface_declare<0x950c56be,0x37be,0x4be3,0x87,0xe9,0xf2,0x63,0xe4,0xa3,0xbf,0x02,
188  IValue>
189 {
190 };
191 
197 class ISint32 :
198  public base::Interface_declare<0x9a756f1c,0x3733,0x4230,0xa9,0x36,0x2e,0x5b,0x57,0xf3,0x4b,0x09,
199  IValue>
200 {
201 };
202 
208 class ISint64 :
209  public base::Interface_declare<0x9b84869f,0x3ac6,0x4a93,0x93,0x68,0x37,0x45,0x6c,0xd2,0xe3,0x34,
210  IValue>
211 {
212 };
213 
219 class IFloat32 :
220  public base::Interface_declare<0xd12231d8,0x9d61,0x4fa1,0xb6,0xca,0xdc,0x2a,0xb2,0x7e,0x54,0xbd,
221  IValue>
222 {
223 };
224 
230 class IFloat64 :
231  public base::Interface_declare<0xd3a0571b,0x2b7b,0x4c20,0xbf,0xbe,0xbb,0xe0,0xe7,0xa6,0x05,0x08,
232  IValue>
233 {
234 };
235 
241 class ISize :
242  public base::Interface_declare<0xf86edd31,0x01fa,0x4b66,0x8f,0xe2,0x8b,0xc4,0xf6,0x1b,0x16,0xce,
243  IValue>
244 {
245 };
246 
252 class IDifference :
253  public base::Interface_declare<0xfbff3d24,0x06a1,0x4031,0x85,0xd9,0x83,0x94,0xc0,0x6b,0x4d,0xae,
254  IValue>
255 {
256 };
257  // end group mi_neuray_simple_types
259 
260 } // namespace mi
261 
262 #endif // MI_NEURAYLIB_IVALUE_H