Iray SDK API nvidia_logo_transpbg.gif Up
mi::neuraylib::IDecal Class Referenceabstract

Decals are sticker-like objects that can be applied to other geometry objects. More...

#include <idecal.h>

Inheritance diagram for mi::neuraylib::IDecal:

Public Member Functions

virtual Bbox3_struct get_clipping_box () const =0
 Returns the clipping box of the decal. More...
 
virtual void set_clipping_box (const Bbox3_struct &clipping_box)=0
 Sets the clipping box of the decal. More...
 
virtual Bbox3_struct get_uvw_clipping_box () const =0
 Returns the uvw clipping box of the decal. More...
 
virtual void set_uvw_clipping_box (const Bbox3_struct &uvw_clipping_box)=0
 Sets the uvw clipping box of the decal. More...
 
virtual const char * get_projector () const =0
 Returns the name of the projector, or NULL if no projector is set. More...
 
virtual Uint32 set_projector (const char *name)=0
 Sets the projector. More...
 
virtual Uint32 get_texture_space () const =0
 Returns the index of the texture space to be used by the projector. More...
 
virtual void set_texture_space (Uint32 index)=0
 Sets the index of the texture space to be used by the projector. More...
 
virtual Sint32 get_priority () const =0
 Returns the priority of the decal. More...
 
virtual void set_priority (Sint32 priority)=0
 Sets the priority of the decal. More...
 
virtual Decal_face_mode get_face_mode () const =0
 Returns the face(s) of the object on which the decal is applied. More...
 
virtual void set_face_mode (Decal_face_mode face_mode)=0
 Sets the face(s) of the object on which the decal is applied. More...
 
- Public Member Functions inherited from mi::neuraylib::IScene_element
virtual Element_type get_element_type () const =0
 Indicates the actual scene element represented by interfaces derived from this interface. More...
 
- Public Member Functions inherited from mi::neuraylib::IAttribute_set
virtual IDatacreate_attribute (const char *name, const char *type)=0
 Creates a new attribute name of the type type. More...
 
template<class T>
T * create_attribute (const char *name, const char *type)
 Creates a new attribute name of the type type. More...
 
template<class T>
T * create_attribute (const char *name)
 Creates a new attribute name of the type T. More...
 
virtual bool destroy_attribute (const char *name)=0
 Destroys the attribute name. More...
 
virtual const IDataaccess_attribute (const char *name) const =0
 Returns a const pointer to the attribute name. More...
 
template<class T>
const T * access_attribute (const char *name) const
 Returns a const pointer to the attribute name. More...
 
virtual IDataedit_attribute (const char *name)=0
 Returns a mutable pointer to the attribute name. More...
 
template<class T>
T * edit_attribute (const char *name)
 Returns a mutable pointer to the attribute name. More...
 
virtual bool is_attribute (const char *name) const =0
 Indicates existence of an attribute. More...
 
virtual const char * get_attribute_type_name (const char *name) const =0
 Returns the type of an attribute. More...
 
virtual Sint32 set_attribute_propagation (const char *name, Propagation_type value)=0
 Sets the propagation type of the attribute name. More...
 
virtual Propagation_type get_attribute_propagation (const char *name) const =0
 Returns the propagation type of the attribute name. More...
 
virtual const char * enumerate_attributes (Sint32 index) const =0
 Returns the name of the attribute indicated by index. More...
 
- Public Member Functions inherited from mi::base::IInterface
virtual Uint32 retain () const =0
 Increments the reference count. More...
 
virtual Uint32 release () const =0
 Decrements the reference count. More...
 
virtual const IInterfaceget_interface (const Uuid &interface_id) const =0
 Acquires a const interface from another. More...
 
template<class T>
const T * get_interface () const
 Acquires a const interface from another. More...
 
virtual IInterfaceget_interface (const Uuid &interface_id)=0
 Acquires a mutable interface from another. More...
 
template<class T>
T * get_interface ()
 Acquires a mutable interface from another. More...
 
virtual Uuid get_iid () const =0
 Returns the interface ID of the most derived interface. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0x6a21efd3, ... >
typedef Interface_declare< id1, ... > Self
 Own type. More...
 
typedef Uuid_t< id1, ... > IID
 Declares the interface ID (IID) of this interface. More...
 
