#include <mi_shader_if.h>
Public Member Functions | |
| virtual Options * | getOptions (miTag string_options) | 
| Access to string options.   | |
| virtual miTag | createFramebuffer () | 
| Framebuffer factory function.   | |
| virtual miTag | copyFramebuffer (miTag old_buffer_tag) | 
| Creates a copy of the framebuffer collection.   | |
| virtual LightList * | createLightList (miState *state, miTag *slist=0, int n=0) | 
| Deprecated. Used internally by LightIterator to create a light list.   | |
| virtual void | release () | 
| release (delete) the instance of the interface   | |
| virtual LightList * | createLightList (miState *state, const miVector &axis, miScalar spread_cos, miTag *slist=0, int n=0) | 
| Used internally by LightIterator to create a light list.   | |
| virtual Map_edit_dbhandle * | createMap (const Map_declaration *map_declaration=0) | 
| creation of Map.   | |
| virtual Map_access_dbhandle * | accessMap (const miTag map_tag) | 
| read-only access to a Map in the DB.   | |
| virtual Map_edit_dbhandle * | editMap (const miTag map_tag) | 
| read-write access to a Map in the DB.   | |
| virtual Map_access_dbhandle * | accessMap (const char *filename, Map_status *status) | 
| read-only access to a Map read from file.   | |
| virtual Map_edit_dbhandle * | editMap (const char *filename, Map_status *status) | 
| read-write access to a Map read from file.   | |
| virtual Map_declaration * | createMapDeclaration (const miUint dimension) | 
| creation of a Map_declaration.   | |
| virtual Map_declaration * | copyMapDeclaration (const Map_declaration *other, Map_status *status) | 
| copy of a Map_declaration.   | |
| virtual Map_declaration * | copyMapDeclaration (const Map_element *map_element, Map_status *status) | 
| copy of the Map_declaration of a Map element   | |
| virtual Map_declaration * | copyMapDeclaration (const Map_access &map, Map_status *status) | 
| copy of the Map_declaration of a Map.   | |
| virtual Map_declaration * | copyMapDeclaration (const Map_edit &map, Map_status *status) | 
| copy of the Map_declaration of a Map.   | |
| virtual Map_element * | createMapElement (const Map_declaration *declaration=0) | 
| creation of a Map_element.   | |
| virtual Map_element * | copyMapElement (const Map_element *other) | 
| copy of a Map_element.   | |
| virtual Map_iterator * | createMapIterator (const Map *map, Map_status *status) | 
| creation of a Map_iterator.   | |
| virtual Map_iterator * | copyMapIterator (const Map_iterator *other, Map_status *status) | 
| copy of a Map_iterator.   | |
| virtual Map_lookup * | createMapLookup (const Map *map, Map_status *status) | 
| creation of a Map_lookup.   | |
| virtual Map_lookup * | copyMapLookup (const Map_lookup *other, Map_status *status) | 
| copy of a Map_lookup.   | |
Static Public Member Functions | |
| Interface * | get (int version=mi_ray_interface_version) | 
| acquire an instance of the interface   | |
Friends | |
| class | Access_bsdf | 
This class is the top level access to the C++ shader interface extensions. All other C++ extensions like mi::shader::Options and mi::shader::LightIterator are accessible through this class.
An instance of the Interface must be acquired by calling mi_get_shader_interface() or the static method Interface::get(). When the interface is no more needed, it must be released by calling Interface::release():
mi::shader::Interface *iface = mi::shader::Interface::get(); // do something with it... iface->release();
The C++ interface extensions are implemented as virtual functions in this interface struct in order to avoid linking and symbol lookup problems. The interface is defined in the header file mi_shader_if.h.
      
  | 
  ||||||||||||
| 
 read-only access to a Map read from file. This function is wrapped by the Map_access class and should not be used directly 
 
  | 
  
      
  | 
  
| 
 read-only access to a Map in the DB. This function is wrapped by the Map_access class and should not be used directly 
 
  | 
  
      
  | 
  
| 
 Creates a copy of the framebuffer collection. 
 
 
  | 
  
      
  | 
  ||||||||||||
| 
 copy of the Map_declaration of a Map. This function is wrapped by the Map_declaration_handle class and should not be used directly 
 
  | 
  
      
  | 
  ||||||||||||
| 
 copy of the Map_declaration of a Map. This function is wrapped by the Map_declaration_handle class and should not be used directly 
 
  | 
  
      
  | 
  ||||||||||||
| 
 copy of the Map_declaration of a Map element This function is wrapped by the Map_declaration_handle class and should not be used directly 
 
  | 
  
      
  | 
  ||||||||||||
| 
 copy of a Map_declaration. This function is wrapped by the Map_declaration_handle class and should not be used directly 
 
  | 
  
      
  | 
  
| 
 copy of a Map_element. This function is wrapped by the Map_element_handle class and should not be used directly 
 
  | 
  
      
  | 
  ||||||||||||
| 
 copy of a Map_iterator. This function is wrapped by the Map_iterator_access/edit classes and should not be used directly 
 
  | 
  
      
  | 
  ||||||||||||
| 
 copy of a Map_lookup. This function is wrapped by the Map_lookup_handle class and should not be used directly 
 
  | 
  
      
  | 
  
| 
 Framebuffer factory function. 
 
  | 
  
      
  | 
  ||||||||||||||||||||||||
| 
 Used internally by LightIterator to create a light list. This may be used to generate light iterators. This method is needed by the LightIterator::LightIterator() constructor. Usually there is no need to invoke this method directly. 
 
  | 
  
      
  | 
  ||||||||||||||||
| 
 Deprecated. Used internally by LightIterator to create a light list. This may be used to generate light iterators. This method is needed by the LightIterator::LightIterator() constructor. Usually there is no need to invoke this method directly. 
 
  | 
  
      
  | 
  
| 
 creation of Map. This function is wrapped by the Map_edit class and should not be used directly 
 
  | 
  
      
  | 
  
| 
 creation of a Map_declaration. This function is wrapped by the Map_declaration_handle class and should not be used directly 
 
  | 
  
      
  | 
  
| 
 creation of a Map_element. This function is wrapped by the Map_element_handle class and should not be used directly 
 
  | 
  
      
  | 
  ||||||||||||
| 
 creation of a Map_iterator. This function is wrapped by the Map_iterator_access/edit classes and should not be used directly 
 
  | 
  
      
  | 
  ||||||||||||
| 
 creation of a Map_lookup. This function is wrapped by the Map_lookup_handle class and should not be used directly 
 
  | 
  
      
  | 
  ||||||||||||
| 
 read-write access to a Map read from file. This function is wrapped by the Map_edit class and should not be used directly 
 
  | 
  
      
  | 
  
| 
 read-write access to a Map in the DB. This function is wrapped by the Map_edit class and should not be used directly 
 
  | 
  
      
  | 
  
| 
 acquire an instance of the interface This static method is equivalent to the function mi_get_shader_interface(), see there fore more information. This static function can be used as follows: mi::shader::Interface *iface = mi::shader::Interface::get(); 
 
  | 
  
      
  | 
  
| 
 Access to string options. This may later be extended to also access all other options from the miOptions structure. This function can be used as follows: Options *stringOptions = interface->getOptions(options->string_options); 
 
  | 
  
      
  | 
  
| 
 release (delete) the instance of the interface An interface acquired with mi_get_shader_interface() or mi::shader::Interface::get() must be released with this call when done. The call may delete the object, and the interface may no longer be used afterwards.  | 
  
Copyright © 1986-2008 by
mental images GmbH