MDL SDK API nvidia_logo_transpbg.gif Up
iscene_element.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2024 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_ISCENE_ELEMENT_H
8#define MI_NEURAYLIB_ISCENE_ELEMENT_H
9
11
12namespace mi {
13
14namespace neuraylib {
15
30{
31#ifndef MI_SKIP_WITH_MDL_SDK_DOXYGEN
32 ELEMENT_TYPE_INSTANCE = 0,
33 ELEMENT_TYPE_GROUP = 1,
34 ELEMENT_TYPE_OPTIONS = 2,
35 ELEMENT_TYPE_CAMERA = 3,
36 ELEMENT_TYPE_LIGHT = 4,
37#endif // MI_SKIP_WITH_MDL_SDK_DOXYGEN
41#ifndef MI_SKIP_WITH_MDL_SDK_DOXYGEN
42 ELEMENT_TYPE_TRIANGLE_MESH = 10,
43 ELEMENT_TYPE_ATTRIBUTE_CONTAINER = 16,
44 ELEMENT_TYPE_POLYGON_MESH = 18,
45 ELEMENT_TYPE_SUBDIVISION_SURFACE = 23,
46 ELEMENT_TYPE_FREEFORM_SURFACE = 24,
47 ELEMENT_TYPE_FIBERS = 25,
48 ELEMENT_TYPE_VOLUME = 26,
49 ELEMENT_TYPE_VOLUME_DATA = 27,
50 ELEMENT_TYPE_PARTICLES = 28,
51#endif // MI_SKIP_WITH_MDL_SDK_DOXYGEN
58#ifndef MI_SKIP_WITH_MDL_SDK_DOXYGEN
59 ELEMENT_TYPE_IRRADIANCE_PROBES = 36,
60 ELEMENT_TYPE_DECAL = 37,
61 ELEMENT_TYPE_ON_DEMAND_MESH = 38,
62 ELEMENT_TYPE_PROJECTOR = 39,
63 ELEMENT_TYPE_SECTION_OBJECT = 40,
64 ELEMENT_TYPE_PROXY = 41,
65#endif // MI_SKIP_WITH_MDL_SDK_DOXYGEN
66 ELEMENT_TYPE_FORCE_32_BIT = 0xffffffffU
67};
68
69mi_static_assert( sizeof( Element_type)== sizeof( Uint32));
70
73 public base::Interface_declare<0x8a2a4da9,0xe323,0x452c,0xb8,0xda,0x92,0x45,0x67,0x85,0xd7,0x78,
74 neuraylib::IAttribute_set>
75{
76public:
78 virtual Element_type get_element_type() const = 0;
79};
80 // end group mi_neuray_scene_element
82
83} // namespace neuraylib
84
85} // namespace mi
86
87#endif // MI_NEURAYLIB_ISCENE_ELEMENT_H
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
Common base interface for all scene elements.
Definition: iscene_element.h:75
virtual Element_type get_element_type() const =0
Indicates the actual scene element represented by interfaces derived from this interface.
#define mi_static_assert(expr)
Compile time assertion that raises a compilation error if the constant expression expr evaluates to f...
Definition: assert.h:58
unsigned int Uint32
32-bit unsigned integer.
Definition: types.h:49
Element_type
Distinguishes scene elements.
Definition: iscene_element.h:30
@ ELEMENT_TYPE_FUNCTION_CALL
mi::neuraylib::IFunction_call
Definition: iscene_element.h:54
@ ELEMENT_TYPE_COMPILED_MATERIAL
mi::neuraylib::ICompiled_material
Definition: iscene_element.h:56
@ ELEMENT_TYPE_BSDF_MEASUREMENT
mi::neuraylib::IBsdf_measurement
Definition: iscene_element.h:57
@ ELEMENT_TYPE_TEXTURE
mi::neuraylib::ITexture
Definition: iscene_element.h:39
@ ELEMENT_TYPE_MODULE
mi::neuraylib::IModule
Definition: iscene_element.h:52
@ ELEMENT_TYPE_MATERIAL_INSTANCE
mi::neuraylib::IMaterial_instance
Definition: iscene_element.h:55
@ ELEMENT_TYPE_LIGHTPROFILE
mi::neuraylib::ILightprofile
Definition: iscene_element.h:38
@ ELEMENT_TYPE_IMAGE
mi::neuraylib::IImage
Definition: iscene_element.h:40
@ ELEMENT_TYPE_FUNCTION_DEFINITION
mi::neuraylib::IFunction_definition
Definition: iscene_element.h:53
Base class for database elements with attributes.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: example_derivatives.dox:5