Iray SDK API nvidia_logo_transpbg.gif Up
idecal.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2025 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_IDECAL_H
8#define MI_NEURAYLIB_IDECAL_H
9
12#include <mi/neuraylib/version.h> // for MI_NEURAYLIB_DEPRECATED_ENUM_VALUE
13
14namespace mi {
15
16namespace neuraylib {
17
40 MI_NEURAYLIB_DEPRECATED_ENUM_VALUE(DECAL_FACE_MODE_FORCE_32_BIT, 0xffffffffU)
41};
42
53class IDecal :
54 public base::Interface_declare<0x6a21efd3,0xa858,0x41c5,0xa4,0xea,0x4b,0x93,0x94,0xf5,0x43,0x67,
55 neuraylib::IScene_element>
56{
57public:
62 virtual Bbox3_struct get_clipping_box() const = 0;
63
65 virtual void set_clipping_box( const Bbox3_struct& clipping_box) = 0;
66
72
74 virtual void set_uvw_clipping_box( const Bbox3_struct& uvw_clipping_box) = 0;
75
77 virtual const char* get_projector() const = 0;
78
91 virtual Uint32 set_projector( const char* name) = 0;
92
96 virtual Uint32 get_texture_space() const = 0;
97
99 virtual void set_texture_space( Uint32 index) = 0;
100
106 virtual Sint32 get_priority() const = 0;
107
109 virtual void set_priority( Sint32 priority) = 0;
110
112 virtual Decal_face_mode get_face_mode() const = 0;
113
115 virtual void set_face_mode( Decal_face_mode face_mode) = 0;
116};
117 // end group mi_neuray_misc
119
120} // namespace neuraylib
121
122} // namespace mi
123
124#endif // MI_NEURAYLIB_IDECAL_H
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
Decals are sticker-like objects that can be applied to other geometry objects.
Definition: idecal.h:56
virtual void set_priority(Sint32 priority)=0
Sets the priority of the decal.
virtual Decal_face_mode get_face_mode() const =0
Returns the face(s) of the object on which the decal is applied.
virtual void set_texture_space(Uint32 index)=0
Sets the index of the texture space to be used by the projector.
virtual Uint32 get_texture_space() const =0
Returns the index of the texture space to be used by the projector.
virtual void set_clipping_box(const Bbox3_struct &clipping_box)=0
Sets the clipping box of the decal.
virtual Sint32 get_priority() const =0
Returns the priority of the decal.
virtual void set_uvw_clipping_box(const Bbox3_struct &uvw_clipping_box)=0
Sets the uvw clipping box of the decal.
virtual Bbox3_struct get_clipping_box() const =0
Returns the clipping box of the decal.
virtual Uint32 set_projector(const char *name)=0
Sets the projector.
virtual void set_face_mode(Decal_face_mode face_mode)=0
Sets the face(s) of the object on which the decal is applied.
virtual const char * get_projector() const =0
Returns the name of the projector, or nullptr if no projector is set.
virtual Bbox3_struct get_uvw_clipping_box() const =0
Returns the uvw clipping box of the decal.
int Sint32
32-bit signed integer.
Definition: types.h:46
unsigned int Uint32
32-bit unsigned integer.
Definition: types.h:49
Decal_face_mode
This enum controls whether the decal is applied on the front face, back face, or both faces of the ob...
Definition: idecal.h:33
@ DECAL_ON_BACK_FACE
The decal is only applied on the back face of the object.
Definition: idecal.h:37
@ DECAL_ON_FRONT_AND_BACK_FACE
The decal is applied on the front and on the back face of the object.
Definition: idecal.h:39
@ DECAL_ON_FRONT_FACE
The decal is only applied on the front face of the object.
Definition: idecal.h:35
Base class for all scene elements.
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.