MDL SDK API nvidia_logo_transpbg.gif Up
ienum.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2024 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
12namespace mi {
13
14class IEnum_decl;
15
36class IEnum :
37 public base::Interface_declare<0x4e10d0e4,0x456b,0x45a5,0xa6,0xa7,0xdf,0x0a,0xa1,0x9a,0x0c,0xd2,
38 IData_simple>
39{
40public:
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
An enum declaration is used to describe enum types.
Definition: ienum_decl.h:36
This interface represents enums.
Definition: ienum.h:39
virtual const IEnum_decl * get_enum_decl() const =0
Returns the enum declaration for this enum.
virtual void get_value(Sint32 &value) const =0
Returns the value of the enum as value of the corresponding enumerator.
Sint32 get_value() const
Returns the value of the enum as value of the corresponding enumerator.
Definition: ienum.h:49
virtual Sint32 set_value_by_name(const char *name)=0
Sets the enum via the name of an enumerator.
virtual Sint32 set_value(Sint32 value)=0
Sets the enum via the value of an enumerator.
virtual const char * get_value_by_name() const =0
Returns the value of the enum as name of the enumerator.
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
signed int Sint32
32-bit signed integer.
Definition: types.h:46
Types.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: example_derivatives.dox:5