Iray SDK API nvidia_logo_transpbg.gif Up
iscene.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2025 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_ISCENE_H
8#define MI_NEURAYLIB_ISCENE_H
9
12#include <mi/neuraylib/version.h> // for MI_NEURAYLIB_DEPRECATED_ENUM_VALUE
13
14namespace mi {
15
16class IString;
17
18namespace neuraylib {
19
20class IRender_context;
21class ITransaction;
22
43class IScene : public
44 mi::base::Interface_declare<0x44e2a997,0x8a86,0x468d,0x8d,0x31,0xed,0x93,0xc0,0xb9,0xac,0x83>
45{
46public:
62 virtual Sint32 set_rootgroup( const char* root) = 0;
63
67 virtual const IString* get_rootgroup() const = 0;
68
84 virtual Sint32 set_options( const char* options) = 0;
85
89 virtual const IString* get_options() const = 0;
90
108 virtual Sint32 set_camera_instance( const char* camera) = 0;
109
113 virtual const IString* get_camera_instance() const = 0;
114
128 virtual Bbox3_struct get_bbox( Sint32* errors = nullptr) = 0;
129
159 ITransaction* transaction, const char* render_mode, Sint32* errors = nullptr) = 0;
160
169 {
172
176 MI_NEURAYLIB_DEPRECATED_ENUM_VALUE(DIRTY_FORCE_32_BIT, 0xffffffffU)
177 };
178
187 virtual Sint32 set_dirty( Uint32 flags = 0 ) = 0;
188};
189 // end group mi_neuray_rendering
191
192} // namespace neuraylib
193
194} // namespace mi
195
196#endif // MI_NEURAYLIB_ISCENE_H
A simple string class.
Definition: istring.h:22
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
This interface is used for doing actual rendering and picking.
Definition: irender_context.h:41
The scene is the top-level element describing a subset of DB elements to be rendered.
Definition: iscene.h:45
virtual Sint32 set_camera_instance(const char *camera)=0
Sets the camera instance of this scene.
virtual Sint32 set_dirty(Uint32 flags=0)=0
Marks as dirty some parts of the scene which will be recomputed.
virtual IRender_context * create_render_context(ITransaction *transaction, const char *render_mode, Sint32 *errors=nullptr)=0
Creates a render context suitable for rendering the scene with a given render mode.
virtual Sint32 set_options(const char *options)=0
Sets the options of this scene.
Dirty_flags
Different flags for specifying what is dirty in the scene and needs recomputing.
Definition: iscene.h:169
@ DIRTY_INSTANCE_TRANSFORMS
Set the instance transforms as dirty.
Definition: iscene.h:175
@ DIRTY_NONE
No flags.
Definition: iscene.h:171
virtual Bbox3_struct get_bbox(Sint32 *errors=nullptr)=0
Returns the bounding box of this scene.
virtual Sint32 set_rootgroup(const char *root)=0
Sets the root group of this scene.
virtual const IString * get_camera_instance() const =0
Returns the name of the camera instance of this scene.
virtual const IString * get_options() const =0
Returns the name of the options of this scene.
virtual const IString * get_rootgroup() const =0
Returns the name of the root group of this scene.
A transaction provides a consistent view on the database.
Definition: itransaction.h:82
int Sint32
32-bit signed integer.
Definition: types.h:46
unsigned int Uint32
32-bit unsigned integer.
Definition: types.h:49
Mixin class template for deriving new interface declarations.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: neuraylib.h:179
Major and minor version number and an optional qualifier.
Storage class for an axis-aligned N-dimensional bounding box class template of fixed dimension.
Definition: bbox.h:47
Typedefs for types from the math API.