iscene_element.h File Reference
Description
Base class for all scene elements.
Code Example
iscene_element.h
/***************************************************************************************************
* Copyright 2024 NVIDIA Corporation. All rights reserved.
**************************************************************************************************/
#ifndef MI_NEURAYLIB_ISCENE_ELEMENT_H
#define MI_NEURAYLIB_ISCENE_ELEMENT_H
#include <mi/neuraylib/iattribute_set.h>
namespace mi {
namespace neuraylib {
enum Element_type
{
#ifndef MI_SKIP_WITH_MDL_SDK_DOXYGEN
ELEMENT_TYPE_INSTANCE = 0,
ELEMENT_TYPE_GROUP = 1,
ELEMENT_TYPE_OPTIONS = 2,
ELEMENT_TYPE_CAMERA = 3,
ELEMENT_TYPE_LIGHT = 4,
#endif // MI_SKIP_WITH_MDL_SDK_DOXYGEN
ELEMENT_TYPE_LIGHTPROFILE = 5,
ELEMENT_TYPE_TEXTURE = 7,
ELEMENT_TYPE_IMAGE = 8,
#ifndef MI_SKIP_WITH_MDL_SDK_DOXYGEN
ELEMENT_TYPE_TRIANGLE_MESH = 10,
ELEMENT_TYPE_ATTRIBUTE_CONTAINER = 16,
ELEMENT_TYPE_POLYGON_MESH = 18,
ELEMENT_TYPE_SUBDIVISION_SURFACE = 23,
ELEMENT_TYPE_FREEFORM_SURFACE = 24,
ELEMENT_TYPE_FIBERS = 25,
ELEMENT_TYPE_VOLUME = 26,
ELEMENT_TYPE_VOLUME_DATA = 27,
ELEMENT_TYPE_PARTICLES = 28,
#endif // MI_SKIP_WITH_MDL_SDK_DOXYGEN
ELEMENT_TYPE_MODULE = 29,
ELEMENT_TYPE_FUNCTION_DEFINITION = 30,
ELEMENT_TYPE_FUNCTION_CALL = 31,
ELEMENT_TYPE_MATERIAL_INSTANCE = 33,
ELEMENT_TYPE_COMPILED_MATERIAL = 34,
ELEMENT_TYPE_BSDF_MEASUREMENT = 35,
#ifndef MI_SKIP_WITH_MDL_SDK_DOXYGEN
ELEMENT_TYPE_IRRADIANCE_PROBES = 36,
ELEMENT_TYPE_DECAL = 37,
ELEMENT_TYPE_ON_DEMAND_MESH = 38,
ELEMENT_TYPE_PROJECTOR = 39,
ELEMENT_TYPE_SECTION_OBJECT = 40,
ELEMENT_TYPE_PROXY = 41,
#endif // MI_SKIP_WITH_MDL_SDK_DOXYGEN
ELEMENT_TYPE_FORCE_32_BIT = 0xffffffffU
};
mi_static_assert( sizeof( Element_type)== sizeof( Uint32));
class IScene_element :
public base::Interface_declare<0x8a2a4da9,0xe323,0x452c,0xb8,0xda,0x92,0x45,0x67,0x85,0xd7,0x78,
neuraylib::IAttribute_set>
{
public:
virtual Element_type
get_element_type() const = 0;
};
// end group mi_neuray_scene_element
} // namespace neuraylib
} // namespace mi
#endif // MI_NEURAYLIB_ISCENE_ELEMENT_H
Namespaces
- namespace
- Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
- namespace
- Namespace for the neuray API. More...
Classes
- class
- Common base interface for all scene elements. More...
Enumerations
- enum {ELEMENT_TYPE_INSTANCE = 0, ELEMENT_TYPE_GROUP = 1, ELEMENT_TYPE_OPTIONS = 2, ELEMENT_TYPE_CAMERA = 3, ELEMENT_TYPE_LIGHT = 4, ELEMENT_TYPE_LIGHTPROFILE = 5, ELEMENT_TYPE_TEXTURE = 7, ELEMENT_TYPE_IMAGE = 8, ELEMENT_TYPE_TRIANGLE_MESH = 10, ELEMENT_TYPE_ATTRIBUTE_CONTAINER = 16, ELEMENT_TYPE_POLYGON_MESH = 18, ELEMENT_TYPE_SUBDIVISION_SURFACE = 23, ELEMENT_TYPE_FREEFORM_SURFACE = 24, ELEMENT_TYPE_FIBERS = 25, ELEMENT_TYPE_VOLUME = 26, ELEMENT_TYPE_VOLUME_DATA = 27, ELEMENT_TYPE_PARTICLES = 28, ELEMENT_TYPE_MODULE = 29, ELEMENT_TYPE_FUNCTION_DEFINITION = 30, ELEMENT_TYPE_FUNCTION_CALL = 31, ELEMENT_TYPE_MATERIAL_INSTANCE = 33, ELEMENT_TYPE_COMPILED_MATERIAL = 34, ELEMENT_TYPE_BSDF_MEASUREMENT = 35, ELEMENT_TYPE_IRRADIANCE_PROBES = 36, ELEMENT_TYPE_DECAL = 37, ELEMENT_TYPE_ON_DEMAND_MESH = 38, ELEMENT_TYPE_PROJECTOR = 39, ELEMENT_TYPE_SECTION_OBJECT = 40, ELEMENT_TYPE_PROXY = 41, ELEMENT_TYPE_FORCE_32_BIT = 0xffffffffU }
- Distinguishes scene elements. More...