Iray SDK API nvidia_logo_transpbg.gif Up
idecal.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2024 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_IDECAL_H
8#define MI_NEURAYLIB_IDECAL_H
9
12
13namespace mi {
14
15namespace neuraylib {
16
39 DECAL_FACE_MODE_FORCE_32_BIT = 0xffffffffU
40};
41
42mi_static_assert( sizeof( Decal_face_mode) == sizeof( Uint32));
43
54class IDecal :
55 public base::Interface_declare<0x6a21efd3,0xa858,0x41c5,0xa4,0xea,0x4b,0x93,0x94,0xf5,0x43,0x67,
56 neuraylib::IScene_element>
57{
58public:
63 virtual Bbox3_struct get_clipping_box() const = 0;
64
66 virtual void set_clipping_box( const Bbox3_struct& clipping_box) = 0;
67
73
75 virtual void set_uvw_clipping_box( const Bbox3_struct& uvw_clipping_box) = 0;
76
78 virtual const char* get_projector() const = 0;
79
92 virtual Uint32 set_projector( const char* name) = 0;
93
97 virtual Uint32 get_texture_space() const = 0;
98
100 virtual void set_texture_space( Uint32 index) = 0;
101
107 virtual Sint32 get_priority() const = 0;
108
110 virtual void set_priority( Sint32 priority) = 0;
111
113 virtual Decal_face_mode get_face_mode() const = 0;
114
116 virtual void set_face_mode( Decal_face_mode face_mode) = 0;
117};
118 // end group mi_neuray_misc
120
121} // namespace neuraylib
122
123} // namespace mi
124
125#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:57
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 NULL if no projector is set.
virtual Bbox3_struct get_uvw_clipping_box() const =0
Returns the uvw clipping box of the decal.
#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
signed int Sint32
32-bit signed integer.
Definition: types.h:46
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:32
@ DECAL_ON_BACK_FACE
The decal is only applied on the back face of the object.
Definition: idecal.h:36
@ DECAL_ON_FRONT_AND_BACK_FACE
The decal is applied on the front and on the back face of the object.
Definition: idecal.h:38
@ DECAL_ON_FRONT_FACE
The decal is only applied on the front face of the object.
Definition: idecal.h:34
Base class for all scene elements.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: neuraylib.h:179
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.