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

Projectors are functions that generate texture coordinates for a particular texture space. More...

#include <iprojector.h>

Inheritance diagram for mi::neuraylib::IProjector:

Public Member Functions

virtual const char * get_projector () const =0
 Returns the name of the projector, or NULL if no projector is set. More...
 
virtual Sint32 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...
 
- 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< 0x5f07ad1a, ... >
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< 0x5f07ad1a, ... >
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

Projectors are functions that generate texture coordinates for a particular texture space.

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

Member Function Documentation

 get_projector()

virtual const char * mi::neuraylib::IProjector::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::IProjector::get_texture_space ( ) const
pure virtual

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

The default index is 0.

 set_projector()

virtual Sint32 mi::neuraylib::IProjector::set_projector ( const char *  name)
pure virtual

Sets the projector.

This is the actual projector, i.e., the MDL function call that represents the mapping.

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 this DB element because it is in a more private scope than the DB element.
  • -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::IProjector::set_texture_space ( Uint32  index)
pure virtual

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