neuray API Programmer's Manual

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...