- Public Types inherited from mi::base::Interface_declare< 0x8a2a4da9, ... >
typedef Interface_declare< id1, ... > Self
 Own type. More...
 
typedef Uuid_t< id1, ... > IID
 Declares the interface ID (IID) of this interface. More...
 
- Public Types inherited from mi::base::Interface_declare< 0x1bcb8d48, ... >
typedef Interface_declare< id1, ... > Self
 Own type. More...
 
typedef Uuid_t< id1, ... > IID
 Declares the interface ID (IID) of this interface. More...
 
- Public Types inherited from mi::base::IInterface
typedef Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> IID
 Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x6a21efd3, ... >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x8a2a4da9, ... >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x1bcb8d48, ... >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 
- Static Public Member Functions inherited from mi::base::IInterface
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface. More...
 

Detailed Description

Decals are sticker-like objects that can be applied to other geometry objects.

The geometry of a decal in object space is a unit square centered at the origin in the x-y-plane facing positive z-direction. It can be transformed as usual using mi::neuraylib::IInstance nodes. As for other geometry objects, the material attribute determines its look.

Note that decals are not independent scene objects like geometry objects. Decals are always applied to other scene objects. To reflect this, decals are not placed into the scene by adding them (or instances of them) to groups. Instead, decals are attached to other scene nodes via the attribute decals. See mi::neuraylib::IAttribute_set for details.

Member Function Documentation

 get_clipping_box()

virtual Bbox3_struct mi::neuraylib::IDecal::get_clipping_box ( ) const
pure virtual

Returns the clipping box of the decal.

The clipping box limits the effects of the projected decal. The default clipping box is unbounded.

 get_face_mode()

virtual Decal_face_mode mi::neuraylib::IDecal::get_face_mode ( ) const
pure virtual

Returns the face(s) of the object on which the decal is applied.

 get_priority()

virtual Sint32 mi::neuraylib::IDecal::get_priority ( ) const
pure virtual

Returns the priority of the decal.

The priority of a decal controls the ordering in case of overlapping decals. Decals with higher priority are positioned on top of decals with lower priority. The default priority is 0.

 get_projector()

virtual const char * mi::neuraylib::IDecal::get_projector ( ) const
pure virtual

Returns the name of the projector, or NULL if no projector is set.

 get_texture_space()

virtual Uint32 mi::neuraylib::IDecal::get_texture_space ( ) const
pure virtual

Returns the index of the texture space to be used by the projector.

The default index is 0.

 get_uvw_clipping_box()

virtual Bbox3_struct mi::neuraylib::IDecal::get_uvw_clipping_box ( ) const
pure virtual

Returns the uvw clipping box of the decal.

The uvw clipping box limits the effects of the projected decal in uvw space. The default clipping box is unbounded.

 set_clipping_box()

virtual void mi::neuraylib::IDecal::set_clipping_box ( const Bbox3_struct clipping_box)
pure virtual

Sets the clipping box of the decal.

 set_face_mode()

virtual void mi::neuraylib::IDecal::set_face_mode ( Decal_face_mode  face_mode)
pure virtual

Sets the face(s) of the object on which the decal is applied.

 set_priority()

virtual void mi::neuraylib::IDecal::set_priority ( Sint32  priority)
pure virtual

Sets the priority of the decal.

 set_projector()

virtual Uint32 mi::neuraylib::IDecal::set_projector ( const char *  name)
pure virtual

Sets the projector.

Parameters
nameThe name of the projector, or NULL to remove the current projector.
Returns
  • 0: Success.
  • -2: There is no element with that name.
  • -3: The projector can not be attached to the decal because it is in a more private scope than the decal.
  • -4: The projector does not have the correct type mi::neuraylib::IFunction_call.
  • -5: The projector does not have the correct return type "::base::texture_coordinate_info".

 set_texture_space()

virtual void mi::neuraylib::IDecal::set_texture_space ( Uint32  index)
pure virtual

Sets the index of the texture space to be used by the projector.

 set_uvw_clipping_box()

virtual void mi::neuraylib::IDecal::set_uvw_clipping_box ( const Bbox3_struct uvw_clipping_box)
pure virtual

Sets the uvw clipping box of the decal.