#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 Edit_map_dbhandle * | createMap (const Map_declaration_base *map_declaration=0) |
creation of map. | |
virtual Access_map_dbhandle * | accessMap (const miTag map_tag) |
read-only access to a map in the DB. | |
virtual Edit_map_dbhandle * | editMap (const miTag map_tag) |
read-write access to a map in the DB. | |
virtual Access_map_dbhandle * | accessMap (const char *filename, Map_status *status) |
read-only access to a map to be read from file. | |
virtual Edit_map_dbhandle * | editMap (const char *filename, Map_status *status) |
read-write access to a map to be read from file. | |
virtual Map_declaration_base * | createMapDeclaration (const miUint dimension) |
creation of a map declaration. | |
virtual Map_declaration_base * | copyMapDeclaration (const Map_declaration_base *other, Map_status *status) |
copy of a map declaration. | |
virtual Map_declaration_base * | copyMapDeclaration (const Map_element_base *map_element, Map_status *status) |
copy of the declaration of a map element. | |
virtual Map_declaration_base * | copyMapDeclaration (const Map_base *map, Map_status *status) |
copy of the declaration of a map. | |
virtual Map_element_base * | createMapElement (const Map_declaration_base *declaration=0) |
creation of a map element. | |
virtual Map_element_base * | copyMapElement (const Map_element_base *other) |
copy of a map element. | |
virtual Map_iterator_base * | createMapIterator (const Map_base *map, Map_status *status) |
creation of a map iterator. | |
virtual Map_iterator_base * | copyMapIterator (const Map_iterator_base *other, Map_status *status) |
copy of a map iterator. | |
virtual Map_lookup_base * | createMapLookup (const Map_base *map, Map_status *status) |
creation of a map lookup. | |
virtual Map_lookup_base * | copyMapLookup (const Map_lookup_base *other, Map_status *status) |
copy of a map lookup. | |
virtual Subdivision34 * | accessSubdivision34 (miTag tag) |
provide access to (allocate) the Subdivision34 class | |
virtual void | releaseSubdivision34 (const Subdivision34 *subdiv34) |
release (delete) the Subdivision34 class | |
Static Public Member Functions | |
Interface * | get (int version=mi_ray_interface_version) |
acquire an instance of the interface |
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 to be read from file. This function is wrapped by the Access_map class and should not be used directly
|
|
read-only access to a map in the DB. This function is wrapped by the Access_map class and should not be used directly
|
|
provide access to (allocate) the Subdivision34 class
|
|
Creates a copy of the framebuffer collection.
|
|
copy of the declaration of a map. This function is wrapped by the Map_declaration class and should not be used directly
|
|
copy of the declaration of a map element. This function is wrapped by the Map_declaration class and should not be used directly
|
|
copy of a map declaration. This function is wrapped by the Map_declaration class and should not be used directly
|
|
copy of a map element. This function is wrapped by the Map_element 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 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 Edit_map class and should not be used directly.
|
|
creation of a map declaration. This function is wrapped by the Map_declaration class and should not be used directly
|
|
creation of a map element. This function is wrapped by the Map_element class and should not be used directly
|
|
creation of a map iterator. This function is wrapped by the Access_map_iterator/edit classes and should not be used directly
|
|
creation of a map lookup. This function is wrapped by the Map_lookup class and should not be used directly
|
|
read-write access to a map to be read from file. This function is wrapped by the Edit_map class and should not be used directly
|
|
read-write access to a map in the DB. This function is wrapped by the Edit_map 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. |
|
release (delete) the Subdivision34 class
|
Copyright © 1986-2009 by
mental images GmbH