Iray 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
37#endif // MI_SKIP_WITH_MDL_SDK_DOXYGEN
41#ifndef MI_SKIP_WITH_MDL_SDK_DOXYGEN
51#endif // MI_SKIP_WITH_MDL_SDK_DOXYGEN
58#ifndef MI_SKIP_WITH_MDL_SDK_DOXYGEN
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:65
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_TRIANGLE_MESH
mi::neuraylib::ITriangle_mesh
Definition: iscene_element.h:42
@ ELEMENT_TYPE_CAMERA
mi::neuraylib::ICamera
Definition: iscene_element.h:35
@ ELEMENT_TYPE_PROJECTOR
mi::neuraylib::IProjector
Definition: iscene_element.h:62
@ ELEMENT_TYPE_OPTIONS
mi::neuraylib::IOptions
Definition: iscene_element.h:34
@ ELEMENT_TYPE_IRRADIANCE_PROBES
mi::neuraylib::IIrradiance_probes
Definition: iscene_element.h:59
@ ELEMENT_TYPE_PARTICLES
mi::neuraylib::IParticles
Definition: iscene_element.h:50
@ 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_DECAL
mi::neuraylib::IDecal
Definition: iscene_element.h:60
@ ELEMENT_TYPE_GROUP
mi::neuraylib::IGroup
Definition: iscene_element.h:33
@ ELEMENT_TYPE_TEXTURE
mi::neuraylib::ITexture
Definition: iscene_element.h:39
@ ELEMENT_TYPE_INSTANCE
mi::neuraylib::IInstance
Definition: iscene_element.h:32
@ ELEMENT_TYPE_ATTRIBUTE_CONTAINER
mi::neuraylib::IAttribute_container
Definition: iscene_element.h:43
@ ELEMENT_TYPE_MODULE
mi::neuraylib::IModule
Definition: iscene_element.h:52
@ ELEMENT_TYPE_LIGHT
mi::neuraylib::ILight
Definition: iscene_element.h:36
@ ELEMENT_TYPE_MATERIAL_INSTANCE
mi::neuraylib::IMaterial_instance
Definition: iscene_element.h:55
@ ELEMENT_TYPE_ON_DEMAND_MESH
mi::neuraylib::IOn_demand_mesh
Definition: iscene_element.h:61
@ ELEMENT_TYPE_LIGHTPROFILE
mi::neuraylib::ILightprofile
Definition: iscene_element.h:38
@ ELEMENT_TYPE_VOLUME
mi::neuraylib::IVolume
Definition: iscene_element.h:48
@ ELEMENT_TYPE_SECTION_OBJECT
mi::neuraylib::ISection_object
Definition: iscene_element.h:63
@ ELEMENT_TYPE_SUBDIVISION_SURFACE
mi::neuraylib::ISubdivision_surface
Definition: iscene_element.h:45
@ ELEMENT_TYPE_IMAGE
mi::neuraylib::IImage
Definition: iscene_element.h:40
@ ELEMENT_TYPE_FUNCTION_DEFINITION
mi::neuraylib::IFunction_definition
Definition: iscene_element.h:53
@ ELEMENT_TYPE_POLYGON_MESH
mi::neuraylib::IPolygon_mesh
Definition: iscene_element.h:44
@ ELEMENT_TYPE_VOLUME_DATA
mi::neuraylib::IVolume_data
Definition: iscene_element.h:49
@ ELEMENT_TYPE_PROXY
mi::neuraylib::IProxy
Definition: iscene_element.h:64
@ ELEMENT_TYPE_FIBERS
mi::neuraylib::IFibers
Definition: iscene_element.h:47
@ ELEMENT_TYPE_FREEFORM_SURFACE
mi::neuraylib::IFreeform_surface
Definition: iscene_element.h:46
Base class for database elements with attributes.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: neuraylib.h:179