Material Definition Language API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
istructure_decl.h
Go to the documentation of this file.
1 /***************************************************************************************************
2  * Copyright 2020 NVIDIA Corporation. All rights reserved.
3  **************************************************************************************************/
6 
7 #ifndef MI_NEURAYLIB_ISTRUCTURE_DECL_H
8 #define MI_NEURAYLIB_ISTRUCTURE_DECL_H
9 
10 #include <mi/neuraylib/idata.h>
11 
12 namespace mi {
13 
18 class IStructure_decl :
33  public base::Interface_declare<0xcd206d33,0x0906,0x4e70,0x82,0x42,0x6a,0x90,0x8a,0xf5,0x82,0x43>
34 {
35 public:
47  virtual Sint32 add_member( const char* type_name, const char* name) = 0;
48 
56  virtual Sint32 remove_member( const char* name) = 0;
57 
59  virtual Size get_length() const = 0;
60 
66  virtual const char* get_member_type_name( Size index) const = 0;
67 
73  virtual const char* get_member_type_name( const char* name) const = 0;
74 
80  virtual const char* get_member_name( Size index) const = 0;
81 
96  virtual const char* get_structure_type_name() const = 0;
97 };
98  // end group mi_neuray_types
100 
101 } // namespace mi
102 
103 #endif // MI_NEURAYLIB_ISTRUCTURE_DECL_H