Material Definition Language API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ienum.h
Go to the documentation of this file.
1 /***************************************************************************************************
2  * Copyright 2020 NVIDIA Corporation. All rights reserved.
3  **************************************************************************************************/
6 
7 #ifndef MI_NEURAYLIB_IENUM_H
8 #define MI_NEURAYLIB_IENUM_H
9 
10 #include <mi/neuraylib/idata.h>
11 
12 namespace mi {
13 
14 class IEnum_decl;
15 
20 class IEnum :
37  public base::Interface_declare<0x4e10d0e4,0x456b,0x45a5,0xa6,0xa7,0xdf,0x0a,0xa1,0x9a,0x0c,0xd2,
38  IData_simple>
39 {
40 public:
44  virtual void get_value( Sint32& value) const = 0;
45 
49  Sint32 get_value() const { Sint32 value; get_value( value); return value; }
50 
54  virtual const char* get_value_by_name() const = 0;
55 
66  virtual Sint32 set_value( Sint32 value) = 0;
67 
76  virtual Sint32 set_value_by_name( const char* name) = 0;
77 
79  virtual const IEnum_decl* get_enum_decl() const = 0;
80 };
81  // end group mi_neuray_simple_types
83 
84 } // namespace mi
85 
86 #endif // MI_NEURAYLIB_IENUM_H