Material Definition Language API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
iscene_element.h
Go to the documentation of this file.
1 /***************************************************************************************************
2  * Copyright 2019 NVIDIA Corporation. All rights reserved.
3  **************************************************************************************************/
6 
7 #ifndef MI_NEURAYLIB_ISCENE_ELEMENT_H
8 #define MI_NEURAYLIB_ISCENE_ELEMENT_H
9 
11 #include <mi/neuraylib/version.h>
12 
13 namespace mi {
14 
15 namespace neuraylib {
16 
27 enum Element_type
31 {
32 #ifndef MI_SKIP_WITH_MDL_SDK_DOXYGEN
33  ELEMENT_TYPE_INSTANCE = 0,
34  ELEMENT_TYPE_GROUP = 1,
35  ELEMENT_TYPE_OPTIONS = 2,
36  ELEMENT_TYPE_CAMERA = 3,
37  ELEMENT_TYPE_LIGHT = 4,
38 #endif // MI_SKIP_WITH_MDL_SDK_DOXYGEN
42 #ifndef MI_SKIP_WITH_MDL_SDK_DOXYGEN
43  ELEMENT_TYPE_TRIANGLE_MESH = 10,
44  ELEMENT_TYPE_ATTRIBUTE_CONTAINER = 16,
45  ELEMENT_TYPE_POLYGON_MESH = 18,
46  ELEMENT_TYPE_SUBDIVISION_SURFACE = 23,
47  ELEMENT_TYPE_FREEFORM_SURFACE = 24,
48 #endif // MI_SKIP_WITH_MDL_SDK_DOXYGEN
56 #ifndef MI_SKIP_WITH_MDL_SDK_DOXYGEN
57  ELEMENT_TYPE_IRRADIANCE_PROBES = 36,
58  ELEMENT_TYPE_DECAL = 37,
59  ELEMENT_TYPE_ON_DEMAND_MESH = 38,
60  ELEMENT_TYPE_PROJECTOR = 39,
61  ELEMENT_TYPE_SECTION_OBJECT = 40,
62  ELEMENT_TYPE_PROXY = 41,
63 #endif // MI_SKIP_WITH_MDL_SDK_DOXYGEN
64  ELEMENT_TYPE_FORCE_32_BIT = 0xffffffffU
65 };
66 
67 mi_static_assert( sizeof( Element_type)== sizeof( Uint32));
68 
71  public base::Interface_declare<0x8a2a4da9,0xe323,0x452c,0xb8,0xda,0x92,0x45,0x67,0x85,0xd7,0x78,
72  neuraylib::IAttribute_set>
73 {
74 public:
76  virtual Element_type get_element_type() const = 0;
77 };
78  // end group mi_neuray_scene_element
80 
81 } // namespace neuraylib
82 
83 } // namespace mi
84 
85 #endif // MI_NEURAYLIB_ISCENE_ELEMENT_H